CS 270 (Fall 2025)
Systems Programming
Course Information
Instructor: Yang Xiao (contact: xiaoy[AT]uky.edu)
Meeting Times: M/W/F 2:00-2:50 PM (Section 001), 3:00-3:50 PM (Section 002)
Office Hour: Hardymon Rm 233, Thu 2:00 PM – 4:00 PM
TA: TBD (contact: TBD), Office Hour: TBD
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 | Agenda | Reading | Assignment |
---|---|---|---|
1 |
|
||
2 |
|
||
3 |
|
||
4 |
|
||
5 |
|
||
6 |
|
||
7 |
|
||
8 |
|
||
9 |
|
||
10 |
|
||
11 |
|
||
12 |
| ||
13 |
|
||
14 |
|
||
15 |
|
||
16 |
|
||
17 |
|
Learning/Research Resources
UK Libraries, Free Tutoring and Coaching at UK, Google Scholar, ACM Digital Library, IEEE Xplore.