Great Ideas in Computer Architecture (Machine Structures)

CS 61C at UC Berkeley with Caroline Liu, Justin Yokota, Peyrin Kao - Summer 2022

Lecture: Monday/Tuesday/Wednesday/Thursday 9:30AM - 11:00AM PT, Li Ka Shing 245 + Online

Week Date Lecture Discussion Lab HW Project
1 Mon 6/20 No Lecture: Holiday
Tue 6/21 Lecture 1: Intro, Course Overview, Memory Model
Lab 0: Intro and Setup Due 6/24 Homework 1: Number Rep and C Due 6/27
Wed 6/22 Lecture 2: Intro to C, Low-Level Programming
Discussion 1: C Part 1 Project 1: snek Due 7/01
Thu 6/23 Lecture 3: Number Representation
2 Mon 6/27 Lecture 4: C: Pointers, Arrays, Memory Alignment
Discussion 2: Number Representation Lab 1: C Programming Due 6/30
Tue 6/28 Lecture 5: C: Stack, Functions, and Structs
Homework 2: More C and Floating Point Due 7/05
Wed 6/29 Lecture 6: Floating Point
Discussion 3: C Part 2, Floating Point
Thu 6/30 Lecture 7: RISC-V Part 1
3 Mon 7/4 No lecture: Holiday Project 2: CS61Classify A: Due 7/08 B: Due 7/20
Tue 7/5 Lecture 8: RISC-V Part 2 Discussion 4: RISC-V Part 1 Lab 2: RISC-V Due 7/07
Wed 7/6 Lecture 9: RISC-V Part 3 Discussion 5: RISC-V Part 2 Homework 3: RISC-V Due 7/11
Thu 7/7 Lecture 10: Compiler, Assembler, Linker, Loader (CALL)
4 Mon 7/11 Lecture 11: Functional Units, Finite State Machines (FSMs) Discussion 6: CALL, FSMs
Tue 7/12 Lecture 12: Synchronous Digital Systems (SDS) Homework 4: SDS, FSMs Due 7/19
Wed 7/13 Lecture 13: Datapath Part 1 Discussion 7: SDS
Thu 7/14 No Lecture
Fri 7/15 Midterm: 5-7PM PT
5 Mon 7/18 Lecture 14: Datapath Part 2 Discussion 8: Datapath Lab 3: Logisim Due 7/21
Tue 7/19 Lecture 15: Datapath Part 3
Wed 7/20 Lecture 16: Operating Systems (OS), Data Level Parallelism (DLP) Discussion 9: Pipelining Homework 5: Datapath and Performance Programming Due 7/25
Thu 7/21 Lecture 17: Thread Level Parallelism (TLP) Project 3: CS61CPU A: Due 7/25 B: Due 8/01
6 Mon 7/25 Lecture 18: Caches Part 1 Discussion 10: OS, DLP, TLP Lab 4: Parallelism Due 7/28
Tue 7/26 Lecture 19: Caches Part 2 Homework 6: Caches Due 8/01
Wed 7/27 Lecture 20: Caches Part 3 Discussion 11: Caches
Thu 7/28 Lecture 21: Cache Coherency
7 Mon 8/1 Lecture 22: Virtual Memory (VM) Part 1 Discussion 12: Cache Coherency Lab 5: Caches, Virtual Memory Due 8/04
Tue 8/2 Lecture 23: Virtual Memory (VM) Part 2 Homework 7: Virtual Memory, Potpourri Due 8/08 Project 4: Numc Due 8/08
Wed 8/3 Lecture 24: Dependability Discussion 13: VM
Thu 8/4 Lecture 25: Potpourri, Wrap-Up
8 Mon 8/8 No Lecture
Tue 8/9 No Lecture
Wed 8/10 No Lecture
Thu 8/11 Final: 5-8PM PT