• 【学习总结】 小白CS成长之路


    2017-9-3:入坑。

    理想:敲着代码唱着歌。

    现实:骨感。

    Step 1: 认识CS:

    CS大体可以分成以下几个大领域:硬件、系统、软件、网络、计算理论、计算方法。

    硬 件 ———— 数字电路、集成电路、存储器、各种硬件设计和验证方法等。
    系 统 ———— 计算机架构(指令集、串/并行、网格、云端之类)、嵌入式、实时系统等。
    软 件 ———— 操作系统、虚拟机、编程语言、软件设计/开发/验证的工具和方法论等。
    网 络 ———— 计算机网络的架构、协议、组件、路径算法、性能分析等。
    计算理论 —— 可计算性、形式语言和自动机、密码、逻辑、算法分析等。
    计算方法 —— 数值计算、符号计算、并行计算、计算机图形学、人工智能、机器学习等。
    

    Step 2: CS三大类:基础知识、领域知识、碎片知识

    基础知识:必须掌握的通识性质的内容
    
    领域知识:要精研某个方向是索要掌握的知识
    
    碎片知识:一些实践中经常用的技巧或者一些不成体系、很零碎、很有用的秤砣子
    

    1、基础知识:数学+计算机五大件

    线代>概率>微积分
    
    计算机五大件:数据结构、计算机组成原理、操作系统、计算机网络、编译原理
    
    若干门编程语言:静态/动态、面向过程/面向对象、编译/解释
    组合比如:C++、C#、Lua(写游戏),Java、JS、Python/PHP(偏web一点),C++、Python、MATLAB(科学计算)
    
    软件工程的必要知识:bug、设计模式、单例、工厂、装饰器等等。
    

    2、领域知识:基础之外,掌握至少一个方面的领域知识。

    3、碎片知识:

    调试:二分调试、单步调试/入职输出调试、小黄鸭调试法。利用操作系统提供的工具攻击进程、抓包。等等。
    
    工具:各种IDE、编辑器、包管理、Diff工具、工作流管理。等等。
    
    检索信息:查找一手资料、查找官方文档、快速切入一个新的库或者项目。等等。
    
    开源文化:加入社区、为开源项目做贡献、编写文档。等等。
    
    版本管理:分支合并、解决冲突、合作、回滚。等等。
    
    等等。
    

    Step 3:学习进程

    (title + 总结博文链接)

  • 相关阅读:
    onclick中的函数的参数this
    classList的使用
    设置点击鼠标时不跳转
    模块补充shutil,logging
    re模块拾遗和递归函数
    正则表达式-re模块
    软件开发规范
    自定义模块2
    常用模块
    初识自定义模块
  • 原文地址:https://www.cnblogs.com/anliux/p/7903126.html
Copyright © 2020-2023  润新知