CSc 352: Course Schedule

Below is the complete lecture and section 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 attending class that day. TLCL stands for “The Linux Command Line” by Shotts and PIC stands for “Programming in C” by Kochan.

NOTE: This is subject to change. Please visit schedule regularly.

Monday Wednesday Deadlines
1/12/2023
Topic: Course introduction, UNIX, bash navigation
Prep:TLCL Introduction, chapter 1
Slides
1/17/2023
Topic: files, directories, ssh, vim/nano
Prep:TLCL chapters 2, 3, and 4
Slides
1/19/2023
Topic: C basics, variables, I/O, types, math
Prep: PIC chapters 1 - 3
Slides
1/24/2023
Topic: C: loops and conditions
Prep: PIC chapters 4 and 5
Slides and
Slides
1/26/2023
Topic: C: strings, standard in/out/err
Prep: PIC 9
Slides
PA 1 due (Wednesday)
1/31/2023
Topic: C: functions, pointers
Prep: PIC chapter 7
Slides
2/2/2023
Topic: C: pointers, stack
Prep: PIC chapters 6 and 7
Slides
PA 2 due (Wednesday)
2/7/2023
Topic: C: 1D and 2D arrays
Prep: PIC chapters 6 and 7
Slides and
Slides
2/9/2023
Topic: UNIX: Files, file system, iNodes
Prep: TLCL chapters 6 and 7
Slides
PA 3 due (Wednesday)
2/14/2023
Topic: C: Text file I/O
Prep: TLCL chapter 8-9, PIC chapter 15
Slides
test.c
makefile
2/16/2023
Topic: GDB, debugging, time
Prep: TLCL chapter 5, PIC chapter 17
Slides
Slides
PA 4 due (Wednesday)
2/21/2023
Topic: C: Malloc, Free, stack / heap
Prep: PIC chapters 10 and 16
Slides
2/23/2023
EXAM 1
2/28/2021
Topic: C: Memory Management, Valgrind
Prep: PIC chapters 10 and 16
Slides
3/2/2021
Topic: C: Memory Management, Valgrind
Prep: PIC chapters 10 and 16
Slides
Slides
PA 5 due (Friday)
3/7/2023
SPRING BREAK
3/9/2023
SPRING BREAK
3/14/2023
Topic: C: Creating Data Structures
Prep: PIC chapters 10 and 16
Slides
3/16/2023
Topic: C: Structs, creating data structures
Prep: PIC chapter 8
Slides
bt.c
PA 6 due (Friday)
3/21/2023
Topic: Make, build systems
Prep: PIC Chapter 14
3/23/2021
Topic: Systems Calls and Function Pointers
Prep: TBA
Slides
3/28/2023
Topic: Processes, process control, top, kill
Prep: TLCL Chapter 9 (again)
Slides
3/30/2023
Topic: Text processing, regular expressions
Prep: TLCL chapter 19
Slides
PA 7 due (Friday)
4/4/2023
Topic: Text processing, regular expressions
Prep: TLCL chapter 20
Slides
4/6/2023
EXAM 2
4/11/2023
Topic: Shell scripting
Prep: TLCL chapter 24 and 25
Slides
4/13/2023
Topic: Phases of compilation, C preprocessor
Prep: The C Preprocessor Documentation
Prep: PIC chapter 12
Slides
PA 8 due (Friday)
4/18/2023
Topic: Binary I/O and Bit Manipulation
Prep: PIC chapter 11
Slides
4/20/2023
Topic: Stages of compilation, ELF
Slides
PA 9 due (Friday)
4/25/2023
Topic: UNIX Kernel, system calls, fork, exec
Slides
4/27/2023
Topic: UNIX Kernel, system calls, fork, exec
PA 10 due (Friday)
5/2/2023
Topic: TBA
5/4/2023
DEAD DAY

This schedule, exam dates, and assignment deadlines are subject to change.