COMP251: Systems Programming
Archive: Spring 2023
- Instructor: Dr. Marion Lang
- Email: langm@rhodes.edu
- My calendar; book time using calendly.com/lang-cal
- This website: 251.systems or comp251.github.io
- CS Program Slack:
#comp251
Course Schedule
- Wednesday 1/11
-
- Welcome! What is systems? π΅οΈ
Course overview; syllabus - Welcome survey
- Katas
- Welcome! What is systems? π΅οΈ
- Friday 1/13
-
- Ontological questions: whatβs a computer? π§
- HW 1
- DIS Chapter 4
- Monday 1/16
-
- MLK Jr Day/No Class
- Wednesday 1/18
-
- Numeric representation (
00
) - DIS Section 5.2
- Numeric representation (
- Friday 1/20
-
- Representation (
01
)
- Representation (
- Monday 1/23
-
- Representation (
10
) wrap-up - Lab 0
HW 2 - DIS Chapters 0-1
TLCL Chapters 1-4
- Representation (
- Wednesday 1/25
-
- Unix and Linux π§
- Friday 1/27
-
- GitHub and git
- Monday 1/30
-
- Introduction to C π¦Ύ
C: syntax βοΈ - class code
- HFC Chapter 1
- Introduction to C π¦Ύ
- Wednesday 2/1
-
- No class: ice storm
video - exercises + io
notes - Kata 0
- class code
- No class: ice storm
- Friday 2/3
-
- C: types
- DIS Chapter 2
- Monday 2/6
-
- C: arrays, strings,
string.h
,strtok
πͺ - Lab 1
- DIS Chapter 13.2
class code
- C: arrays, strings,
- Wednesday 2/8
-
string.h
,strtok
, pointers- Kata 1
- class code
- Friday 2/10
-
- Β
- Monday 2/13
-
strtok
- class code
- Wednesday 2/15
-
- Debugging π
- Kata 2
- DIS Chapter 3
- Friday 2/17
-
- Processes:
fork
+exec
π΄
- Processes:
- Monday 2/20
-
- Stack vs. heap memory π€
- Wednesday 2/22
-
- Stack vs. heap
- Kata 3
- class code
DIS Chapter 2
HFC Chapter 5+6
- Friday 2/24
-
- Stack vs. heap; gdb π
- Lab 2
- class code
- Monday 2/27
-
- Dynamic memory π«
- class code
- Wednesday 3/1
-
malloc
/free
+ friends π- Kata 4
- class code
- Friday 3/3
-
- Heap management π
- Monday 3/6
-
- Exam Qs +
struct
- Exam Qs +
- Wednesday 3/8
-
- Midterm Exam
- Friday 3/10
-
- Abstract data types βοΈ
- Lab 3
- class code
DIS 2.7
- Monday 3/13
-
- Spring Break/No Class
- Wednesday 3/15
-
- Spring Break/No Class
- Friday 3/17
-
- Spring Break/No Class
- Monday 3/20
-
- Abstraction, object files, and linking
- class code
HFC Chapter 8
- Wednesday 3/22
-
- Linked data structures βοΈ
- DIS Chapter 2
HFC Chapter 5+6
- Friday 3/24
-
- Linked data structures (cont) π€
- class code
- Monday 3/27
-
- The memory hierarchy π§
Virtual memory π€ - DIS Chapter 11.1 + 13
- The memory hierarchy π§
- Wednesday 3/29
-
- Virtual memory
- Friday 3/31
-
- Virtual memory; the heap ποΈ
- Lab 4
- CS:APP β 9.8-9.12
Lecture slides
- Monday 4/3
-
- Virtual memory and paging
- Diagram handout
- Wednesday 4/5
-
- Virtual memory and paging (cont)
- Kata 5
- Friday 4/7
-
- No class: Easter Recess
- Monday 4/10
-
- Virtual memory wrap-up;
sbrk
andmmap
πΊοΈ - CS:APP β 11.1-11.4
- Virtual memory wrap-up;
- Wednesday 4/12
-
- Network programming intro π
- Friday 4/14
-
- The internet π
- BGNP β 1-6
- Monday 4/17
-
- Sockets intro π
- Lab 5
- Wednesday 4/19
-
- Sockets: client/server functions
- Friday 4/21
-
- Network programming with protocols
- class code
- Monday 4/24
-
- Threads intro πͺ‘
- class code
DIS β 14-14.3
- Wednesday 4/26
-
- Threads: synchronization π§΅
- DIS β 14-14.3
- Friday 4/28
-
- Rhodes Symposium
- Saturday 5/6
-
- Final Exam: 1pm
- Have a good summer!