 | System Programming Lab |
Overview
- [SWE2024] System programming practice with C language
- Classes: Tue 18:00 - 21:45
- Location: 85702
- Instructor: Hwansoo Han
- TAs: Gwangbin Rhee, Jinseok Park
Text Books and References
- Computer Systems - A Programmer's Perspective (3rd ed.), Randal E. Bryant & David R. O'Hallaron.
PREREQUISITES
Lecture Schedule
** Lecture slides are now provided in iCampus!!!
| Weeks | Topics | Notes |
| 1st | Course Introduction, Linux Install, Vim | |
| 2nd | Compiling, debugging Codes in Linux | |
| 3rd | Git usage, Makefile, Shell scripts | |
| 4th | Basic file I/O system calls | [PA#1] |
| 5th | Creating, managing process | |
| 6th | Sending & handling signals | [PA#2] |
| 7th | IPCs -- pipe, redirection | |
| 8th | (midterm week) | -- no class -- |
| 9th | System V IPC -- shared mem, named pipe, message queue | |
| 10th | Basic client/server program using socket | [PA#3] |
| 11th | Pthread API | |
| 12th | Multi-process, multi-thread programming | |
| 13th | Synchronization -- Mutex, Conditional Vars | |
| 14th | Linux daemon programming | |
| 15th | Study Week | -- no class -- |
| 16th | [FINAL EXAM] | 8:00pm - 9:30pm |
Grading Policy
- Class Attendance: 10%
- Weekly Lab Assignments: 15%
- Prog. Assignments: 45% (PA#1 10%, PA#2 15%, PA#3 20%)
- Final Exam: 30%
Programming Assignments
- [PA#1] File I/O - due on 10/4 (Sun) 11:59pm
- [PA#2] Command-line shell - due on 11/1 (Sun) 11:59pm
- [PA#3] Server-client programming - due on 12/6 (Sun) 11:59pm