Site cover image

Site icon image Leon-Blog

21世纪已经过去1/4

Teach Yourself Programming

Introduction to Computer Science

这部分着重在编程语言上,可以视为编程导论

  1. 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年的直播录屏视频 课程是为从来没有接触过编程的新手设计,前几周可能你可能想把头放在搅拌机里面,最后一节因为网络,收音不好炸麦.
  2. 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年的录屏
  3. Ocaml Programming

    使用Ocaml语言 教导什么是良好编程

    • 推荐的阅读材料
      • Abstraction and Design In Computation
    • 推荐的视频