暑期提升指南
暑南
S
指南目标和前身
此指南前身是我为2019级星空体育·(China)官方网站,登录入口实践学期软件工程理论实践编写的提高性指南,里面包含了公开课和链接,大部分为我自己使用过的工具,此正式版本为修改版,旨在:
▪提升同学们对计算机科学的理解
▪提升同学们编程的能力技术
如何使用这份指南?
首先请抱着深入的态度去学习,不要事事想着做到完美。
Focus on the experiencing self not the remembering self.
这样你可以从整体上来提高自己。另外一个很重要的一点,请先审视自己目前所处的位置,请对自己保持诚实,不要看低自己也不要高看自己,搞清楚目前自己是对软件工程没有一个具体的概念,还是对编程没有实感,还是只有兴趣摸不着头脑。
我该如何入手?
在开始之前,如果你非常不了解计算机科学,你也许会有以下疑问,我提供了部分参考阅读来消解您的疑问:
什么是计算机科学?
推荐课程:哈佛大学大名鼎鼎的CS50
https://www.bilibili.com/video/BV1ER4y157uA?p=1&vd_source=77fb82a287927efac396d72192780804
什么是计算机程序?(deeper) 推荐书籍,可能是计算机科学界唯一的“圣经” 《计算机程序的结构与解释》 推荐开源书籍:https://sicp-js.apachecn.org/#/docs/3 (中文)
我该从什么编程语言入手?
推荐语言:Java, Python, C, Javascript. 语言学习教程请参考下一部分的学习资源。如果必须要一门推荐的话,我推荐此课程。MIT 计算机科学导论与Python编程。https://www.bilibili.com/video/BV1544y1b7Go?spm_id_from=333.337.search-card.all.click&vd_source=77fb82a287927efac396d72192780804
我该学数学吗?我该学什么数学?是的,学习计算机科学需要学习数学,目前来看,高中数学、微积分、线性代数、离散数学(或计算机数学理论)和概率论与梳理统计是基础的数学科,请参考以下教程:
微积分:
推荐视频,3Blue1Brown,《微积分的本质》
https://www.bilibili.com/video/BV1qW411N7FU?spm_id_from=333.999.0.0
▪线性代数:
推荐视频,3Blue1Brown,《线性代数的本质》
https://www.bilibili.com/video/BV1ys411472E?spm_id_from=333.999.0.0&vd_source=77fb82a287927efac396d72192780804# Summer Holiday Self-Improve Guideline.md7/23/20222 / 3
离散数学
推荐课程, MIT6.042J,计算机数学理论
概率论与数理统计
推荐课程普林斯顿大学统计学:https://www.bilibili.com/video/BV1sy4y1e7Eg?spm_id_from=333.337.searchcard.all.click&vd_source=77fb82a287927efac396d72192780804
如果我想?我该如何创造一门编程语言?
编程语言的完备性通常来源于正言推理和计算理论。请参考计算理论课程。推荐课程:https://www.bilibili.com/video/BV1qL411s7mr?spm_id_from=333.337.searchcard.all.click&vd_source=77fb82a287927efac396d72192780804
我创造了一门编程语言,我该如何让他们变成计算机可以理解的形式?
也许你应该看编译领域的书籍,请参考《编译原理》by Alfred V.Aho Monica S.Lam。不需要过于深入学习,请有选择的学习这本书。
我的电脑是如何运作的?请参考操作系统课程,
推荐课程:清华大学操作系统原理
https://www.bilibili.com/video/BV1uW411f72n?spm_id_from=333.337.searchcard.all.click&vd_source=77fb82a287927efac396d72192780804▪
什么是网络?
推荐课程,斯坦福大学计算机网络(机器翻译):https://www.bilibili.com/video/BV1e5411c7aY?spm_id_from=333.337.searchcard.all.click&vd_source=77fb82a287927efac396d72192780804
黑客文化的历史和开源运动?
推荐书籍:《大教堂与集市》 by Eric S. RAYMOND.▪软件开发,计算机科学与艺术?推荐书籍《黑客与画家》 by Paul Graham.
电子游戏是如何发展到现在的?
推荐纪录片:剑指高分https://www.bilibili.com/video/BV1rh41197Zg?p=1
什么是人工智能?
推荐课程,加州大学伯克利分校《人工智能导论》:https://www.bilibili.com/video/BV1X64y1i7hf?p=1&vd_source=77fb82a287927efac396d72192780804
一些应用形式的教程总结
此总结是我在实践学期课上为19级学生做出的实践性资源总结,该总结预设了你已经有了一部分计算机科学的知识并且知道自己需要的知识什么,所以没有任何检索引导。给19级Advanced Java班写的暑假自我练习指南(开源免费版):Practice your skills in holiday
▪:Java and technical interview:
▪Java 和技术面试:
https://github.com/kdn251/interviews (English)
https://javaguide.cn/interviewpreparation/interview-experience.html(Chinese)
https://www.youtube.com/c/IBMTechnology (IBMTechnology,IBM关于现代开发概念的解释,有容器等,使用油管自转中文就可以看中文字幕,部分视频有官方中文字幕。)
https://www.youtube.com/c/Fireship (FireShip Offical Youtube Channel, shortvideos including 100 seconds explain one terminology in Computer Science. FireShip 官方油管频道,目前没找到B站代餐,建议看原版使用Youtube自动翻译字幕)
https://github.com/jwasham/codinginterview-university(English Version)
https://github.com/EbookFoundation/free-programming-books
(Free books for coding, multiple language surpported, 免费编程电子书,多语言支持)
https://refactoring.guru/design-patterns (Learn Design Patterns in different programming languageswith multiple language. 学习设计模式,多编程语言支持,多语言支持)
Math:# Summer Holiday Self-Improve Guideline.md7/23/20223 / 3
数学:
http://immersivemath.com/ila/ch01_introduction/ch01.html (immersive math for linearalgebra,线性代数沉浸式教学,仅英语版本,English Only);
https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
(3Brown1blue Essence of Linear Algebra, EnglishVersion)
https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr
(3Brown1blue Essence of Calculus, English Version)
https://www.youtube.com/watch?v=ZK3O402wf1c&list=PL49CF3715CB9EF31D&index=1
(Linear Algebra MIT 18.06 English Version)
https://www.bilibili.com/video/BV1qW411N7FU?spm_id_from=333.999.0.0 (微积分的本质,3Brown1blue 中文版) https://www.bilibili.com/video/BV1qW411N7FU?spm_id_from=333.999.0.0&vd_source=77fb82a287927efac396d72192780804 (线性代数的本质,3Brown1blue中文版)
Programming Practice:编程练习:
https://leetcode.cn/problemset/all/ (Chinese,力扣,以学习的心态使用它)
https://leetcode.com/(English Version Leet code, do not test yourself, learn the skills from LeetCode community)
https://codeforces.com/?locale=en
RoadMaps and Systematically Practice:
路线图和系统性练习:
https://roadmap.sh/ (Update Every year,每年都在更新的路线图)
https://github.com/freeCodeCamp/freeCodeCamp(Free Code learning platform)
https://github.com/CyC2018/CS-Notes (Chinese,系统性学习计算机知识资源)
用户登录
还没有账号?
立即注册