CSE 320 System Fundamentals II
Fall 2025
Fall 2025
Instructor
Yoon Seok Yang (yoonseok.yang@sunykorea.ac.kr, C411, +82-32-626-1221)
Course
Lectures
MW 2:00pm ~ 3:20pm
Office Hours
TuTh 5:00pm ~ 6:00pm, or by appointment (C411)
Class Information
Course Schedule including examples from lectures, problem sets, etc.
Course Overview
This course introduces essential concepts of operating systems, compilers, concurrency, and performance analysis, focused around several cross-cutting examples, such as memory management, error handling, and threaded programming. In this course, operating systems concepts are considered from the point of view of the application programmer, and the focus is on APIs for interacting with an operating system. A companion course, CSE 306, considers operating systems from the point of view of the OS kernel implementer.
Prerequisites
Completed CSE220 with a C or higher grade
Instructor
Yoon Seok Yang (yoonseok.yang at sunykorea dot ac dot kr) Office: C411
TA
Si Yong Lee (siyong.lee at stony brook dot edu)
Daniel Kim (daniel.g.kim at stony brook dot edu)
Textbook and References
Computer Systems, A Programmer’s Perspective, 3rd Edition, Pearson, 2016, ISBN‐10: 0‐13‐409266‐x; Authors: Bryant and O’Hallaron
The C Programming Language, 2nd Edition, Prentice‐Hall, 1988, ISBN‐10: 0‐13‐11‐370‐9; Authors: Kernighan and Ritchie
C for Java Programmers: A Primer; Author: Charlie McDowell
Useful links
Course Website
https://sites.google.com/sunykorea.ac.kr/cse320-f25/home
Grading
1st midterm exam: 15%
2nd midterm exam: 15%
Final exam: 20%
Programming assignments: 45%
Attendance: 5% (missing more than 20% of the class will fail the course)
Major Topics Covered in the Course
C Programming
Memory Hierarchy, Caches, Virtual Memory
Operating System Processes and POSIX abstractions
Operating System Scheduling and I/O
Basic Networking and Socket Programming
Multi‐threading and Parallel Programming
Course Learning Outcomes
Develop an understanding of the layers of software that lie between an application program and the underlying hardware and how they inter‐operate.
Develop an ability to program with operating system APIs.
Develop an ability to write and analyze multi‐threaded programs.
Regrading
Should you discover what you think is an error in grading your work, you have exactly one week after the grades are made available to you to request a regrade - no exceptions.
Weekly Class Schedule
See the Course Schedule page.
Getting Help and Information
I encourage you to see me when you need help, advice, or encouragement. I will always be available during my regular office hours each week, and you may also make appointments for other times. Simple questions can often be answered by phone or email.
Academic Integrity
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty members are required to report any suspected instances of academic dishonesty to the Academic Judiciary Committee or the Department of Academic Affairs, Campus Building A, Room 201, (032) 626-1121.
Students With Disabilities
If you have a physical, psychological, medical or learning disability that may impact your course work, please contact the Department of Student Affairs, Campus Building A, Room 207, (032) 626-1190. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.
Critical Incident Management
SUNY Korea expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Department of Academic Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn.