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.


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 1 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

Slides.
(For those who weren't able to make it, we were hoping to provide a recording, but had technical issues. Sorry! Please look through the slides, email with any questions, and watch the first part (the first 13 slides or so) of Lecture 3 from last year.)


(Corresponding): Unix Tutorial for Beginners

(Complementary): GNU Emacs Tutorial

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

Slides, Recording.
Optional supplemental videos from last year by Christopher Moretti: bash walkthrough, emacs and bash

Handouts.

Slides. Recording.
Optional supplemental video from last year by Christopher Moretti: A0 git walkthrough


Reading (corresponding): C Programming (King) 15

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

Handouts.

Slides. Recording.

Handouts.

Slides. Recording.


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 GDB Tutorial

Reading (complementary): GNU Make Tutorial

Handouts.

Slides. Recording.

Handouts.

Slides. Recording.


Reading (corresponding): C Programming (King) 19

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

Handouts

Slides. Recording.

Handouts.

Slides. Recording.


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

Handouts.

Slides. Recording.

Handouts.

Slides. Recording.


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

Q&A session for midterm exam, 8:30 PM in Friend 101. Midterm details and Study Resources. Recording.

Handouts.

Slides. Recording.

Online in Gradescope, 1 hour, available Thu 10/14 10:00 AM - 10:00 PM.



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

Handouts.

Slides. Recording.

Handouts.

Slides. Recording.


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

Handouts.

Slides. Recording.

Handouts.

Slides. No video recording due to technical issues. There is an audio recording, and/or you can watch the video from last year.


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

Handouts.

Slides. Recording.

Handouts.

Slides. Recording.


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

Handouts.

Slides. Recording. Optional supplemental video from last year by Christopher Moretti: gdb with ARM Assembly.

Handouts.

Slides. Recording.


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

Handouts.

Slides. Recording.


Handouts.

Slides. Recording.

Handouts.

Slides (same as last time). Recording. Final Exam Details and Study Resources


Recording.

Details and Study Resources