Introduction to Computer Science
这部分着重在编程语言上,可以视为编程导论
- Racket Programming
推荐的第一门语言是lisp家族的语言,虽然非常古老,但是能学到递归的思想,作为一门函数式编程语言,Racket 只需要通过 define, cond, define-struct,lamada,local 即可完成对于编程导论的介绍
- 推荐的阅读材料为 CS 135 Waterloo的讲义,基于How to Design Programs这本书,但是比书好读,2024 Fall材料之后不再公开发布
- Felleisen, Matthias, et al. How to Design Programs: An Introduction to Programming and Computing. Second Edition, The MIT Press, 2018.
- 推荐的视频为 2020年的直播录屏视频 课程是为从来没有接触过编程的新手设计,前几周可能你可能想把头放在搅拌机里面,最后一节因为网络,收音不好炸麦.
- 推荐的阅读材料为 CS 135 Waterloo的讲义,基于How to Design Programs这本书,但是比书好读,2024 Fall材料之后不再公开发布
- C Programming
不是孤立地学C语言,而是和编译原理、操作系统、计算机体系结构结合起来学。或者说,以C语言为载体,真正学的是计算机的原理和程序的原理
- 推荐的阅读材料
- King, K. N. C Programming: A Modern Approach, Second Edition. W.W. Norton & Company, 2008.
- Matthews, Suzanne J. Dive into Systems: A Gentle Introduction to Computer Systems. With Tia Newhall and Kevin C. Webb, No Starch Press, 2022.
- 推荐的视频为 COS 217 Princeton 2021年的录屏
- 推荐的阅读材料
- Ocaml Programming
使用Ocaml语言 教导什么是良好编程
- 推荐的阅读材料
- Abstraction and Design In Computation
- 推荐的视频
- 推荐的阅读材料