如何系统学习计算机科学?¶
仍在建造...
以 thu 泛计算机专业的现状魔改。基于清华传统的理工传统,融入美加当代计算机实践。
笔者曾经在 thu 学习软件工程,也多有与计算机系同学聊天,对于 thu 的教学体系颇有了解。同时,笔者也曾经前往加拿大 waterloo 交换,见证了另一种体系下的本科教学。
两种本科教学各有强大的地方。thu 宽口径,重基础,培养出的学生具有强大的基础能力和实践能力;waterloo 给学生充分自由度,培养出的学生在就业市场上竞争力极强。
虽然两种培养风格大相径庭,但也可以某种程度上融合,造就一款强大的计算机科学家/计算机工程师培养方案。
基本信息¶
每年三个学期,每个学期 12 周课时 + 2 周考试;学期间 4 周假期。
1 credit = 12 hrs
数学基础课组¶
必修:
- 微积分(1)(2)
- 线性代数(1)(2)
- 计算机数学基础
- 概率论
选修:
- 微积分高级专题
- 线性代数高级专题
- 计算机数学高级专题(抽象代数)
- 数理统计与随机过程
计算机基础知识¶
历史:
- 计算机学科历史与哲学
基础编程:
- 程序语言实践(1)(2)(3)
- 数据结构与算法
计算机系统:
- 计算机系统概论
开源计算机课程¶
Stanford CS101 - Introduction to Computing Principles
Stanford CS103 - Mathematical Foundations of Computing
Stanford CS106B - Programming Abstractions
Stanford CS229 - Machine Learning
Berkeley CS152/252A - Computer Architecture and Engineering
Berkeley CS162 Operating System
Berkeley CS294 - Machine Learning System
MIT 6.1810 - Operating System Engineering
MIT 6.004 - Computation Structures
MIT 6.111 - Introductory Digital Systems Laboratory
MIT 6.441 - Information Theory
MIT 6.5840 - Distributed Systems
CMU 10-414/714 - Deep Learning System
CMU 15-445/645 - Database Systems