Ancient CS 61 Content Warning!!!!!1!!!
This is not the current version of the class.
This site was automatically translated from a wiki. The translation may have introduced mistakes (and the content might have been wrong to begin with).

Please note that the schedule is subject to change.

Videos of the lectures are available here. Videos will generally be available within two days of the lecture.

It is far preferable to have the 2nd edition of the textbook. However, we indicate how the readings differ for the first edition. Note there are a few sections that occur only in the 2nd edition (e.g., 3.13), and all students should read them. There is a copy of the 2nd edition on reserve in the library.

Date

Lec.

Topic

Recommended Reading

Notes

Th 1-Sep

1

Course overview

Lec01.pdf

Tu 6-Sep

2

Machine representation of information

2.1-2.3

Lec02.pdf
HW 1 (representation) released

Th 8-Sep

3

Machine programming 1: Introduction

3.1-3.4

Lec03.pdf
HW 2 (bomb) released

Tu 13-Sep

4

Machine programming 2: Control flow

3.5-3.6

Lec04.pdf
HW 1 due

Th 15-Sep

5

Machine programming 3: Procedures

3.7

Lec05.pdf

Tu 20-Sep

6

Machine programming 4: Structured data

3.8-3.10

Lec06.pdf

Th 22-Sep

7

Machine programming 5: Buffer overruns and stack exploits

3.11-3.13
1st ed: Read 3.13 in 2nd Ed.

Lec07.pdf
HW 2 due
HW 3 (buffer) released

Tu 27-Sep

8

Processor architecture

Lec08.pdf

Th 29-Sep

9

Program optimization

5.1-5.11

Lec09.pdf

Tu 4-Oct

10

Dynamic memory allocation 1

9.9
1st ed: 10.9

Lec10.pdf
HW 4 (malloc) released

Th 6-Oct

11

Dynamic memory allocation 2

9.10-9.11
1st ed: 10.10-10.11

Lec11.pdf
HW 3 due

Tu 11-Oct

12

Memory and storage technologies

6.1-6.3

Lec12.pdf

Th 13-Oct

13

Caching

6.4-6.7
1st ed: 6.4-6.8

Lec13.pdf
HW 4 design checkpoint

Tu 18-Oct

14

Cache performance measurement and optimization

5.12-5.15
1st ed: 5.13-5.16

Lec14.pdf

Th 20-Oct

15

Virtual memory

9.1-9.6
1st ed: 10.1-10.6

Lec15.pdf
HW 4 due

Tu 25-Oct

16

Linking and loading

7.1-7.11

Lec16.pdf

Th 27-Oct

Midterm exam in class

Tu 1-Nov

17

Threads and concurrency

12.1,12.3
1st ed: 13.1,13.3

Lec17.pdf
HW 5 (concurrency) released

Th 3-Nov

18

Synchronization

12.4
1st ed: 13.4

Lec18.pdf

Tu 8-Nov

19

Semaphores, CVs, and monitors

12.5
1st ed: 13.5

Lec19.pdf

Th 10-Nov

20

Synchronization problems and deadlock

12.7
1st ed: 13.7

Lec20.pdf

Tu 15-Nov

21

Processes

8.1-8.5

Lec21.pdf

Th 17-Nov

22

Files, pipes, and terminals

10.1-10.10
1st ed: 11.1-11.10

Lec22.pdf
HW 5 due
HW 6 (shell) released

Tu 22-Nov

23

Network programming

11.1-11.4
1st ed: 12.1-12.4

Lec23.pdf

Th 24-Nov

Thanksgiving: no class

Tu 29-Nov

24

Virtualization (Guest lecturer: Daniel Margo)
Better Abstractions for Concurrency

Lec24.pdf

Th 1-Dec

Final exam in class

Tu 6-Dec

HW 6 due