CMSC 480 - Systems Programming

Fall Term 2023

Lectures
  1. Getting started
  2. From C++ to C
  3. Working with command line arguments
  4. Spell checker example - version one
  5. Spell checker example - version two
  6. More about files
  7. Basics of networking
  8. Multithreaded server
  9. mutexs
  10. Worker threads
  11. Base 64 encoding
  12. Forking server
  13. First CGI example
  14. Building, installing, and using a library
  15. URL shortener with CGI applications
  16. Basics of signals
  17. Running as a true server
  18. File permissions
  19. File systems
  20. Event-driven programming
  21. Manipulating bits in C
  22. Memory allocation
  23. Buffer overflow hacks
  24. Shell scripting
Exams

The first midterm exam is coming up on Friday, Oct. 13. Here are some details on how to prepare.

The second midterm exam is coming up on Friday, Nov. 3. Here are some details on how to prepare.

The final exam is coming up on Sunday, Nov. 19 from 6:30-9:00. Here are some details on how to prepare.

Assignments
  1. Spell checker - version three: due Friday, Sept. 22
  2. URL shortener: due Friday, Sept. 29
  3. Folder watcher: due Monday, Oct. 9
  4. Folder watcher two: due Wed., Oct. 18
  5. Folder watcher three: due Fri., Oct. 27
  6. Memory allocator: due Mon., Nov. 13
Resources

The syllabus for this course is here.

Here is a tutorial on the Linux command line.

Online reference for the C standard library

The Linux man-pages project is a comprehensive online reference for all things Linux

.