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

This schedule is subject to change