【学习总结】 小白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 + 总结博文链接)
【学习总结】 小白CS成长之路的更多相关文章
- 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- [转载]AxureRP学习成长之路
[编者按]本文作者@朱军华Ronzhu , 本文借用官网的描述定义,介绍了在学习AxureRP过程当中所要经历的各个阶段,也结合了作者自身学习AxureRP使用的经验,讲一下在各个阶段中的一些学习方法 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- 从开源小白到 Apache Member,我的成长之路
我们走过的每一步路,都会留下印记,越坚实,越清晰. 近日,Apache 软件基金会(ASF)官方 Blog 宣布全球新增 40 位 Apache Member,张乎兴有幸成为其中一位. 目前,全球共有 ...
- (转)Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...
- redis成长之路——(二)
redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...
- 【腾讯Bugly干货分享】JSPatch 成长之路
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579efa7083355a9a57a1ac5b Dev Club 是一个交流移动 ...
- java 成长之路[轉載u]
分享总结title: java 成长之路tags:grammar_cjkRuby: true 经验差异 1-3年 要求 建议 3-5年 建议 5年+ 经验差异 最近一年比较忙,经历了创业公司的倒闭.这 ...
随机推荐
- Java程序导出成.jar文件、生成.exe可执行文件及打包成可执行安装程序(可在无Java环境的计算机上运行)--以个人所得税计算器为例
Java程序导出成.jar文件.生成.exe可执行文件及打包成可执行安装程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 需要准备的软件: jdk, ...
- 【PS技巧】常用概念和功能操作
常用概念 1.画布大小与图像大小 画布大小是图像背景的大小,即画纸.图像大小是当前编辑的图层的所有对象大小,即画纸上的画. 常用功能操作 1.打开和新建功能 打开图片:Ctrl+O或双击工作区 图片垂 ...
- (转)Geoserver基础配图研究
https://blog.csdn.net/zbcx_ZGIS/article/details/82216151 1面图层配图 1.1基本框架 这个是geoserver默认的polygon的代码,我们 ...
- 用Python调用阿里云的短信接口
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Frank import uuidimport datetimeimport hmacimpor ...
- UVA1613-K-Graph Oddity(贪心)
Problem UVA1613-K-Graph Oddity Accept: 108 Submit: 884Time Limit: 3000 mSec Problem Description Inp ...
- 转://Window下安装Oracle ASM单实例数据库
之前做的Oracle ASM实验都是基于Linux或者Unix操作系统的,最近想试试如何在Windows环境下使用Oracle ASM.本文介绍如何在windows下创建裸设备,并创建ASM磁盘组以及 ...
- vue组件详解——使用props传递数据
每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 ...
- rabbitMQ常用方法说明 – 6中工作模式及关键点
首先,RabbitMQ解决什么问题? 1)信息的发送者和接收者如何维持连接,如果一方的连接中断,这期间的数据如何防止丢失? 2)如何降低发送者和接收者的耦合度? 3)如何让Priority高的接收者先 ...
- bzoj-1787-洛谷-4281(LCA板子题)
传送门(bzoj) 传送门(洛谷) 可以说这道也是一个板子题 由于题中是三个人需经过的路径最短 就会有一点点不太一样 那么 就两两求LCA 这样之后就会出现两种状况 一.所得到的三个LCA是相等的 那 ...
- ZOJ - 2423-Fractal
A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on ...