CS 基础 (Computer Science Foundations)
这里汇集了计算机科学的基石课程,涵盖数学基础、数字逻辑与通用算法理论。这些知识不依赖于特定的编程语言或硬件平台,是构建上层建筑的地基。
模块导航
1. 离散数学 (Discrete Mathematics)
基于 UCB CS70: Discrete Mathematics and Probability Theory
这门课并非传统的离散数学,而是离散数学与概率论的深度结合。它不仅教授数学证明的技巧,更着重于如何用数学语言描述计算机系统中的核心问题(如密码学、纠错码、负载均衡等)。
- 核心内容:
- 逻辑与证明:命题逻辑、一阶逻辑、数学归纳法、稳定匹配问题
- 图论:图的基本性质、欧拉回路、超立方体
- 数论与应用:模运算、RSA 加密算法、多项式插值、纠错码 (Error Correction)
- 可计算性:对角线论证、停机问题
- 概率论:离散概率空间、贝叶斯定理、随机变量、期望与方差、马尔可夫链
- 👉 进入学习笔记
2. 數位邏輯設計 (Digital Logic Design)
基於 NTHU 10801: 數位邏輯設計 (Digital Logic Design)
本課程從最底層的邏輯閘 (Logic Gates) 出發,一路向上構建出完整的處理器 (Processor)。課程內容極為紮實,涵蓋了從布林代數到現代計算機體系結構的關鍵技術。
- 核心內容:
- 組合邏輯:布林代數、卡諾圖 (K-Map)、多工器 (Mux)、解碼器 (Decoder)
- 運算電路:二補數系統、Booth 乘法演算法、Wallace Tree 加法樹
- 時序邏輯:正反器 (Flip-Flops)、暫存器、計數器、有限狀態機 (FSM) 設計與優化
- 系統設計:演算法狀態機 (ASM)、微程式控制 (Microprogramming)、管線化 (Pipelining)、脈動陣列 (Systolic Arrays)
- 實作技術:Verilog HDL、FPGA 架構、可測試性設計 (DFT)
- 👉 進入學習筆記
3. 数据结构 (Data Structures)
基于 浙江大学: 数据结构 (Data Structures)
本课程是计算机科学的核心基础课,系统介绍了数据的组织、存储与运算方法。课程不仅涵盖了经典的数据结构(如树、图、堆、散列表),还深入讲解了与之紧密相关的基础算法(如排序、最短路径、MST),并强调了时间与空间复杂度的分析能力。
- 核心内容:
- 基础理论:算法复杂度分析、最大子列和问题
- 线性结构:链表、堆栈、队列及其应用(多项式运算)
- 树形结构:二叉树遍历、二叉搜索树 (BST)、平衡树 (AVL)、堆 (Heap)、哈夫曼树、并查集
- 图形结构:图的遍历 (DFS/BFS)、最短路径 (Dijkstra/Floyd)、最小生成树 (Prim/Kruskal)、拓扑排序
- 排序与查找:希尔排序、归并排序、快速排序、散列查找 (Hashing)、KMP 算法
- 👉 进入学习笔记