如何选择:零基础推荐看「CS50 计算机科学入门」;系统学习数据结构与算法推荐林雪平大学的「TDDI16 数据结构与算法」或「TDDD86 数据结构、算法与编程范式」;算法进阶看「CS4104 / CS5040 / CS5114」;也可按专题(数据库、区块链、图形学、形式语言等)挑选。
哈佛大学 CS50x 讲义中文改编:从 Scratch、C 到 Python、SQL 与 Web 开发,含人工智能专题。
适合零基础的 Python 程序设计入门。PY4E (Python for Everyone)
面向对象的入门编程,用 Java 讲类、对象、封装与测试。Objects First 教学模式:先教对象和类,再教变量、循环、函数等过程式内容
瑞典·林雪平大学(LiU)TDDI16:标准数据结构与算法——线性结构、树与平衡树、哈希、图、排序与查找。
林雪平大学(LiU)TDDD86:更完整的数据结构、算法与编程范式,额外含数学证明、ISAM、概率算法与跳跃表。
弗吉尼亚理工 CS2(≈CS2114):以 ADT 为中心的软件设计与数据结构入门。
弗吉尼亚理工核心数据结构与算法(≈CS3114):线性结构、树、哈希、图与排序。
以 Java 讲授软件设计与数据结构,强调工程实践与测试。
詹姆斯麦迪逊大学 CS240:软件工程导论,含数据结构、算法分析与编程实践(Java)。
昆尼皮亚克大学 CSC 215:数据结构与高级编程。
东华盛顿大学 CSCD 320:算法与数据结构(Java)。
朗伍德大学 CMSC 162:以 C++ 讲授的经典 CS2 数据结构。
北卡大学夏洛特分校 COMP 271:数据结构——算法与应用。
马萨诸塞大学阿默斯特分校 COMPSCI 186:数据结构的使用。
温索普大学 CSCI 271:算法分析与数据结构。
明尼苏达大学 CSci 2101:数据结构。
贝洛伊特学院 CSCI 204:数据结构。
维克森林大学 CSC 201:数据结构与算法。
面向对象编程与数据结构。
数据结构与算法分析:递归、运行时分析、查找与排序。
数据结构课程:线性结构、树、哈希、图等。
数据结构与算法(专题)。
高级算法分析:渐近分析、下界、动态规划、难解性等。
中级数据结构与算法:深入查找结构、索引与高级专题。
算法设计与分析:随机化、近似与计算难解性。
有限自动机、正则语言、文法、下推自动机与图灵机。按真实课程组织的完整教材版,源自外部出版的 PIFLA 教科书。
从哈希与默克尔树到共识机制与智能合约。
关系数据库设计、ER 模型与 SQL。
文法、函数式编程、λ 演算、类型系统与解释器。
形式语言与自动机的交互式可视化(自动机 / 文法)。以 JSAV 可视化模块为主干的"演示版"教材。
WebGL / GPU 图形管线入门与可视化。
DNA 序列比对与动态规划。
常用命令行与 Git 的交互式入门。
从面向对象过渡到数据结构的 Java 桥梁课程:继承、多态、集合与测试。
Java 中引用与内存模型的可视化教程。
C++ 指针与内存管理的可视化教程。
单带 / 多带图灵机练习集。
把各章内容汇聚成一本,适合系统自学或检索。
按章节组织的总目录,便于按主题跳转。
变形(Deforms)交互题的演示与测试集。
以“迭代”为主题的计算思维交互演示与练习。