CS106L: Standard C++ Programming
课程简介
- 所属大学:Stanford
- 先修要求:最好掌握至少一门编程语言
- 编程语言:C++
- 课程难度:🌟🌟🌟
- 预计学时:20 小时
课程深入介绍标准 C++ 特性,包括 auto binding、uniform initialization、lambda function、move semantics 与 RAII。
课程作业包括实现类似 STL unordered_map 的 HashMap,综合运用课程知识,尤其需要理解 iterator 的设计与实现。
总的来讲这门课并不难,但是信息量很大,需要你在之后的开发实践中反复巩固。Stanford 之所以单开一门 C++ 的编程课,是因为它后续的很多 CS 课程 Project 都是基于 C++的。例如 CS144 计算机网络和 CS143 编译器。这两门课在本书中均有收录。
课程资源
- 课程网站:http://web.stanford.edu/class/cs106l/
- 课程视频:https://www.youtube.com/channel/UCSqr6y-eaQT_qZJVUm_4QxQ/playlists
- 课程教材:http://web.stanford.edu/class/cs106l/full_course_reader.pdf
- Assignment1下载网址:https://github.com/snme/cs106L-assignment1
- Assignment2下载网址:https://github.com/snme/cs106L-assignment2
- 课程作业:具体内容见课程网站,以下为所收录版本的两个作业:
- 实现一个 WikiRacer 的小游戏
- 实现一个类似 STL 库的 HashMap
资源汇总
补充资源与作业实现:PKUFlyingPig/CS106L - GitHub。