self-learning-list
- CS106L的Assignment 3, STL HashMap
- AUT AP1400-2,7个homework
- Haskell MOOC函数式编程,语言Haskell,似乎没有视频,待定
- CS3110:OCaml Programming Correct + Efficient + Beautiful CS3110 不仅局限于函数式编程,涵盖了 OCaml 语言基础,数据结构和算法,测试开发,形式证明,语言特性实现等诸多内容。而且内容之间并不割裂,而是递进和互补,非常值得学习。
- CS144: Computer Network在这门课的 Project 中,你将用 C++ 循序渐进地搭建出整个 TCP/IP 协议栈,实现 IP 路由以及 ARP 协议,最后利用你自己的协议栈代替 Linux Kernel 的网络协议栈和其他学生的计算机进行通信,非常 amazing!
- Stanford CS142: Web Applications课程似乎没有视频只有ppt。斯坦福的 Web 应用开发课程,内容覆盖了 HTML, CSS, JavaScript, ReactJs, NodeJS, ExpressJS, Web安全等等。8 个 Project 会让你在实战中锻炼自己的 Web 开发技巧。
- UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision可以跳着学,作业质量据说很高,包括VAE, GAN的内容
- Columbia STAT 8201: Deep Generative Models只有slides,包含GAN的理论知识,相对硬核
- 图释 Gilbert Strang 的 “给每个人的线性代数”12页的pdf,图释线性代数
- CS61A: Structure and Interpretation of Computer Programs注意这不仅仅是一门编程语言课,而是会深入到程序构造与运行的原理。最后你将在第 4 个 Project 中用 Python 实现一个 Scheme 的解释器。此外,抽象将是这门课的一大主题,你将学习到函数式编程、数据抽象、面向对象等等知识来让你的代码更易读,更模块化。当然,学习编程语言也是这门课的一大内容,你将会掌握 Python、Scheme 和 SQL 这三种编程语言,在它们的学习和比较中,相信你会拥有快速掌握一门新的编程语言的能力。
- MIT-Missing-Semester,选取部分资料学习,中文课程主页有配套习题解答和学习笔记看情况可速通
- CS106L: Standard C++ Programming 这门课会深入到很多标准 C++ 的特性和语法,让你编写出高质量的 C++ 代码。
- MIT Web Development Crash Course为期 4 周,基本覆盖了 Web 开发的前后端大部分技术栈。
学习体会 👆
CS61A: Structure and Interpretation of Computer Programs
时间:一个多月,零散时间完成,看配套教材 + 部分 homework + lab + 部分 project
感受:除了 Python、Scheme 和 SQL 语法以外,这门课涵盖了大量的函数式编程和数据抽象。课程的所有代码使用 ok autograder 实现自动检查和打分。hm、lab 和 pj 整体难度不算大,但是做起来很耗时,部分函数式编程的代码比较难想。课程有一个用 pyhton 实现 scheme 解释器的 pj,算是比较大的项目,很有做的价值,可以会深入体会程序构造与运行的原理。
PS:现在课程网站似乎进不去了(需要伯克利账号),不过有人把之前的资源拷贝下来了,详见 链接 的评论区。
CS106L: Standard C++ Programming
时间:一周,只刷课件,没看视频,除了完成课件配套的code外,没有做assignments。
感受:这门课基本满足了我想要进一步学C++特性和语法的需求,包括不限于auto binding, uniform initialization, lambda function, move semantics, RAII, smart pointers等,还讲了一些程序设计原则,十分受益;课程配套的代码不能算是作业,大部分是填充代码,或者是课件例子的实现,不过代码的输入输出还有注释提示很 user friendly,值得一提的是每份 code 都配有 solution,对课后巩固很有帮助;一开始还担心只看课件不看视频有所欠缺,实际课件质量很高,学过 C++ 基础的直接看课件就行。
美中不足:网上课程资源杂乱,视频资源少。我是结合2022 winter和2023 spring相互补充学的,22年的code比23年多,23年的某几节课课件做得更好;另外,大家普遍反馈这门课的assignments环境配置易出问题,22年的作业环境配置还需要mit学生账号来连服务器。总之,作业除了23年的HashMap外不推荐做。(ps:我学的时候课程正在更新2024 winter,24年的assignments不再是以前的WikiRacer和HashMap那几个了,具体质量不知)。
MIT Web Development Crash Course
时间:用的零散时间学习,少于一个月,不过课程的性质(Crash Course)决定了不用花很长时间。
感受:我是出于兴趣想学个Web开发技能,这门课基本满足我的心理和技术需求。课程知识点很密集,包含了前端三件套,react 框架,mongoDB,api,socket 编程等,基本覆盖了Web 开发的前后端大部分技术栈,但没有深入讲,更多的是掌握一个网站设计的核心内容;这门课有很大部分时间是在手把手的教写代码,课程自始至终通过构建,升级,完善一个网站来串通所有知识点。
亮点:课程资源丰富,油管有完整视频;coding多,课程代码仓库做的很好,每一步都有对应的git节点,仓库还提供了一个Web开发的skeleton可以复用。(ps:也是学了这门课才起了兴致做了这么个博客网站,尽管也没用上很多前端知识😥)
注:如果想学前端找工作,这门课是远远不够的。
MIT-Missing-Semester
时间:一个视频一个主题,每个视频 60min~90min。
感受:讲了很多可能不是现在就会用到但是未来极大概率要用到的知识、工具和技巧,包括 shell, vim, git, tmux, ssh, 密码学, 数据清洗等。老师讲的很好,密码学那一块,尽管我不是相关专业,也听得津津有味。