Skip to main content

This schedule can be changed at any time so that we have the flexibility to adjust the class to the students’ pace. Be sure to revisit this page often and remember to look at our Google Classroom for lecture slides and activities.

WeekDateTopicReadings
1Jan. 21, 2025C language review: data types and portability, pointers, manual pages, library calls, debugging
Lab 1
C – Quick Guide
man(1)
gdb
ddd
2Jan. 28, 2025Unix system programming review: dynamic memory allocation, library calls.
Lab 2
Linux/ Unix Systems Programming Essentials
printf(3)
malloc(3), free(3), memcmp(3), mtkime(3)
3Feb. 04, 2024Unix system programming review: system calls.
Lab 3
open(2), read(2), write(2), xxd(1)
4Feb. 11, 2025Networking concepts (protocol stack, addresses); UDP sockets (client/server application)
Lab 4
Beej’s Guide to Network Programming
socket(2), sendto(2), recvfrom(2), bind(2), memset(3), htons(3), htonl(3), gettimeofday(2), getaddrinfo(3)
5Feb. 18, 2025TCP sockets: client/server application
Lab 5
Beej’s Guide to Network Programming
socket(2), connect(2), bind(2), listen(2), accept(2), gethostbyname(3)
6Feb. 25, 2024Principles of Software Security
Lab 6
McGraw and Viega
7Mar. 04, 2025ARP, UDP, and TCP
Lab 7 (Google Classroom)
Packet capture and analysis (Wireshark)
RFCs at IETF
To read or not to read?
8Mar. 11, 2025Spring Break
9Mar. 18, 2025DNS and TCP
Lab 8 (Google Classroom)
Packet capture and analysis (Wireshark)
RFCs at IETF
To read or not to read?
10Mar. 25, 2025Data integrity, file integrity
Lab 9
11Apr. 01, 2025Cryptography (secret key, public key)
12Apr. 08, 2025Information security models (Bell-LaPadula, Biba, Chinese Wall)
13Apr. 15, 2025Access Control (MAC, DAC, RBAC); authentication; authentication protocols
14Apr. 22, 2025Passwords; network security
15Apr. 29, 2025Malware