📺 斯坦福 CS106a 编程方法 ⭐️
课程名称: Programming Methodology
课程官网地址:CS106A
先修课程: 零基础可学,无先修课程
重要程度: ※※※※※
课程评点: CS106是斯坦福非常著名的系列入门课程,
课程说明
CS106A是编程和计算机科学的第一门课程,适合零经验的人。CS106B 则是第二门课程,为了解基础编程的人教授更高级的编程和计算机科学。
CS106A 为以前没有编程经验的人介绍了代码和计算机编程。代码和编程是现代生活的核心,但代码可能看起来极其不透明。通过与团队的逐步合作,CS106A 将学生带入代码的世界,构建他们无法想象的东西。CS106A以前使用的是Java编程语言,后来改成了Python。
本课涵盖Python基本编程的所有重要主题:类型、数字、字符串、函数、线性集合、字典、逻辑、分解、良好的编程风格、整个程序结构、文本、文件处理、调试和性能以及lambda、推导式等。
配套资料
配套视频
B站有CS106A的机翻视频
B站视频:CS106A 编程方法
配套资料与教材
斯坦福大学有一个统一的线上Python入门教程,可以用来学习Python,推荐的Python教材是Lubanovic的《Introducing Python》,目前该书只有台湾繁体版和英文版,这里提供了一个英文版的电子书:
线上资料:Python在线入门教程
推荐教材:Introducing Python(第二版) 提取码: 3h00
进阶学习
CS106是一个斯坦福计算机专业一个非常知名的系列入门课程,通过Python入门之后可以选修网站开发、机器学习、音视频等应用开发方向。这些虽然不是专业核心必修课,但却是先修课,而以C++为主的CS106B或CS106X是所有计算机方向的必修,也就是说斯坦福大学主打的编程语言是Python和C++。
CS106A算是计算机专业入门第一课,CS106A的配套实验课是CS100A,学完CS106A可以选择如下内容,其中CS106B/X是以C++编程语言为主,C++也是斯坦福大学必修的编程语言:
- CS106A 程序设计,主要是用Python入门
- CS 106E 计算机科学探索课,CS106A的进阶课,主要是网站开发、安全,音视频处理、计算机网络、计算机组成、数据库等,相当于用Python把计算机科学的各个分支都实战了一遍。
- CS106B和CS106X(配套实验课为CS100B、CS106L)则是计算机所有方向的必修课,主要学习C++,学完CS106B或CS106X之后可以继续学习:
- CS106B 程序抽象,CS106B是计算机专业的核心必修课程,参考教材为《C++程序设计》。
- CS106L 标准C++程序实验课,这是CS106B或CS106X的实验课,参考资料和工具有QT以及C++ 技术文档
- CS106M CS106B进阶算法课,通过课程名就知道是CS106B的一个进阶课,Google Page Rank算法、分形、蒙特卡洛算法、MapReduce、二进制搜索、数据压缩等算法;
- CS106S C++小组研讨课,这门课主要是分小组围绕健康、公共事务、教育和环境进行应用开发。