归档我在校期间完成的公开课作业与项目
UC Berkeley 的经典编程入门课程,通过 Python 和 Scheme 语言教授函数式编程、递归抽象和解释器实现。
- 内容:高阶函数、OOP、宏编程、Scheme 解释器、递归算法。
- 项目:蚂蚁战争模拟器(策略游戏)、Hog 骰子游戏(概率模拟)、Scheme 解释器(语言设计)。
- 技术栈:Python 3、Scheme、SQL,搭配 OK 自动化测试框架。
卡内基梅隆大学经典课程实验,通过实践深入理解计算机底层原理。
- Data Lab: 位操作与整数/浮点数表示(data/)
- Bomb Lab: 汇编代码逆向工程(bomb/)
- Attack Lab: 缓冲区溢出攻击实践(attack/)
- Cache Lab: 缓存模拟与优化(cache/)
- Malloc Lab: 实现自定义内存分配器(malloc/)
斯坦福大学经典操作系统课程实验,通过实践深入理解线程管理、用户程序和文件系统。
- 线程管理:实现优先级调度、信号量、锁和条件变量
- 用户程序:支持参数传递、系统调用(exec/wait/exit)和文件操作
MIT的经典分布式系统课程,通过Go语言实现分布式算法和系统组件。
- 内容: 分布式基础, Raft共识算法、ShardKV分片存储、MapReduce框架
- 关键实现:
- Raft:领导选举、日志复制、持久化
- ShardKV:动态分片迁移、配置变更
- MapReduce:容错处理、任务调度
- 技术栈:Go语言、RPC通信、线性一致性验证
现代计算机图形学入门课程,涵盖渲染、几何与动画核心内容。
- 核心内容:
- 光栅化渲染(贝塞尔曲线、深度测试)
- 几何处理(BVH加速、光线追踪)
- 着色模型(Phong光照、纹理映射)
《光线追踪周末速成》实践项目,通过C++实现基础光线追踪渲染器。
- 光线追踪基础:相机模型、光线与球体求交
- 材质系统:漫反射、金属、电介质(玻璃)
- 场景构建:多物体渲染、景深效果
斯坦福大学计算机系统课程,涵盖并行计算、GPU编程和分布式系统核心内容。
-
核心内容:
- 并行计算:OpenMP、SIMD指令集优化
- GPU编程:CUDA实现SAXPY、图像渲染
- 分布式系统:BFS算法优化、PageRank实现
-
技术栈:C++、CUDA、OpenMP
实现关系型数据库核心组件,包括B+树索引
- B+树索引:支持并发插入/删除/查找,实现节点分裂与合并
ECNU 本科课程
- 实现
GoldwasserMicali基于二次剩余的概率公钥加密算法 - 实现
ElGamal基于离散对数问题的公钥加密算法 - 实现
SolovayStassen素数检验算法