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. Lecture and precept recordings are available on the course website on Canvas (via Panopto Video, on the left).


(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.

(Corresponding): Unix Tutorial for Beginners

(Complementary): C Programming (King) 1, 3, 14

(Complementary): The Practice of Programming (Kernighan & Pike) 1

(Complementary): GNU Emacs Tutorial

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

Slides,

Handouts.

Slides,
Optional supplemental videos from Fall 2020 by Christopher Moretti: bash walkthrough, emacs and bash

Handouts.


(Corresponding): C Programming (King) 2, 4, 5, 6, 7, 9, 20.1

(Complementary): C Programming (King) 1, 3, 14

(Complementary): The Practice of Programming (Kernighan & Pike) 1

Slides.
Optional supplemental video from Fall 2020 by Christopher Moretti (now slightly out of date): A0 git walkthrough

Handouts.

Slides.

Handouts.


Reading (corresponding): C Programming (King) 15

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

Slides.

Handouts.

Slides.

Handouts.


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

Slides.

Handouts

Slides.

Handouts.


Reading (corresponding): C Programming (King) 19

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

Slides.

Handouts.

Slides.

Handouts.


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

Slides.

Q&A session for midterm exam. Monday 2/28 4:30 PM - 6:00 PM, in CS 104. We will try to live-stream on Zoom and also record for viewing on Canvas. Midterm details and Study Resources.

Handouts.

Online in Gradescope, 1 hour, available Wednesday 3/2 8:00 AM - 10:00 PM. Details and Study Resources



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

Slides.

Handouts.

Slides.

Handouts.


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

Slides, Recording from Fall 2021.

Handouts.

Slides.

Handouts.


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.

Handouts.

Slides.

Handouts.


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

Slides.

Handouts.

Slides. Optional supplemental video from Fall 2020 by Christopher Moretti: gdb with ARM Assembly.

Handouts.


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.

Handouts.

Slides.

Handouts.


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

Slides.

Handouts.

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


Details and Study Resources

Details and Study Resources