Info Schedule Assignments Policies Canvas Ed

Week-by-Week Schedule

Click on a week to see its contents. Click on an entry to see its details, where available.

The sequencing of lectures and precepts is not likely to change significantly, however handouts and links may be updated as the semester progresses. Recordings may not be added to each entry, however they will be posted to Panopto Video on Canvas when available. Each lecture recording should be available to view the afternoon or evening of the day it occurs. The incomplete set of precept recordings (1-13 and 23) are already available. Note that because these precepts were recorded in prior terms, some details may have changed. Recordings are intended for review: they are not a substitute for regular attendance.

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
Optional supplemental videos from Fall 2020. These are a lot, and aren't required, but we do think it's worth spending time getting comfortable and proficient in bash now rather than being inefficient and frustrated in the environment throughout the term.

Handouts.

Slides

Handouts.


(Corresponding): C Programming (King) 1-6, 7.3, 9, 14, 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.

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

(Complementary): Wikipedia "Deterministic finite automaton" article

Slides

Handouts.

Slides

Handouts.


Reading (corresponding): C Programming (King) 7, 15

Slides

Handouts.

Slides

Handouts.


Reading (corresponding): C Programming (King) 8, 11-13, 24.1

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

Reading (complementary): GNU GDB Manual (Exhaustive!)

Reading (complementary): GNU Make Manual (Exhaustive!)

Slides

Handouts

Slides

Handouts.


Reading (corresponding): C Programming (King) 16, 17.1-6

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

Slides

Handouts.

Slides

Handouts.


Reading (corresponding): C Programming (King) 19

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

Slides

Q&A session for midterm exam. Monday 3/6 8:00 PM in Computer Science 104.
Midterm details and Study Resources

Handouts.

Details and Study Resources



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

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

Slides

Handouts.

Testing Slides
Modularity Slides,

Handouts.


None.

Slides

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
Supplemental gdb walkthrough video from Fall 2020.

Handouts.


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

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

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

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

Slides

Handouts.

Slides

Handouts.


Slides

Handouts.

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


Details and Study Resources

Details and Study Resources