CS lessons
目录
- software design
- 软件构造要素
- 软件工程基础
- Mathematics for Computer Science
- AI
- 计算思维与数据科学导论
- Topics in Mathematics with Applications in Finance
- signal & processing
- 編譯原理
- Automata, Computability, and Complexity
- 算法
- Introduction to Convex Optimization
- 理论计算机科学的伟大思想
- C内存管理和C ++面向对象编程简介
- 軟件工程
- 软件系统性能工程
- 多核编程入门
- Dynamic Programming and Stochastic Control
- 分佈式系統
- 并行計算
- OS
- CG
- 并行
software design
https://i.cs.hku.hk/~kpchan/csis0521/
[25/9] Software Requirement | [27/9] Software Architecture | [29/9] Software Design |
---|---|---|
可以在6.005 Github页面上找到一些读数的示例代码。
阅读 | 主题 |
---|---|
1:静态检查 | 种类静态检查与动态检查数组和集合反复进行方法变异变量与重新分配变量记录假设 |
2:基本Java | 快照图Java集合Java API文档 |
3:测试 | 验证方式测试优先编程通过分区选择测试用例黑盒和白盒测试记录测试策略覆盖范围单元测试和存根自动化测试和回归测试 |
4:代码审查 | 不要重复自己需要评论快速失败避免魔术数字每个变量一个目的使用好名字使用空格帮助读者不要使用全局变量方法应返回结果,而不是打印结果 |
5:版本控制 | 发明版本控制Git:复制,提交,拉,推,合并 |
6:规格 | 为什么要规格?行为对等规格结构空引用规范可以谈论什么测试与规格突变方法规格错误通知的异常特殊结果的例外已检查和未检查的异常可抛出的层次结构异常设计注意事项滥用例外 |
7:设计规范 | 确定性与不确定性规范声明性规范与操作规范较弱者规格更强图表规格设计良好的规格前置条件还是后置条件?关于访问控制关于静态方法与实例方法 |
8:避免调试 | 第一道防线:消除错误第二防御:本地化错误断言断言什么什么不断言增量发展模块化和封装 |
9:可变性和不变性 | 变异性变异的风险混淆是使变异具有风险的原因突变方法规格遍历数组和列表突变破坏了迭代器突变与契约有用的实现类型 |
10:递归 | 为问题选择正确的分解递归实现的结构辅助方法选择正确的递归子问题递归问题与递归数据重入代码何时使用递归而不是迭代递归实现中的常见错误 |
11:调试 | 重现错误了解错误的位置和原因修正错误 |
12:抽象数据类型 | 抽象是什么意思分类类型和操作设计抽象类型代表独立用Java实现ADT概念测试和抽象数据类型 |
13:抽象函数和Rep不变量 | 不变量Rep不变和抽象函数记录Rep曝光的AF,RI和安全性ADT不变式替换前提条件 |
14:接口 | 介面亚型示例:MyString示例:设置通用接口为什么要接口?用Java实现ADT概念,第二部分 |
15:平等 | 平等的三种方式== vs.equals()不变类型的相等对象合同可变类型的相等Equals()和hashCode()的最终规则 |
16:递归数据类型 | 递归函数不可变列表递归数据类型定义递归数据类型上的函数调整代表空与空声明类型与实际类型示例:布尔公式用ADT编写程序使用ADT进行编程的食谱示例:矩阵乘法 |
17:正则表达式和语法 | 文法常用表达 |
18:解析器生成器 | 解析器生成器副语法生成解析器调用解析器遍历解析树构造抽象语法树处理错误 |
19:并发 | 并发编程的两种模型进程,线程,时间分片示例:共享内存交织比赛条件调整代码无济于事重新排序示例:消息传递并发很难测试和调试 |
20:线程安全 | 线程安全是什么意思策略1:禁闭策略2:不变性策略3:使用Threadsafe数据类型如何提出安全论点 |
21:套接字和网络 | 客户端/服务器设计模式网络插座输入输出封锁使用网络套接字有线协议测试客户端/服务器代码 |
22:队列和消息传递 | 两种并发模型带线程的消息传递使用队列实现消息传递正在停止带有消息传递的线程安全参数 |
23:锁定和同步 | 同步化僵局开发ThreadSafe抽象数据类型锁定监控模式带有同步的线程安全参数原子操作设计并发数据类型死锁抬起丑陋的头并行程序设计的目标实践中的并发 |
24:图形用户界面 | 查看树如何使用视图树输入处理将前端与后端分离图形用户界面中的后台处理 |
25:地图,过滤器,缩小 | 抽象控制流地图作为价值的功能过滤降低抽象控制的好处Java中的一流函数Java中的Map / Filter / ReduceJava中的高阶函数 |
26:小语言 | 将代码表示为数据建立解决问题的语言音乐语言 |
27:团队版本控制 | Git工作流程查看提交历史提交图团队使用版本控制 |
软件构造要素
课程特色
软件工程基础
课程特色
Mathematics for Computer Science
Course Features
- Video lectures
- Captions/transcript
- Interactive assessments
- Online textbooks
- Lecture notes
- Assignments: problem sets (no solutions)
- Exams (no solutions)
- Resource Index
AI
讲义 | 主题 |
---|---|
教程1(PDF) | 基于规则的系统,搜索 |
教程2(PDF) | 游戏,约束满足问题 |
指南3(PDF) | K近邻,决策树,神经网络 |
教程4(PDF) | 自顶向下的神经网络方法 |
教程5(PDF) | 支持向量机,提升 |
指南6(PDF) | 概率,贝叶斯网络,朴素贝叶斯,模型选择 |
计算思维与数据科学导论
SES编号 | 演讲幻灯片 | 代码和附加文件 |
---|---|---|
1个 | 第1课:简介和优化问题(PDF) | 第1课(ZIP)的其他文件(此ZIP文件包含:1个.txt文件和1个.py文件) |
2 | 第2课:优化问题(PDF-6.9MB) | 第2课(ZIP)的其他文件(此ZIP文件包含:1个.txt文件和1个.py文件) |
3 | 第3课:图论模型(PDF) | 第3课(PY)的代码文件 |
4 | 讲座4:随机思维(PDF) | 第4课(PY)的代码文件 |
5 | 讲座5:随机漫步(PDF) | 第5课(PY)的代码文件 |
6 | 讲座6:蒙特卡洛模拟(PDF-1.2MB) | 第6课(PY)的代码文件 |
7 | 第7课:置信区间(PDF) | 第7课(PY)的代码文件 |
8 | 第8讲:采样和标准误差(PDF-1.3MB) | 第8课的其他文件(ZIP-1.6MB)(此ZIP文件包含:1个.csv文件和1个.py文件) |
9 | 第9课:了解实验数据(PDF) | 第9课(ZIP)的其他文件(此ZIP文件包含:4个.txt文件和1个.py文件) |
10 | 第10课:了解实验数据(续)(PDF-1.3MB) | 第10课的其他文件(ZIP-1.7MB)(此ZIP文件包含:1个.csv文件,7个.txt文件和2个.py文件) |
11 | 第11课:机器学习简介(PDF-1.1MB) | 第11课(PY)的代码文件 |
12 | 第十二课:聚类(PDF) | 第12课(ZIP)的其他文件(此ZIP文件包含:1个.txt文件和2个.py文件) |
13 | 第13课:分类(PDF) | 第13课(ZIP)的其他文件(此ZIP文件包含:1个.txt文件和1个.py文件) |
14 | 第十四课:分类和统计罪(PDF) | 第14课(ZIP)的其他文件(此ZIP文件包含:1个.txt文件和1个.py文件) |
15 | 第15课:统计罪与总结(PDF-1.1MB) | 第15课(PY)的代码文件 |
Topics in Mathematics with Applications in Finance
LEC编号 | 主题 |
---|---|
1个 | 简介与财务条款和概念(PDF) |
2 | 线性代数(PDF) |
3 | 概率论(PDF) |
4 | Matrix Primer [没有讲义,但请参阅Morgan Stanley Matrix TM微型网站以获取有关此主题的信息] |
5 | 随机过程I(PDF) |
6 | 回归分析(PDF) |
7 | 风险价值(VAR)模型(PDF-1.1MB) |
8 | 时间序列分析I(PDF) |
9 | 波动率建模(PDF) |
10 | 正则定价和风险模型(PDF-2.0MB) |
11 | 时间序列分析II(PDF) |
12 | 时间序列分析III(PDF) |
13 | 商品模型(PDF-1.1MB) |
14 | 投资组合理论(PDF) |
15 | 因子建模(PDF) |
16 | 投资组合管理(PDF) |
17 | 随机过程II(PDF) |
18岁 | 伊藤微积分(PDF) |
19 | Black-Scholes公式和风险中性评估(PDF) |
20 | 期权价格和概率对偶[无讲义] |
21 | 随机微分方程(PDF) |
22 | 变异演算及其在FX执行中的应用[无演讲笔记] |
23 | Quanto信贷对冲(PDF-1.1MB) |
24 | HJM利率和信贷模型(PDF) |
25 | 罗斯恢复定理(PDF) |
26 | 交易对手信用风险结论简介(PDF) |
signal & processing
以下注释主要是讲座视频中看到的幻灯片和演示板的静止图像。它们可用于参考每个讲座的内容。
LEC编号 | 主题 | 演讲笔记 |
---|---|---|
1个 | 介绍 | (PDF) |
2 | 信号与系统:第一部分 | (PDF) |
3 | 信号和系统:第二部分 | (PDF) |
4 | 卷积 | (PDF) |
5 | 线性时不变系统的性质 | (PDF) |
6 | 用微分和差分方程表示的系统 | (PDF) |
7 | 连续时间傅立叶级数 | (PDF) |
8 | 连续时间傅立叶变换 | (PDF) |
9 | 傅立叶变换特性 | (PDF) |
10 | 离散傅立叶级数 | (PDF) |
11 | 离散傅立叶变换 | (PDF) |
12 | 筛选 | (PDF) |
13 | 连续时间调制 | (PDF) |
14 | 调幅演示 | (PDF) |
15 | 离散时间调制 | (PDF) |
16 | 采样 | (PDF) |
17 | 插补 | (PDF) |
18岁 | 连续时间信号的离散时间处理 | (PDF) |
19 | 离散时间采样 | (PDF) |
20 | 拉普拉斯变换 | (PDF) |
21 | 连续时间二阶系统 | (PDF) |
22 | z转换 | (PDF) |
23 | 将连续时间过滤器映射到离散时间过滤器 | (PDF) |
24 | 巴特沃思过滤器 | (PDF) |
25 | 反馈 | (PDF) |
26 | 反馈示例:倒立摆 | (PDF) |
編譯原理
本节包含选定的讲义。前一个学期的音频和视频讲座可在2005年秋季的“ 6.035讲座笔记”部分中找到。
SES编号 | 主题 | 演讲笔记 |
---|---|---|
1个 | 介绍 | (PDF) |
2 | 使用正则表达式和无上下文语法指定语言 | (PDF) |
3 | 移位减少解析简介解析表构造 | (PDF)(PDF) |
4 | 自上而下的解析 | (PDF) |
5 | 中间格式 | (PDF) |
6 | 语义分析 | (PDF) |
7 | 未优化的代码生成 | (PDF) |
8 | 未优化的代码生成(续) | (PDF) |
9 | 程序分析和优化简介 | (PDF) |
10 | 数据流分析简介 | (PDF) |
11-12 | 数据流分析的基础 | (PDF) |
13 | 代码优化简介:指令调度 | (PDF) |
14 | 循环优化:指令调度 | (PDF) |
15 | 更多循环优化 | (PDF) |
16 | 寄存器分配 | (PDF) |
17 | 并行化 | (PDF) |
18岁 | 内存优化 | (PDF-2.5MB) |
19 | 全部放在一起 | |
20 | 讨论编译器中的研究项目 |
Automata, Computability, and Complexity
LEC编号 | 主题 | 演讲笔记 |
---|---|---|
1个 | 介绍 | (PDF) |
2 | 逻辑,电路和门 | (PDF) |
3 | 确定性有限自动机(DFAs)和非确定性有限自动机(NFA) | (PDF) |
4 | NFA和正则表达式 | (PDF) |
5 | 非常规语言和抽水现象 | (PDF) |
6 | 图灵机 | (PDF) |
7 | 可判定性 | (PDF) |
8 | 不确定的问题和邮政对应问题(PCP) | (PDF) |
9 | 映射可约性与莱斯定理 | (PDF) |
10 | 自指和递归定理 | (PDF) |
11 | 密码学导论 | (PDF) |
12 | 复杂性理论 | (PDF) |
13 | 伪随机数发生器和单向函数 | (PDF) |
14 | 公钥加密 | (PDF) |
15 | 更多复杂性理论 | (PDF) |
16 | NP完整性更高 | (PDF) |
17 | 概率图灵机和复杂度等级 | (PDF) |
18岁 | 活板门单向功能和零知识证明 | (PDF) |
19 | 大概正确(PAC)学习 | (PDF) |
20 | 更多PAC学习 | (PDF) |
21 | 量子概论 | (PDF) |
22 | 量子力学和BQP | (PDF) |
23 | 量子算法 | (PDF) |
算法
LEC编号 | 演讲笔记 |
---|---|
1个 | 引言,中位数发现(PDF) |
2 | 中位数查找,间隔计划(PDF) |
3 | 最小生成树I (PDF) |
4 | 最小生成树II (PDF) |
5 | 快速傅立叶变换(PDF) |
6 | 全对最短路径I (PDF) |
7 | 全对最短路径II (PDF) |
8 | 随机算法I (PDF) |
9 | 随机算法II (PDF) |
10 | 散列和摊销(PDF) |
11 | 摊销分析(PDF) |
12 | 竞争分析(PDF) |
13 | 网络流(PDF) |
14 | 插曲:解决问题(PDF) |
15 | van Emde Boas数据结构(PDF) |
16 | 不相交的数据结构(PDF) |
17 | 复杂性和NP完整性(PDF) |
18岁 | 多项式时间近似(PDF) |
19 | 压缩和霍夫曼编码(PDF) |
20 | 亚线性时间算法(PDF) |
21 | 聚类(PDF) |
22 | 去随机化(PDF) |
23 | 计算几何(PDF) |
Introduction to Convex Optimization
LEC编号 | 主题 | 演讲笔记 |
---|---|---|
1个 | 介绍数学优化;最小二乘和线性规划;凸优化 课程目标和主题;非线性优化。 | (PDF) |
2 | 凸集凸台和圆锥;一些常见和重要的例子;保留凸度的操作。 | (PDF) |
3 | 凸函数凸函数;常见的例子;保留凸度的操作;拟凸和对数凸函数。 | (PDF) |
4 | 凸优化问题凸优化问题;线性和二次程序;二阶锥和半定程序;拟凸优化问题;向量和多准则优化。 | (PDF) |
5 | 二元性拉格朗日对偶函数和问题;示例和应用程序。 | (PDF) |
6 | 逼近和拟合范数逼近;正规化;强大的优化。 | (PDF) |
7 | 统计估计最大似然和MAP估计;探测器设计;实验设计。 | (PDF) |
8 | 几何问题投影; 极体椭球; 定心; 分类; 放置和位置问题。 | (PDF) |
9 | 滤波器设计和均衡FIR滤波器 通用和对称低通滤波器设计;切比雪夫均衡;通过频谱分解进行幅度设计。 | (PDF) |
10 | 杂项应用多周期处理器速度调度;最短时间最佳控制;抓力优化;最佳广播发射机功率分配;相控阵天线波束成形;最佳接收器位置。 | (PDF) |
11 | l 1个凸基数问题的方法凸基数问题和例子;l 1启发式;解释为放松。 | (PDF) |
12 | l 1个解决凸基数问题的方法(续)总变异重建;迭代重新加权l 1;秩最小化和双重频谱范式启发式。 | (PDF-1.4MB) |
13 | 随机编程随机编程;“等价性”问题;违反/短缺限制和处罚;蒙特卡洛采样方法;验证。 | (PDF) |
14 | 机会约束优化机会约束和百分位优化;对数凹面分布的机会约束;机会约束的凸近似。 | (PDF) |
15 | 数值线性代数背景基本线性代数运算;因子分解法 稀疏矩阵方法。 | (PDF) |
16 | 无约束最小化梯度和最陡下降法;牛顿法 自一致性复杂度分析。 | (PDF) |
17 | 等式约束最小化消除方法;牛顿法 不可行的牛顿法。 | (PDF) |
18岁 | 内点法屏障法;顺序无约束最小化;自一致性复杂度分析。 | (PDF) |
19 | 纪律凸编程和CVX凸优化求解器;建模系统;严格的凸规划;CVX。 | (PDF) |
20 | 结论 |
理论计算机科学的伟大思想
LEC编号 | 主题 |
---|---|
1个 | 简介(PDF) |
2 | 逻辑(PDF) |
3 | 电路和有限自动机(PDF) |
4 | 图灵机(PDF) |
5 | 还原性和哥德尔(PDF) |
6 | 思想和机器(PDF) |
7 | 复杂性(PDF) |
8 | 多项式时间(PDF) |
9 | P和NP(PDF) |
10 | NP完整性(PDF) |
11 | 实际中的NP完整性(PDF) |
12 | 空间复杂性及更多(PDF) |
13 | 随机性(PDF) |
14 | 概率复杂度类(PDF) |
15 | 非随机化/加密双重功能(PDF) |
16 | 私钥加密(PDF) |
17 | 公钥加密(PDF) |
18岁 | 加密协议(PDF) |
19 | 互动式证明/机器学习(PDF) |
20 | 大概正确(PAC)学习(PDF) |
21 | 学习,乔姆斯基,RSA,量子(PDF) |
22-23 | 量子计算(PDF) |
24 | 量子算法(PDF) |
C内存管理和C ++面向对象编程简介
SES编号 | 主题 | 演讲笔记 | 支持文件 |
---|---|---|---|
1个 | 使用C / C ++的动机;讨论C和C ++在抽象层次结构中的位置;编写我们的第一个C程序 | (PDF) | |
2 | C语言中内存操作的后勤(指针,结构) | (PDF) | (ZIP)(此ZIP文件包含:1个.c文件和1个.h文件。) |
3 | 用C语言进行更高级的内存操作。我们将显示双链表插入到位,使用双指针插入链表,使用内存的极端情况(当我们实际上需要堆分配时),等等。 | (PDF) | |
4 | C ++简介;封装:类,名称空间,构造函数和析构函数;C ++中的内存管理(新增,删除);操作员重载和标准输入/输出 | (PDF) | (ZIP)(此Zip文件包含:3个.cc文件和2个.h文件。) |
5 | 继承和多态性;模板;标准库容器 | (PDF) | (ZIP)(此ZIP文件包含:4个.cc文件和3个.h文件。) |
6 | 交易技巧。人们在访谈等中可能看到的东西。复习和讨论所涉及的主题,问答。 | (PDF) |
軟件工程
SES编号 | 主题 | 演讲笔记 |
---|---|---|
第一周 | ||
L1 | 介绍 | (PDF) |
L2 | 对象语义 | (PDF) |
第二周 | ||
L3 | 子类化 | (PDF) |
L4 | 技术指标 | (PDF) |
L5 | 测验 | (PDF) |
第三周 | ||
L6 | 对象模型符号代码摘要 | (PDF)(PDF) |
L7 | ADT简介 | (PDF) |
第四周 | ||
L8 | 表示不变式 | (PDF) |
L9 | 抽象功能 | (PDF) |
L10 | 依赖关系和去耦 | (PDF) |
第五周 | ||
L11 | 例外情况 | (PDF) |
L12 | 平等 | (PDF) |
L13 | 多态性:Gilad Bracha的客座演讲 | |
第六周 | ||
L14 | 子类型和子类 | (PDF) |
第七周 | ||
L15 | 类和接口 | (PDF) |
L16 | 可用性1 | (PDF)(由Robert Miller教授提供。经许可使用。) |
L17 | 可用性2 | (PDF)(由Robert Miller教授提供。经许可使用。) |
第八周 | ||
L18 | 设计模式 | (PDF) |
L19 | 设计项目经验1 | (PDF) |
L20 | 设计项目经验2 | (PDF) |
第十周 | ||
L21 | 管理小型软件团队 | (PDF)(由Corey McCaffrey提供。经许可使用。) |
第11周 | ||
L22 | Joshua Bloch和Neal Gafter的客座演讲 |
软件系统性能工程
多核编程入门
Dynamic Programming and Stochastic Control
LEC编号 | 主题 |
---|---|
有限期问题 | |
讲座1(PDF) | 动态编程导论动态编程的例子反馈的意义 |
讲座2(PDF) | 基本问题最优原则通用动态规划算法状态增强 |
讲座3(PDF) | 确定性有限状态问题向后最短路径算法前向最短路径算法替代最短路径算法 |
讲座4(PDF) | 随机动态规划问题的例子线性二次问题库存控制 |
讲座5(PDF) | 停止问题安排问题最小最大控制 |
讲座6(PDF) | 状态信息不完善的问题简化到完美状态信息Cas线性二次问题估计与控制分离 |
讲座7(PDF) | 状态信息不完善足够的统计有条件的状态分布作为充分的统计量有限状态分析 |
讲座8(PDF) | 次优控制成本估算方法:分类确定性等效控制有限的超前政策绩效界限问题近似法参数成本估算 |
讲座9(PDF) | 推出算法成本改善特性离散确定性问题推出算法的近似值模型预测控制(MPS)连续时间离散化连续空间的离散化其他次优方法 |
简单的无限地平线问题 | |
讲座10(PDF) | 无限地平线问题随机最短路径(SSP)问题贝尔曼方程动态编程–值迭代贴现问题作为SSP的特例 |
讲座11(PDF) | 随机最短路径问题综述SSP的计算方法贴现问题的计算方法 |
讲座12(PDF) | 每阶段平均成本问题与随机最短路径问题的联系贝尔曼方程价值迭代,策略迭代 |
讲座13(PDF) | 连续时间马尔可夫链的控制:半马尔可夫问题问题表述:等价于离散问题折扣问题平均成本问题 |
高级无限视野问题 | |
讲座14(PDF) | 高级无限视界动态规划和逼近方法简介 |
讲座15(PDF) | 贴现问题基本理论述评收缩特性的单调性动态规划中的收缩映射折扣问题:具有无限成本的可数状态空间广义折扣动态规划抽象动态编程简介 |
讲座16(PDF) | 贴现问题计算理论的回顾值迭代(VI)策略迭代(PI)乐观的PI广义折扣动态规划的计算方法异步算法 |
讲座17(PDF) | 未打折的问题随机最短路径问题正确与不正确的政策SSP的分析与计算方法SSP的病理弱条件下的SSP |
讲座18(PDF) | 未折现的总成本问题正负成本问题确定性最优成本问题自适应(线性二次)动态编程仿射单论和风险敏感性问题 |
讲座19(PDF) | 近似动态编程简介政策空间中的近似价值空间中的逼近,基于部署/模拟的单策略迭代使用问题逼近在值空间中逼近 |
讲座20(PDF) | 折扣问题近似(拟合)VI近似PI投影方程收缩特性:误差范围投影方程的矩阵形式基于仿真的实现LSTD,LSPE和TD方法 |
讲座21(PDF) | 近似策略迭代的审查政策评估的投影方程法基于仿真的实现问题,多步投影方程法偏差-偏差权衡探索增强的实现,振荡 |
演讲22(PDF) | 聚合作为一种近似方法汇总问题基于模拟的聚合Q学习 |
讲座23(PDF) | 高级动态编程中的其他主题随机最短路径问题平均成本问题概论基本功能适应策略空间中基于梯度的近似概述 |
(A):由Arvind教授讲授的课程
(J):由Joel Emer博士讲授的课程
SES编号 | 主题 |
---|---|
模块1 | |
L1 | 计算和计算机体系结构的历史(A)(PDF) |
L2 | 技术和软件对指令集的影响:直到IBM 360(A)到来(PDF) |
L3 | 六十年代复杂指令集的演进:堆栈和GPR架构(A)(PDF) |
L4 | 微程序设计(A)(PDF) |
L5 | 简单指令流水线(A)(PDF) |
L6 | 管道危害(A)(PDF) |
模块2 | |
L7 | 多级内存-技术(J)(PDF) |
L8 | 缓存(内存)性能优化(J)(PDF) |
L9 | 虚拟内存基础知识(J)(PDF) |
L10 | 虚拟内存:半双工(A)(PDF) |
模块3 | |
L11 | 复杂流水线(A)(PDF) |
L12 | 乱序执行和寄存器重命名(A)(PDF) |
L13 | 分支预测和推测执行(A)(PDF) |
L14 | 先进的超标量架构(J)(PDF) |
L15 | 微处理器演进:4004至Pentium 4(J)(PDF) |
模块4 | |
L16 | 同步和顺序一致性(A)(PDF) |
L17 | 缓存一致性(A)(PDF) |
L18 | 缓存一致性(实现)(A)(PDF) |
L19 | 史努比协议(A)(PDF) |
L20 | 松弛记忆模型(A)(PDF) |
模块5 | |
L21 | VLIW / EPIC:静态调度的ILP(J)(PDF) |
L22 | 向量计算机(J)(PDF) |
L23 | 多线程处理器(J)(PDF) |
L24 | 可靠的架构(J)(PDF) |
L25 | 虚拟机(J)(PDF) |
分佈式系統
EC编号 | 主题 | 讲义 |
---|---|---|
1个 | 简介和操作系统审查(PDF) | syscall.c(C)webserver.c(C) |
2 | I / O并发(PDF 1)事件驱动的编程(PDF 2) | events.c(C)webclient.c(C)webclient_libasync.c(C) |
3 | 事件驱动的编程(续)(PDF) | arpc.c(C) |
4 | 网络文件系统(PDF) | |
5 | RPC透明度(PDF) | |
6 | 崩溃恢复(PDF) | |
7 | 记录(PDF) | |
8 | 缓存一致性和锁定(PDF) | |
9 | 内存一致性(PDF) | |
10 | 第一次项目会议 | |
11 | 内存一致性(续)(PDF) | |
12 | 矢量时间戳和版本矢量(PDF) | |
13 | 两阶段提交(PDF) | |
14 | Paxos(PDF) | |
15 | 带时间戳的复制(PDF) | |
16 | 竖琴(PDF) | |
17 | 第二次项目会议 | |
18岁 | 素馨花(PDF) | |
19 | 可扩展查找(PDF) | |
20 | 广域存储 | |
21 | 骇客日(无课) | |
22 | 项目示范 | |
23 | 内容分配 | |
24 | 分布式计算 |
并行計算
LEC编号 | 主题 | 档案 |
---|---|---|
1个 | 表达并行计算 | (PDF) |
2 | pH中的隐式并行编程:函数和类型 | (PDF) |
3 | ג-微积分:功能语言的基础 | (PDF) |
4 | 带有常数和Let-块的A-微积分 | (PDF) |
5 | 带Let块的ג-微积分(续) | (PDF) |
6 | Hindley-Milner类型系统 | (PDF) |
7 | Hindley-Milner类型系统(续) | (PDF) |
8 | 列表和代数类型 | (PDF) |
9 | 脱糖列表理解和模式匹配 | (PDF) |
10 | 数组编程 | (PDF) |
11 | I-结构和开放列表 | (PDF) |
12 | M结构:使用状态和不确定性进行编程 | (PDF) |
13 | M结构续 | (PDF) |
14 | λS:具有副作用的Lambda微积分 | (PDF) |
15 | 使用Monad输入和输出 | (PDF) |
16 | 使用Monad进行结构计算 | (PDF) |
17 | Bluespec-1:一种用于硬件设计,仿真和综合的语言 | (PDF) |
18岁 | Bluespec-2:Bluespec编译模型和编程简介 | (PDF) |
19 | Bluespec-3:IP查找问题 | (PDF) |
20 | Bluespec-4:模块和类型类 | (PDF) |
21 | Bluespec-5:编程示例 | (PDF) |
22 | 术语重写系统 | (PDF) |
23 | ג-微积分的合流 | (PDF) |
OS
LEC编号 | 演讲主题和笔记 | 阅读和讲义 |
---|---|---|
1个 | 操作系统(PDF) | xv6书的“第0章:操作系统接口” |
2 | PC硬件和x86编程(PDF) | xv6书的“附录A:PC硬件”和“附录B:引导加载程序”,以及相关的xv6源文件 |
3 | 主要内部组件概述,系统调用界面(PDF) | “第1章:第一个过程”和相关的xv6源文件 |
4 | 虚拟内存(PDF) | “第二章:页表”页表翻译和寄存器(PDF) |
5 | 中断,异常(PDF) | “第3章:陷阱,中断和驱动程序”以及相关的xv6源文件IDT(PDF) |
6 | 多处理器和锁定(PDF) | 使用spinlock.c和mp.c浏览“第4章:锁定” |
7 | 流程和转换(PDF) | 使用proc.c,setjmp.S和sys_fork(在sysproc.c中)进行“第5章:计划”直至“睡眠和唤醒” |
8 | 睡眠与唤醒(PDF) | 阅读“第5章:计划”的其余部分;读取proc.c和sys_wait,sys_exit,sys_kill的其余部分 |
9 | 文件系统(PDF) | “第6章:文件系统”和bio.c,fs.c,sysfile.c,file.c(记录部分除外) |
10 | 崩溃恢复(PDF) | 阅读log.c和“第6章:文件系统”的日志记录部分 |
11 | 文件系统性能和快速崩溃恢复(PDF) | Tweedie,StephenC。“记录Linux ext2fs文件系统”。[在LinuxExpo 1998上发表的论文]。 |
12 | 项目介绍与讨论 | |
13 | 操作系统组织(PDF) | Engler,Dawson R.,M。Frans Kaashoek和James O'Toole Jr.“ Exokernel:用于应用程序级资源管理的操作系统体系结构。” |
14 | 课堂骇客课程 | |
15 | 项目会议 | |
16 | 项目会议(续) | |
17 | 语言/操作系统协同设计(PDF) | Hunt,Galen C.和James R. Larus。“奇点:重新思考软件堆栈。” Microsoft Research Redmond 41,没有。2(2007):37-49。 |
测验 | 测验(打开的书和笔记) | |
18岁 | 可伸缩锁(PDF) | Boyd-Wickizer,Silas,M.Frans Kaashoek等。“不可伸缩的锁很危险。” |
19 | 项目会议 | |
20 | 项目会议(续) | Boyd-Wickizer,Silas,Austin T.Clements等。“ Linux对许多核心的可伸缩性分析。” |
21 | 无锁协调(PDF) | |
22 | 虚拟机(PDF) | 亚当斯,基思和奥莱·艾格森。“ x86虚拟化的软件和硬件技术比较。” ACM数字图书馆34,没有。5(2006):2-13。 |
23 | 没有讲座;完成最终项目 | |
24 | 课堂演示 | |
25 | 课堂上的演示(续) |
CG
LEC编号 | 主题 |
---|---|
00 | 简介和课程概述(PDF-2.5MB) |
01 | 贝塞尔曲线和样条曲线(PDF) |
02 | 曲线特性和转换,表面表示(PDF-1.7MB) |
03 | 坐标与变换(PDF-1.5MB) |
04 | 分层建模(PDF-2.1MB) |
05 | 彩色(PDF-3.5MB) |
06 | 计算机动画的基础-蒙皮/封装(PDF-2.4MB) |
07 | 粒子系统和ODE(PDF-1.8MB) |
08 | 粒子系统和ODE解算器II,质量弹簧建模(PDF-1.4MB) |
09 | 隐式集成,碰撞检测(PDF-1.7MB) |
10 | 碰撞检测和响应(PDF-1.2MB) |
11 | 射线投射和渲染(PDF-3.2MB) |
12 | 射线铸造II(PDF-2.0MB) |
13 | 射线追踪(PDF-2.9MB) |
14 | 射线投射的加速结构(PDF) |
15 | 阴影和材质外观(PDF-1.8MB) |
16 | 纹理贴图和明暗器(PDF-2.2MB) |
17 | 采样,别名和Mipmap(PDF-1.6MB) |
18岁 | 全球照明和蒙特卡洛(PDF-2.7MB) |
19 | 基于图像的渲染和照明(本讲义不可用) |
20 | 输出设备(不提供讲义) |
21 | 图形管道和栅格化(PDF-2.4MB) |
22 | 图形管线和栅格化II(PDF-2.2MB) |
23 | 实时阴影(PDF-2.8MB) |
24 | 图形硬件和计算机游戏(不提供讲义) |
并行
LEC编号 | 主题 |
---|---|
第一周 | |
1个 | 动态多线程(PDF)(由Ben Adida和Abhi Shelat提供。经许可使用。) |
第二周 | |
2 | 民间,矩阵乘法和排序(PDF) |
3 | 串行性能和缓存(PDF)(由Kenneth Barr和Zardosht Kasheff提供。经许可使用。) |
第三周 | |
4 | 确定性检测和种族检测(PDF)(由Siddhartha Sen和Jim Sukha提供。经许可使用。) |
5 | 内存子系统的一致性 |
第四周 | |
6 | 分析空间界限(PDF)(由Jeremy Fineman和Siddhartha Sen提供。经许可使用。) |
第五周 | |
7 | 内存争用(PDF)(由Barbara Mack和C.Scott Ananian提供。经许可使用。) |
8 | Cilk Scheduler(PDF)(由Barbara Mack和Kevin Matulef提供。经许可使用。) |
第六周 | |
9 | 民间调度程序分析(PDF)(由Alexandru Caracas和C.Scott Ananian提供。经许可使用。) |
10 | 民间实施(PDF) |
第七周 | |
11 | 项目介绍1 |
第八周 | |
12 | 项目介绍2 |
13 | 内存一致性的实现(PDF)(由塞思·吉尔伯特(Seth Gilbert)和谢勇提供。经许可使用。) |
第9周 | |
14 | 竞争性Snoopy缓存 |
15 | 史努比缓存和自旋阻塞问题 手写笔记(PDF) |
第十周 | |
16 | 超三次网络1 幻灯片(PDF) 手写笔记(PDF) |
17 | 超三次网络2(PDF) |
第11周 | |
18岁 | 超立方网络3(PDF)(由Sriram Saroop和Wang Junqing提供。经许可使用。) 演讲幻灯片(PDF) |
第十二周 | |
19 | 压缩路由 |
20 | 在并行磁盘上置换数据 手写说明(PDF) |
第13周 | |
21 | 排序和排列 手写笔记(PDF) |
22 | 选择优胜者 |
第14周 | |
23 | 最终项目介绍 |
24 | 最终项目介绍 (续) |
第15周 | |
25 | 最终项目介绍 (续) |
26 | 最终项目介绍 (续) 最终论文 |