一个CS出身的基本素养
从前天10号提交Paper之后,连三个晚上之后突然正常起来竟然变成倒时差状态。
这周打算给自己一个空窗期,好好想想下两到三个月要做的事。
好吧,除了“一日一算法”,当下两个月还有一个迫切任务:重塑 CS 素养。
到明年2015年10月份的时候,自豪地说,我是CS出身的人。
首先是“书单”,第二是“笔记计划”,第三是“Project计划”。

// c version : hello world;#include <stdio.h>int void main(){printf("Hello, c world zy.");return 0;}
// Java version : hello world;// Name : HW.javapublic class HW{public static void main(String[] args){System.out.println("Hello, Java World zy");}}
# python versionprint "Hello, python world zy."
一 书单
1.1 计算机基础
- CSAPP : 是不是看起来有点像ICASSP?全名为“Computer Systems : A Programmer’s Perspective”,从程序员的视角,看计算机系统。
- CODE : 全名为“Code : The Hidden Language of Computer Hardware and Software”,编码:隐匿在计算机软硬件背后的语言。
1.2 程序设计
- CPL : 全名为“Concepts of Programming Languages”,程序设计语言-实践之路。
1.3 算法与数据结构
- Introduction to Algorithms : 《算法导论》
1.4 软件工程
- SICP : 全名为“Structure and Interpretation of Computers Programs”,计算机程序的构造与解释。
- CC : 全名“Code Complete”,代码大全。
- MMM :全名为“The Mythical Man Month”,人月神话。
1.5
二 程序设计语言
首先呢得记住一句话,Language Tool。像刀,像剑,像球拍。
按照“范式”的不同掌握几种代表性即可。
标准配置为: C + OOP + Sripts,解释起来即 C + C++/Java + Python/Shell/Perl/PHP/…… 至于Web前段什么的,交给更合适的人好了。。。
为了不太细化且具有代表性,编程语言每项不超过3本。
2.1 C
- <The C Programming Language>, Brian W. Kernighan/ Dennis M.Ritchie
- <C语言的科学与艺术>,
2.2 C++
- <The Design and Evolution of C++>
2.3 Java
2.4 Python
2.5 To Be Announced
三 需求是什么 招聘要求
对于常人来说,短期目标是找好工作的,那么,能提供好工作的地方究竟需要什么,供需两端,我是供,“需求”一方是什么?答案很简单,找“Jobs Descriptions”就好。下面按照常规列“并集”。
3.1 本科生
3.2 硕士生
3.3 博士生
3.4 校招之外的社会招聘
一个CS出身的基本素养的更多相关文章
- 身为一个 CS专业的留学生,你还在为堆积如山的编程assignment而发愁吗?
每个人都渴望圆梦,当我们看见梦想在别人身上实现时,总在抱怨幸运之神为何不眷顾自己:其实更多的时候,梦想就在你身边的不远处,只要你迈出正确的步伐. 记得刚入大学时,意气风发.我以全班前几名的优异成绩考入 ...
- 最近跟进一个CS项目,用到c#基础知识,准备开个分类记录一下
C#在txt类文件中追加内容 string path = "test.txt";FileStream mystream = new FileStream(path, FileMod ...
- 尽管是一个CS专业的学生,小B的数学基础很好并对数值计算有着特别的兴趣,喜欢用计算机程序来解决数学问题。现在,她正在玩一个数值变换的游戏。她发现计算机中经常用不同的进制表示同一个数,如十进制数123表达为16进制时只包含两位数7、11(B),用八进制表示时为三位数1、7、3。按不同进制表达时,各个位数的和也不同,如上述例子中十六进制和八进制中各位数的和分别是18和11。
include "stdafx.h" #include<iostream> #include<vector> #include <algorithm& ...
- c# - 一个.cs类文件里如何建多个类
方法类可以使用 internal 修饰符,意为接口类, 主函数建议添加私有修饰符 private 控制台打印
- 一个简单的CS系统打包过程图文版
一个简单的CS系统打包过程图文版 1. 打包内容 1.1. 此次打包的要求和特点 主工程是一个CS系统: 此CS系统运行的先决条件是要有.Net Framework 3.5: 主工程安装完成 ...
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字. 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善. 之前LZ写过一篇<回答阿里社招面试如何准备,顺便谈谈 ...
- 程序人生:02我来告诉你,一个草根程序员如何进入BAT
本文摘自左潇龙博客,原文出处:http://www.cnblogs.com/zuoxiaolong/p/life54.html 引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字 ...
- 分享一个UI与业务逻辑分层的框架(一)
序言 .NET(C#)的WinForm如何简单易行地进行UI与业务逻辑分层?本系列文章介绍一个WinForm分层框架,该框架针对WinForm中的TextBox,CheckBox,RadioButto ...
- 学习ASP.NET MVC(二)——我的第一个ASP.NET MVC 控制器
MVC全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将 ...
随机推荐
- nyoj 67 三角形面积【三角形面积公式】
三角形面积 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个 ...
- Eclipse下Tomcat常用设置
Eclipse下Tomcat常用设置 1,Eclipse建立Tomcat服务 1.1 新建Server 首先这里是指,jee版的Eclipse.Eclipse是没有像MyEclipse那样集成Tomc ...
- SQL 计算两个时间之差 分类: SQL Server 2014-07-04 10:57 119人阅读 评论(0) 收藏
SQL语句: A,B为两个字段,A为开始时间,B为结束时间,ss为秒. SELECT datediff(ss,A,B) FROM Table 详细:http://www.w3school.com.c ...
- Unity3D 制作右上角小地图
一个简单的方法, 首先先在俯视图视角截取一张图片,用作小地图的背景图片.然后新建一个Plane,把截图附到Plane上,然后把Plane与刚才截图的场景的相应位置重合,要尽量重合,当做地图.(见 ...
- Swift --- 面向对象中类和对象的属性
Swift中类和对象的属性分为三种:储存属性,计算属性和类属性. import Foundation class Person { // 储存属性必须赋初值 var score1: Int = 20 ...
- [PWA] sw-precache
Link to CodeLab In this codelab, we'll retrace those steps but this time we'll use a tool called sw- ...
- UVa 993: Product of digits
这道题很简单.先将N用2,3,5,7(即10以内的素数)分解因数(需要先特殊判断N不为1),然后将可以合并的因数合并(如2*2合并成4,)这样求得的结果位数会减少,大小肯定会小一些.具体实现见代码. ...
- [转] npm 模块安装机制简介
npm 是 Node 的模块管理器,功能极其强大.它是 Node 获得成功的重要原因之一. 正因为有了npm,我们只要一行命令,就能安装别人写好的模块 . $ npm install 本文介绍 npm ...
- iOS UIKit:viewController之定义(2)
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- Linux写配置HDF5的python包h5py
闲言碎语不讲,直接进入正题.Python在科学计算的应用越来越丰度,而hdf(5)数据的应用也非常广泛.python提供了h5py包供开发者处理数据(http://www.h5py.org/).在wi ...