Info Schedule Assignments Policies Canvas Ed

Week-by-Week Schedule

Click on a week to see its content. The schedule will be updated frequently, so check it every day or two. Weeks start on Mondays and are indexed from 1.


(Corresponding): Unix Tutorial for Beginners

(Complementary): GNU Emacs Tutorial

(Complementary): Linux Pocket Guide (excerpt: Programming with Shell Scripts)

Slides. Lecture 1A and Lecture 1B on YouTube. Q&A Recording.

Handouts. Precept 1: Recording on Panopto.

[no slides]. Lecture 2 and Lecture 2 supplement (optional) on YouTube. Q&A Recording.

Handouts. Precept 2: Recording on Panopto.


Reading (corresponding): C Programming (King) 2, 4, 5, 6, 7, 9, 20.1
This is a lot, but two calming notes:
1 - the reading assignments don't continue at this frenetic pace all term, Weeks 2 and 4 are the bulk.
2 - much of this content will already be familiar to you from another high level language, e.g. Java.

Reading (complementary): C Programming (King) 1, 3, 14

Reading (complementary): The Practice of Programming (Kernighan & Pike) 1

Reading (complementary): Wikipedia "Deterministic finite automaton" article

Slides. Lecture 3 on YouTube. Q&A Recording.

Handouts. Precept 3: Recording on Panopto.

Slides. Lecture 4A and Lecture 4B on YouTube. Q&A Recording.

Handouts. Precept 4: Recording on Panopto.


Reading (corresponding): C Programming (King) 15

Reading (complementary): GNU GDB Tutorial

Slides. Lecture 5 on YouTube. Q&A Recording.

Handouts. Precept 5: Recording on Panopto.

Slides. Lecture 6 on YouTube. Q&A Recording.

Handouts. Precept 6: Recording on Panopto.


Reading (corresponding): C Programming (King) 8, 11, 12, 13, 16, 17.1-6, 24.1

Reading (complementary): The Practice of Programming (Kernighan & Pike) 2, 4

Reading (complementary): GNU Make Tutorial

Slides. Lecture 7 on YouTube. Q&A Recording.

Handouts. Precept 7: Recording on Panopto.

Slides. Lecture 8 on YouTube. Q&A Recording.

Handouts. Precept 8: Recording on Panopto.


Reading (corresponding): C Programming (King) 19

Reading (complementary): The Practice of Programming (Kernighan & Pike) 6

Slides. Lecture 9 on YouTube. Q&A Recording.

Handouts. Precept 9: Recording on Panopto.

Slides. Lecture 10 on YouTube. Q&A Recording.

Handouts. Precept 10: Recording on Panopto.


Reading (complementary): The Practice of Programming (Kernighan & Pike) 5

Slides. Lecture 11 on YouTube. Q&A Recording.

Handouts. Precept 11: Recording on Panopto.

Online on Gradescope, 1 hour, available Wed 3/10 10:00 AM - Thu 3/11 10:00 AM. Details and Study Resources


Reading (complementary): The Practice of Programming (Kernighan & Pike) 8

Slides. Lecture 13 on YouTube. Q&A Recording.

Handouts. Precept 13: Recording on Panopto.


Reading (corresponding): C Programming (King) 17.7, 10, 18

Slides. Lecture 14A, Lecture 14B, and Lecture 14C on YouTube. Q&A Recording.

Handouts. Precept 14: Recording on Panopto.

Slides. Lecture 15 on YouTube. Q&A Recording.

Handouts. Precept 15: Recording on Panopto.


Reading (corresponding): ARM 64 Bit Assembly Language (Pyeatt with Ughetta) 2-5

Reading (complementary, for reference only):ARMv8 Instruction Set Overview

Reading (complementary, for reference only):ARM Architecture Reference Manual

Slides. Lecture 16 on YouTube. Q&A Recording.

Handouts. Precept 16: Recording on Panopto.

Slides. Lecture 17 on YouTube. Q&A Recording.

Handouts. Precept 17: Recording on Panopto.


Reading (corresponding): ARM 64 Bit Assembly Language (Pyeatt with Ughetta) 6-7

Slides. Lecture 18 on YouTube. Q&A Recording.

Handouts. Precept 18: Recording on Panopto.

Slides. Lecture 19 on YouTube. Q&A Recording.

Handouts. Precept 19: Recording on Panopto.


Reading (corresponding): The C Programming Language (Kernighan & Ritchie) 8.7 (available through Canvas in the "Files" section)

Reading (complementary, for reference only):GNU Gprof Tutorial

Reading (complementary): The Practice of Programming (Kernighan & Pike) 7

Slides. Lecture 20A and Lecture 20B on YouTube. Q&A Recording.

Handouts. Precept 20: Recording on Panopto.

Slides. Lecture 21 on YouTube. Q&A Recording.

Handouts. Precept 21: Recording on Panopto.


Reading (corresponding): C Programming (King) 24.2-3

Slides. Lecture 22 on YouTube. Q&A Recording.

Handouts. Precept 22: Recording on Panopto.

Slides. Lecture 23 on YouTube. Q&A Recording.

Handouts. Precept 23: Recording on Panopto.


Slides: Part A, Part B. Lecture 24A and Lecture 24B on YouTube. Q&A Recording.
Final Exam Details and Study Resources


Online on Gradescope, 3 hours, Thu 5/13 9:00 AM - noon. Details and Study Resources