CSc 352: Course Schedule

Below is the course schedule. A Green day indicates that the emphasis will be on UNIX / OS / command-line. A Blue day indicates the emphasis will be on C programming. A Teal day indicates the emphasis will be on a combo of C + UNIX + command line stuff. A Red day indicates an exam. The Topic for each day approximately indicates the topic that the class will be on. The Prep for each day indicates the work you need to have completed BEFORE watching the video content (ideally). TLCL stands for “The Linux Command Line” by Shotts and PIC stands for “Programming in C” by Kochan.

NOTE: The schedule is broken down into MTWTF Schedule. Though this is an online asynchronous course, you should attempt to watch the videos and do the readings based on the schedule shown here. Of course you have the flexibility to mix things up if necessary.

Monday Tuesday Wednesday Thursday Friday
6/6/2022
Topic: Course introduction
Prep:TLCL Introduction
Slides
6/7/2022
Topic: UNIX, bash navigation, files
Prep:TLCL chapters 1 and 2
Slides
6/8/2022
Topic: SSH, Vim / Nano
Prep: TLCL chapter 3
Slides
6/9/2022
Topic: C basics, variables, I/O, math
Prep: TLCL chapter 4
Slides
6/10/2022
Topic: C basics, variables, I/O, math
Prep: PIC chapter 1
Slides
6/13/2022
Topic: C data types, math
Prep: PIC chapter 2
PA 1 due
6/14/2022
Topic: C loops and conditionals
Prep: PIC chapter 3
Slides
6/15/2022
Topic: C strings
Prep: PIC chapter 4
Slides
6/16/2022
Topic: C: strings, reading input
Prep: PIC chapter 4
6/17/2022
Topic: C: functions
Prep: PIC chapter 5
Slides
PA 2 due
6/20/2022
Topic: C: booleans
Prep: PIC chapter 5
6/21/2022
Topic: C: command line arguments
Prep: PIC chapter 5
6/22/2022
Topic: C: Pointers
Prep: PIC chapter 6
Slides
6/23/2022
Topic: C: Pointers
Prep: None
6/24/2022
Topic: C: 1D Arrays
Prep: PIC chapter 6
Slides
PA 3 due
6/27/2022
Topic: C: 2D Arrays
Slides
Prep: PIC chapter 7
6/28/2022
Topic: UNIX: Files, permissions Prep: TLCL chapter 7, 8
Slides
6/29/2022
EXAM 1
6/30/2022
Topic: C: File I/O
Prep: PIC chapter 15
7/1/2022
Topic: GDB and debugging
Prep: TLCL chapter 5, PIC chapter 17
test.c
makefile
Slides
PA 4 due
7/4/2022
4th of July
7/5/2022
Topic: GDB and debugging
Prep: TLCL chapter 5, PIC chapter 17
7/6/2022
Topic: C: Malloc, Free, stack / heap
Prep: PIC chapter 10
Slides
7/7/2022
Topic: C: Malloc, Free, stack / heap
Prep: PIC chapter 10
7/8/2022
Topic: C: pass-by-value, pass-by-ref, out-params
Prep: PIC chapter 7
Slides
PA 5 due
7/11/2022
Topic: C: Basic Linked List
Slides
Prep: PIC chapter 10
7/12/2022
Topic: Valgrind
Slides
Prep: PIC chapter 8
7/13/2022
Topic: C: Structs
Slides
Prep: PIC chapter 8
7/14/2022
Topic: C: data structures
Slides
Linked List Code
Prep: PIC chapter 8
7/15/2022
Topic: C: data structures
Prep: PIC chapter 8
PA 6 due
7/18/2022
Topic: C: data structures
Slides
Prep: None
7/19/2022
Topic: Make, build systems
Slides
Prep: None
7/20/2022
Topic: System Calls
Slides
7/21/2022
EXAM 2
7/22/2022
Topic: Function Pointers
Prep: None
PA 7 due
7/25/2022
Topic: Processes
Slides
Prep: TLCL Chapter 10 (again)
7/26/2022
Topic: Text processing, regex
Slides
Prep: TLCL Chapter 19
7/27/2022
Topic: Text processing, regex
Slides
Prep: TLCL Chapter 20
7/28/2022
Topic: Shell scripting
Slides
Prep: TLCL Chapter 24
7/29/2022
Topic: Shell scripting
Prep: TLCL Chapter 25
PA 8 due
8/1/2022
Topic: The C Preprocessor
Slides
Prep: PIC Chapter 12
8/2/2022
Topic: Binary I/O
Slides
Prep: PIC chapter 11
8/3/2022
Topic: Bit manipulation
Slides
Prep: None
8/4/2022
Topic: Executables, ELF, Static and Dynamic Linking
Slides
Prep: None
8/5/2022
Topic: Executables, ELF, Static and Dynamic Linking
Prep: None
PA 9 due
8/8/2022
Topic: Study / Review
8/9/2022
Topic: Study / Review
8/10/2022
FINAL EXAM

This schedule is subject to change