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 + 总结博文链接)

【学习总结】 小白CS成长之路的更多相关文章

  1. 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  2. 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》

    <菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...

  3. [转载]AxureRP学习成长之路

    [编者按]本文作者@朱军华Ronzhu , 本文借用官网的描述定义,介绍了在学习AxureRP过程当中所要经历的各个阶段,也结合了作者自身学习AxureRP使用的经验,讲一下在各个阶段中的一些学习方法 ...

  4. linux小白成长之路10————SpringBoot项目部署进阶

    [内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...

  5. 从开源小白到 Apache Member,我的成长之路

    我们走过的每一步路,都会留下印记,越坚实,越清晰. 近日,Apache 软件基金会(ASF)官方 Blog 宣布全球新增 40 位 Apache Member,张乎兴有幸成为其中一位. 目前,全球共有 ...

  6. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  7. redis成长之路——(二)

    redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...

  8. 【腾讯Bugly干货分享】JSPatch 成长之路

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579efa7083355a9a57a1ac5b Dev Club 是一个交流移动 ...

  9. java 成长之路[轉載u]

    分享总结title: java 成长之路tags:grammar_cjkRuby: true 经验差异 1-3年 要求 建议 3-5年 建议 5年+ 经验差异 最近一年比较忙,经历了创业公司的倒闭.这 ...

随机推荐

  1. 使用Docker在本地搭建Hadoop分布式集群

    学习Hadoop集群环境搭建是Hadoop入门必经之路.搭建分布式集群通常有两个办法: 要么找多台机器来部署(常常找不到机器) 或者在本地开多个虚拟机(开销很大,对宿主机器性能要求高,光是安装多个虚拟 ...

  2. 去除列表中的\n 和空字符

    s=['\n', 'magnet:?xt=urn:btih:060C0CE5CFAE29A48102280B88943880689859FC\n'] 上面是目标代码,一个列表,中间有\n,我们现在将其 ...

  3. js中arguments详解

    在js中一切都是对象,连函数也是对象,函数名其实是引用函数定义对象的变量. 什么是arguments? 这个函数体内的arguments非常特殊,实际上是所在函数的一个内置类数组对象,可以用数组的[i ...

  4. Java和Php比较

    这样从几个方面来看:一.运行机制:Java代码被编译成字节码后,会在虚拟机里由JIT进行二次编译成为本地码,据传言其执行速度可以和C++相媲美,经过我自己测试,用Java实现一个简单的Memcache ...

  5. oracle 多版本

    并发控制 concurrency control 数据库提供的函数集合,允许多个人同时访问和修改数据. 锁(lock)是Oracle管理共享数据库资源并发访问并防止并发数据库事务之间“相互干涉”的核心 ...

  6. y7000笔记本 darknet-yolo安装与测试(Ubuntu18.04+Cuda9.0+Cudnn7.1)

    环境配置看上一贴 https://www.cnblogs.com/clemente/p/10386479.html 1 安装darknet 1-1 克隆darknet repo git clone h ...

  7. PHP删除数组中空值的方法介绍

    这篇文章主要介绍了PHP删除数组中空值的方法介绍,需要的朋友可以参考下 说来惭愧,以前在去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下: ...

  8. 004_centos安装pip的几种方式及pip源

    一. (1) yum -y install epel-release yum install python-pip pip install --upgrade pip (2) python脚本的一键安 ...

  9. app前端代码打包步骤

    一.搭建项目环境 1.安装node.js 在网上找到nodejs压缩包,下载解压后安装node-v8.9.3-x64.msi文件. 安装完毕后,在windows的cmd控制台输入node -v或nod ...

  10. 学习使用PM2管理nodejs进程

    在项目中,偶尔对命令会忘记一下,所以在此记录下pm2的常用命令. 1. pm2是什么?pm2 是一个带有负载均衡的Node应用的进程管理器, 它能够管理Node应用,还能够对应用的运行状态进行监控. ...