CS 241 - Systems Programming

Calendar

(Will be updated throughout the semester)
WEEK DAY ANNOUNCEMENTS READING HW
1 Feb 04   Introduction and course overview HW 0 - Intro
Feb 06 Introduction to C and Compilation
  • Read HFC Ch1, CiaN Ch1 "Language Basics",
    the "How the C Compiler Works" section to the end
Feb 08 Makefiles
  • HFC Ch4 - Compilation behind the Scenes to end of chapter
  • Run vimtutor and the emacs tutorial(Control-h t)
2 Feb 11   Version control and Git HW 1
Feb 13 Last Day to Add/Drop Making and Compiling Practice
Feb 15   Basic shell scripting
3 Feb 18   Basic shell scripting HW 2 - Shell Scripts
Feb 20 Shell Script Looping
Feb 22
4 Feb 25   Regular expressions, sed and grep Read Classic Shell Scripting, Ch 3
Feb 27 No class today HW 3 - Regular Expressions
Mar 01 RJH Travelling
Guest lecturer TBA
Guest Lecture, "How to Present" by Faith Schaeffer
5 Mar 04   Projects & Useful Tools
Mar 06 Types and operators
Read CiaN Ch 2, 3 (Skip Conversion of Nonarithmetic Types through end)
HW 4 - Bits
Mar 08 Types and operators
Read CiaN Ch 4, 5
6 Mar 11   GDB and Testing Read 21st Century C, Ch 2, "Using a Debugger"
CiaN, Ch21, "Sample Debugging Session"
Mar 13 Control flowRead CiaN Ch 6)
Mar 15 Functions and scopeRead CiaN Ch 7
7 Mar 18   Pointers and arrays Read CiaN Ch 9, HFC Ch 2
Mar 20 Strings and pointers HW 5 - Pig Latin
Mar 22 Project Proposals
  Mar 25 Spring Break (Mar 23-31)
Mar 27
Mar 29
8 Apr 01   Command line arguments
Apr 03 Multi-dimensional arrays Read HFC Ch 7 to p. 333
Apr 05
9 Apr 08 Last Day for P/NP, CR/NE,
  or Withdraw
Structures Read HFC Ch 5, 6 HW 6 - Sorting
Apr 10   Self-referential structures
Apr 12 typdef, unions, bit-fields Read CiaN, Ch10, p169 to end, Ch 11, pp. 184-186
10 Apr 15   Input and Output, errors Read HFC Ch 3
Apr 17 Formatted I/O, line input Read CiaN Ch 13
Apr 19 Variable arguments, getopt Read HFC Ch 7, p. 343 to end HW 7 - Big Numbers
11 Apr 22   Huffman compression
Apr 24 Compression, part 2 Read HW 6 assignment
Apr 26 System calls overview Read HFC Ch 9 HW 8 - Huffman Compression
12 Apr 29   Advanced git
May 01 Web Development 101
May 03 Advanced Web Development
13 May 06 RJH Travelling
Guest lecturer TBA
Guest Lecture TBD
May 08
May 10   Open Source Software