CS 241 - Systems Programming

Calendar

(Will be updated throughout the semester)
WEEK DAY ANNOUNCEMENTS READING HW
1 Oct 05 Last Day for P/NP, CR/NE,
  or Withdraw (Dec 06)
Introduction and course overview HW 0 - Intro
Oct 07   UNIX and the Shell Read LCL, Chapters 1-7
Run the vim and emacs tutorials

2 Oct 12 Last Day to Add/Drop (Oct 13) Version control and Git Read LCL, Chapters 8-11.
Git Book, sections 1.1, 1.3, 1.6, 1.7, 2.1, and 2.2
Interactive Git Tutorial
HW 1 - Shell Scripts
Oct 14   Basic shell scripting Read LCL, Chapters 24-29
3 Oct 19   More Shell Scripting Read LCL, Chapters 30-32
Oct 21 Regular expressions, sed and grep Read LCL, 19-20
4 Oct 26   Introduction to C and Compilation Dive Into Systems 1.1-1.4 HW 2 - Regular Expressions
Oct 28 Makefiles A short introduction to Make
Variables in Make
Implicit rules in Make
Standard targets in Makefiles
5 Nov 02   Types and operators
Dive into Systems Ch 4-4.6
Bitwise Operations in C
HW 3 - Introduction to C
Nov 04
6 Nov 09   Scope, Pointers, Arrays, and Strings Dive into Systems Ch 2-2.4
Pointer Fun with Binky
HW 4 - Bits
Nov 11 Scope and Pointers Dive into Systems Ch 2.3, 2.4
7 Nov 16   GDB and Testing 21st Century C, Ch. 2
Dive into Systems Ch 3-3.4
Nov 18 Strings, Multi-dimensional arrays and Command Line Arguments Dive into Systems Ch 2.5, 2.6
  Nov 23 Thanksgiving Break (Nov 23-26)
Nov 25
8 Nov 30   Project Proposals HW 5 - Pig Latin
Dec 02 Structures and Self-referential structures Dive into Systems Ch 2.7
9 Dec 07   Self-referential structures and IO HW 6 - Sorting
Dec 09 Formatted I/O, line input, scanf
10 Dec 14   Formatted IO
Dec 16 Variable arguments, getopt HW 7 - BigNum
11 Dec 21   Advanced git
Dec 23 Winter Break (Dec 23-Jan 02)
  Dec 28
Dec 30
12 Jan 04   Compression Read HW 8 assignment HW 8 - Huffman Compression
Jan 06 System calls overview
13 Jan 11   System Calls
Jan 13 Buffer Overflows Read How Security Flaws Work: The Buffer Overfow