parent
f234ecf6f9
commit
844bcc738b
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
学过面向过程编程后,大一下学期一般会讲面向对象编程(例如 C++ 或 Java)。这里非常推荐大家看 [MIT 6.031: Software Construction](./软件工程/6031.md) 这门课的 Notes,会以 Java 语言(22年改用了 TypeScript 语言)为例非常详细地讲解如何写出“优雅”的代码。例如 Test-Driven 的开发、函数 Specification 的设计、异常的处理等等等等。除此之外,既然接触了面向对象,那么了解一些常见的设计模式也是很有必要的。因为国内的面向对象课程同样很容易变成极其无聊的语法课,让学生纠结于各种继承的语法,甚至出一些无聊的脑筋急转弯一样的题目,殊不知这些东西在地球人的开发中基本不会用到。面向对象的精髓是让学生学会自己将实际的问题抽象成若干类和它们之间的关系,而设计模式则是前人总结出来的一些精髓的抽象方法。这里推荐[大话设计模式](https://book.douban.com/subject/2334288/) 这本书,写得非常浅显易懂。
|
||||
|
||||
其二就是尝试学习一些能提高生产力的工具和技能,例如 Git、Shell、Vim。这里强烈推荐学习 [MIT missing semester](./编程入门/MIT-Missing-Semester.md) 这门课,也许一开始接触这些工具用起来会很不习惯,但强迫自己用,熟练之后开发效率会直线提高。此外,还有很多应用也能极大提高的你生产力。一条定律是:一切需要让手离开键盘的操作,都应该想办法去除。例如切换应用、打开文件、浏览网页这些都有相关插件可以实现快捷操作(例如 Mac 上的 [Alfred](https://www.alfredapp.com/))。如果你发现某个操作每天都会用到,并且用时超过1秒,那就应该想办法把它缩减到0.1秒。毕竟以后数十年你都要和电脑打交道,形成一套顺滑的工作流是事半功倍的。最后,学会盲打!如果你还需要看着键盘打字,那么赶紧上网找个教程学会盲打,这将极大提高你的开发效率。
|
||||
其二就是尝试学习一些能提高生产力的工具和技能,例如 Git、Shell、Vim。这里强烈推荐学习 [MIT missing semester](./编程入门/MIT-Missing-Semester.md) 这门课,也许一开始接触这些工具用起来会很不习惯,但强迫自己用,熟练之后开发效率会直线提高。此外,还有很多应用也能极大提高你的生产力。一条定律是:一切需要让手离开键盘的操作,都应该想办法去除。例如切换应用、打开文件、浏览网页这些都有相关插件可以实现快捷操作(例如 Mac 上的 [Alfred](https://www.alfredapp.com/))。如果你发现某个操作每天都会用到,并且用时超过1秒,那就应该想办法把它缩减到0.1秒。毕竟以后数十年你都要和电脑打交道,形成一套顺滑的工作流是事半功倍的。最后,学会盲打!如果你还需要看着键盘打字,那么赶紧上网找个教程学会盲打,这将极大提高你的开发效率。
|
||||
|
||||
其三就是平衡好课内和自学。我们质疑现状,但也得遵守规则,毕竟绩点在保研中还是相当重要的。因此在大一,我还是建议大家尽量按照自己的课表学习,但辅以一些优质的课外资源。例如微积分线代可以参考 [MIT 18.01/18.02](./数学基础/MITmaths.md) 和 [MIT 18.06](./数学基础/MITLA.md) 的课程 Notes。假期可以通过 [UCB CS61A](./编程入门/Python/CS61A.md) 来学习 Python。同时做到上面第一、第二点说的,注重好的编程习惯和实践能力的培养。就个人经验,大一的数学课学分占比相当大,而且数学考试的内容方差是很大的,不同学校不同老师风格迥异,自学也许能让你领悟数学的本质,但未必能给你一个好成绩。因此考前最好有针对性地刷往年题,充分应试。
|
||||
|
||||
|
|
@ -44,4 +44,4 @@
|
|||
|
||||
随着贡献者的不断增多,左侧的目录中将不断增加新的分支,例如 **机器学习进阶** 和 **机器学习系统**。并且同一个分支下都有若干同类型课程,它们来自不同的学校,有着不同的侧重点和课程实验,例如 **操作系统** 分支下就包含了麻省理工、伯克利、南京大学还有哈工大四所学校的课程。如果你想深耕一个领域,那么学习这些同类的课程会给你不同的视角来看待类似的知识。同时,本书作者还计划联系一些相关领域的科研工作者来分享某个细分领域的科研学习路径,让 CS自学指南 在追求广度的同时,实现深度上的提高。
|
||||
|
||||
如果你想贡献这方面的内容,欢迎和作者邮件联系 [zhongyinmin@pku.edu.cn](mailto:zhongyinmin@pku.edu.cn)
|
||||
如果你想贡献这方面的内容,欢迎和作者邮件联系 [zhongyinmin@pku.edu.cn](mailto:zhongyinmin@pku.edu.cn)
|
||||
|
|
|
|||
Loading…
Reference in New Issue