Skip to content

lzlcs/Courses

Repository files navigation

Courses

归档我在校期间完成的公开课作业与项目

Lists

CS61A: 计算机程序的构造和解释

UC Berkeley 的经典编程入门课程,通过 Python 和 Scheme 语言教授函数式编程、递归抽象和解释器实现。

  • 内容:高阶函数、OOP、宏编程、Scheme 解释器、递归算法。
  • 项目:蚂蚁战争模拟器(策略游戏)、Hog 骰子游戏(概率模拟)、Scheme 解释器(语言设计)。
  • 技术栈:Python 3、Scheme、SQL,搭配 OK 自动化测试框架。

CMU15213: 计算机系统 (ICS)

卡内基梅隆大学经典课程实验,通过实践深入理解计算机底层原理。

  • Data Lab: 位操作与整数/浮点数表示(data/)
  • Bomb Lab: 汇编代码逆向工程(bomb/)
  • Attack Lab: 缓冲区溢出攻击实践(attack/)
  • Cache Lab: 缓存模拟与优化(cache/)
  • Malloc Lab: 实现自定义内存分配器(malloc/)

Stanford-CS162: 操作系统与系统编程

斯坦福大学经典操作系统课程实验,通过实践深入理解线程管理、用户程序和文件系统。

  • 线程管理:实现优先级调度、信号量、锁和条件变量
  • 用户程序:支持参数传递、系统调用(exec/wait/exit)和文件操作

6.5840: Distributed Systems

MIT的经典分布式系统课程,通过Go语言实现分布式算法和系统组件。

  • 内容: 分布式基础, Raft共识算法、ShardKV分片存储、MapReduce框架
  • 关键实现:
    • Raft:领导选举、日志复制、持久化
    • ShardKV:动态分片迁移、配置变更
    • MapReduce:容错处理、任务调度
  • 技术栈:Go语言、RPC通信、线性一致性验证

GAMES 101: 计算机图形学基础

现代计算机图形学入门课程,涵盖渲染、几何与动画核心内容。

  • 核心内容:
    • 光栅化渲染(贝塞尔曲线、深度测试)
    • 几何处理(BVH加速、光线追踪)
    • 着色模型(Phong光照、纹理映射)

Ray Tracing in One Weekend

《光线追踪周末速成》实践项目,通过C++实现基础光线追踪渲染器。

  • 光线追踪基础:相机模型、光线与球体求交
  • 材质系统:漫反射、金属、电介质(玻璃)
  • 场景构建:多物体渲染、景深效果

CS149: 并行计算与系统设计

斯坦福大学计算机系统课程,涵盖并行计算、GPU编程和分布式系统核心内容。

  • 核心内容:

    • 并行计算:OpenMP、SIMD指令集优化
    • GPU编程:CUDA实现SAXPY、图像渲染
    • 分布式系统:BFS算法优化、PageRank实现
  • 技术栈:C++、CUDA、OpenMP

CMU 15445: 数据库系统

实现关系型数据库核心组件,包括B+树索引

  • B+树索引:支持并发插入/删除/查找,实现节点分裂与合并

NumberTheory: 信息安全数学基础

ECNU 本科课程

  1. 实现 GoldwasserMicali 基于二次剩余的概率公钥加密算法
  2. 实现 ElGamal 基于离散对数问题的公钥加密算法
  3. 实现 SolovayStassen 素数检验算法

Blog

lzlcs's Blog

About

Archive my labs and hws during my studies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published