CS 270 (Fall 2026)
Systems Programming
Course Information
Instructor: Yang Xiao (contact: xiaoy[AT]uky.edu)
Meeting Times: T/R 3:30-4:45 PM
Office Hour: Hardymon Rm 233, Wed 2:00 PM – 4:00 PM
TA: TBD, Office Hour: TBD, EE Annex 205
Course Description
This course provides an introduction to computer systems and explores computer architecture, operating systems, and networks from a programmer's perspective. The course also introduces advanced programming and debugging tools. Topics include hardware instruction sets, machine language and C language program representations, linking/loading, operating systems (process management, scheduling, memory management, interprocess communication, and file systems), network programming (socket programming and web protocols), and common security attacks and solutions.
Textbooks and Materials
Required Textbook: R. Bryant and D. O'Hallaron, Computer Systems: A Programmer's Perspective, third edition, Pearson, 2016. ISBN 978-0-13-409266-9.
Strongly Recommended Textbook: B. Kernighan and D. Ritchie, The C Programming Language, second edition, Prentice Hall, 1988. ISBN 0-13-110362-8. Why this text is strongly recommended: It is both (i) the best way to learn C language; and (ii) a great reference for the future. Why C language is important (at least for this course): Because C is the closest high-level language to machine language—It is designed so that you can know exactly what the machine is doing when it executes your programs.
Course Schedule (Tentative)
| Week | Date | Agenda (Lecture notes uploaded to Canvas the same day before class) |
Text Reading | Assignment (H: Homework, L: Lab, P: Project) |
|---|---|---|---|---|
| 1 |
08/25 T 08/27 R |
Lec 0: Course intro + Lec 1: Intro to C: Portable Assembly Language Lec 1 wrap-up + Lab 0: Your VM, the shell, basic C tool chain, gdb |
||
| 2 |
09/01 T 09/03 R |
|||
| 3 |
09/08 T 09/10 R |
|||
| 4 |
09/15 R 09/17 T |
|||
| 5 |
09/22 T 09/24 R |
|||
| 6 |
09/29 T 10/01 R |
|||
| 7 |
10/06 T 10/08 R |
|||
| 8 |
10/13 T 10/15 R |
|||
| 9 |
10/20 T 10/22 R |
|||
| 10 |
10/27 T 10/29 R |
Fall Break - no class |
||
| 11 |
11/03 T 11/05 R |
|||
| 12 |
11/10 T 11/12 R |
|||
| 13 |
11/17 T 11/19 R |
|||
| 14 |
11/24 T 11/26 R |
Thanksgiving Break - no class |
||
| 15 |
12/01 T 12/03 R |
|||
| 16 |
12/08 T 12/10 R |
(Prep Days) (Reading Days) No class. |
||
| 17 |
12/15 T 12/17 R |
Final exam, Tuesday, December 15, 1:00 - 3:00 PM, in classroom |
Learning/Research Resources
UK Libraries, Free Tutoring and Coaching at UK, Google Scholar, ACM Digital Library, IEEE Xplore.