---
# System prepended metadata

title: 整理CS学习资料
tags: [资料, CS]

---

# 整理CS学习资料
###### tags: `CS` `资料`


> 根据这篇[翻译文章](https://pincong.rocks/article/12305)整理
## Programing
- 资料
	- [SICP](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html)
	- [Brian Harvey 开设的 SICP 课程](https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?sort=titleSorter)（Berkeley 的 61A 课程）  
	- 练习[exercism](https://pincong.rocks/url/link/aHR0cDovL2V4ZXJjaXNtLmlv "http://exercism.io")

## Computing Systems
- 资料
	- The elements of computing systems 前六章
		- [Nand2Tetris](http://www.nand2tetris.org)
		- Coursera[视频课程](https://www.coursera.org/learn/build-a-computer)
	- Cmputer organization and design
		- [CS61C课程](http://inst.eecs.berkeley.edu/~cs61c/sp15/) 
		- [互联网档案](https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_)
## Algorithm
- 资料
	- [The Algorithm Design Manual](https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/?pldnSite=1)
	- [Skiena课程](https://www.youtube.com/watch?v=A2bFN3MyNDA&list=PLOtl7M3yp-DX32N0fVIyvn7ipWKNGmwpp)  /  Tim Roughgarden课程[Coursera](https://www.coursera.org/specializations/algorithms)
	- [Leetcode](https://leetcode.com")技术面试
	- [How to Solve it](https://smile.amazon.com/How-Solve-Mathematical-Princeton-Science/dp/069116407X/)

## Maths
- 资料
	- 离散数学[László Lovász的课程笔记](http://www.cs.elte.hu/~lovasz/dmbook.ps)
	- 高阶
		- [Mathematics for Computer Science](https://courses.csail.mit.edu/6.042/spring17/mcs.pdf)
		- [视频](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/)
	-  线性代数
		- [Essence of linear algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)
		- Gilbert Strang《线性代数导论》[视频课程](https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/)

## Operating Systems
- 资料
	- 《操作系统导论》[Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/)
	- 特定操作系统的设计
		- [Lion's commentary on Unix](https://www.amazon.com/Lions-Commentary-Unix-John/dp/1573980137/)
		- [The Design and Implementation of the FreeBSD Operating System](https://www.amazon.com/Design-Implementation-FreeBSD-Operating-System/dp/0321968972/)
		- [Mac OS X Internals](https://www.amazon.com/Mac-OS-Internals-Systems-Approach/dp/0321278542/)_。  
	- 小型系统内核的代码[xv6](https://pdos.csail.mit.edu/6.828/2016/xv6.html)
	- 《操作系统导论》附录[xv6实验项目](http://pages.cs.wisc.edu/~remzi/OSTEP/lab-projects-xv6.pdf)


## 计算机网络
- 资料
	- [Wireshark labs](http://www-net.cs.umass.edu/wireshark-labs/)
	- 视频课程[Introduction to Computer Networking](https://lagunita.stanford.edu/courses/Engineering/Networking-SP/SelfPaced/about)
	- 项目: HTTP服务器，基于UDP的聊天APP，[迷你TCP栈](http://jvns.ca/blog/2014/08/12/what-happens-if-you-write-a-tcp-stack-in-python/)，代理，负载均衡器，或者分布式哈希表。

## 数据库
- 资料
	- [2015年春季学期的CS 186课程](https://archive.org/details/UCBerkeley_Course_Computer_Science_186)（Joe Hellerstein在Berkeley的数据库课程）
	- 论文[Architecture of a Database System](http://db.cs.berkeley.edu/papers/fntdb07-architecture.pdf)
		- 对关系型数据库管理系统（RDBMS）如何工作
	- 《Readings in Database Systems》/ [数据库“红书”](http://www.redbook.io/)(Peter Bailis，Joe Hellerstein和Michael Stonebraker编纂的论文合集)
	- 数据模型 Data and Reality: A Timeless Perspective on Perceiving and Managing Information in Our Imprecise Worl- d

## 语言 编译器
- 资料
	- [Alex Aiken课程](https://lagunita.stanford.edu/courses/Engineering/Compilers/Fall2014/about)
	- Terence Parr《编程语言实现模式》
		- 如DSL的小型编程语言项目
	- 项目练习
		- COOL/某个语言的一个子集写一个编译器
		- [Make a Lisp](https://github.com/kanaka/mal)

## 分布式系统
- 资料
	- 教材Maarten van Steen和Andrew Tanenbaum《分布式系统原理与范型》（中文第二版，英文第三版）
	- [MIT的6.824](https://www.youtube.com/watch?v=hBWfjkGKRas&list=PLkcQbKbegkMqiWf7nF8apfMRL4P4sw8UL)
	- [如何阅读论文](https://github.com/papers-we-love/papers-we-love)

