人的新鲜感总是难以为继,我们总是会不经意间开始厌倦已经熟悉的人和事
<iframe src=”https://www.youtube.com/v/Nz1KZXbg
课程安排
| LEC # | TOPICS | KEY DATES |
|---|---|---|
| Unit 1: Introduction | ||
| 1 | Algorithmic thinking, peak finding | Problem set 1 out |
| 2 | Models of computation, Python cost model, document distance | |
| Unit 2: Sorting and Trees | ||
| 3 | Insertion sort, merge sort | |
| 4 | Heaps and heap sort | |
| 5 | Binary search trees, BST sort | |
| 6 | AVL trees, AVL sort | |
| 7 | Counting sort, radix sort, lower bounds for sorting and searching | |
| Unit 3: Hashing | ||
| 8 | Hashing with chaining | |
| 9 | Table doubling, Karp-Rabin | |
| 10 | Open addressing, cryptographic hashing |
课程阅读
课程视频
由于本课程视频较为模糊,因此我们以其他的视频进行替代
| 课程 | 内容 | 完成情况 |
|---|---|---|
| 第一讲 | lecture-1-algorithmic-thinking-peak-finding | 完成 |
| 第二讲 | ||
| 第三讲 | ||
| 第四讲 | ||
| 第五讲 | ||
| 第六讲 | ||
| 第七讲 | ||
| 第八讲 | Hashing with Chaining | |
作业
| 作业 | 内容 | 完成情况 |
|---|---|---|
| boot xv6 (mit.edu) | Boot xv6 | 完成 |
| Finding and breaking at an address | 完成 | |
| Exercise: What is on the stack? | ||
| shell (mit.edu) | 完成:6.033: Hands-on Assignment (UNIX) (mit.edu) | |
| 阅读:chapter 0 of the xv6 book | 完成 | |
| 阅读:6.828 shell | 完成 | |
| 完成:实验环境搭建 | 完成 | |
| 完成:执行简单命令 | 完成 | |
| 完成:IO重定向 | 完成 | |
| 完成:实施管道 | 完成 | |
| 完成:挑战练习 | ||
| xv6 system calls (mit.edu) | 完成:syscall函数 | 完成 |
| 完成:date函数 | 完成 | |
| lazy page allocation | 完成:修改sbrk函数 | 完成 |
| 完成:lazy allocation | 框架搭好了,但尚未实现 | |
| Threads and Locking | 完成:对put进行加锁保护 | 完成,但是Hash表原理不太懂 |
实 验
| 实验 | 内容 | 完成情况 |
|---|---|---|
| Lab1 | 完成 | |
| Lab2 | 阅读:Introduction | 完成 |
| 完成:实验环境搭建 | 完成 | |
| 阅读:第一部分,物理页管理 | 完成 | |
| 阅读:第二部分,虚拟内存 | 完成 | |
| 阅读:第三部分,内核地址空间 | 完成 | |
| 编程:编写一个物理内存分配 boot_alloc | 完成 | |
| 第一部分:编写mem_init() | 完成 | |
| 第一部分:编写page_init | 完成 | |
| 第一部分:编写page_alloc和page_free | 完成 | |
| 第二部分:编写pgdir_walk | 完成 | |
| 第二部分: | ||