From c4f37e286e9883aadb7b3a9f9fef0d09da582032 Mon Sep 17 00:00:00 2001 From: zhongyinmin Date: Tue, 9 Nov 2021 18:00:42 +0800 Subject: [PATCH] add CS106L --- docs/编程入门/CS106L.md | 26 ++++++++++++++++++++++++++ docs/编程入门/CS50.md | 2 +- docs/编程入门/CS61A.md | 4 ++-- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 docs/编程入门/CS106L.md diff --git a/docs/编程入门/CS106L.md b/docs/编程入门/CS106L.md new file mode 100644 index 00000000..863b697f --- /dev/null +++ b/docs/编程入门/CS106L.md @@ -0,0 +1,26 @@ +# CS106L: Standard C++ Programming +## 课程简介 +- 所属大学:Stanford +- 先修要求:最好掌握至少一门编程语言 +- 编程语言:C++ +- 课程难度:🌟🌟🌟 +- 预计学时:20小时 + +我从大一开始一直都是写的C++代码,直到学完这门课我才意识到,我写的C++代码大概只是C语言 + cin/cout而已。 + +这门课会深入到很多标准C++的特性和语法,让你编写出高质量的C++代码。例如auto binding,uniform initialization,lambda function,move semantics,RAII等技巧都在我此后的代码生涯中被反复用到,非常实用。 + +值得一提的是,这门课的作业里你会实现一个HashMap(类似于STL中的unordered map), 这个作业几乎把整个课程串联了起来,非常考验代码能力。特别是iterator的实现,做完这个作业我开始理解为什么Linus对C/C++嗤之以鼻了,因为真的很难写对。 + +总的来讲这门课并不难,但是信息量很大,需要你在之后的开发实践中反复巩固。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 +- 课程作业:具体内容见课程网站,我做的时候一共是两个: + - (1)实现一个WikiRacer的小游戏 + - (2)实现HashMap + +## 资源汇总 +我在学习这门课中的用到的所有资源和作业实现都汇总在[这个Github仓库](https://github.com/PKUFlyingPig/CS106L)中。 \ No newline at end of file diff --git a/docs/编程入门/CS50.md b/docs/编程入门/CS50.md index a868c09f..ca487be4 100644 --- a/docs/编程入门/CS50.md +++ b/docs/编程入门/CS50.md @@ -4,7 +4,7 @@ - 先修要求:无 - 编程语言:C,Python,SQL,HTML,CSS,JavaScript - 课程难度:🌟🌟 -- 预计学时:20 hour +- 预计学时:20小时 连续多年被哈佛大学学生评为最受欢迎的公选课程。Malan教授上课非常有激情,撕黄页讲二分法的场面让人记忆犹新(笑)。但因为它的入门以及全校公选的属性,课程内容难度比较温和,但是课程作业质量非常高而且全部免费开源,非常适合小白入门,或者大佬休闲。 diff --git a/docs/编程入门/CS61A.md b/docs/编程入门/CS61A.md index 57ef6b64..72857af4 100644 --- a/docs/编程入门/CS61A.md +++ b/docs/编程入门/CS61A.md @@ -4,7 +4,7 @@ - 先修要求:无 - 编程语言:Python,Scheme,SQL - 课程难度:🌟🌟🌟 -- 预计学时:50 hour +- 预计学时:50小时 伯克利CS61系列的第一门课程,也是我的Python入门课。 @@ -25,4 +25,4 @@ CS61B和CS61C在本书中均有收录。 - 课程作业:课程网站会有每个作业对应的文档链接以及代码框架的下载链接。 ## 资源汇总 -我学习这门课中的所有资源和作业实现都汇总在[这个](https://github.com/PKUFlyingPig/CS61A)Github仓库中。 \ No newline at end of file +我在学习这门课中的用到的所有资源和作业实现都汇总在[这个Github仓库](https://github.com/PKUFlyingPig/CS61A)中。 \ No newline at end of file