| |
CSCE 313-200:
Introduction to Computer Systems
TR 11:10-12:25pm (Spring 2025) in HRBB 126
Syllabus
PDF
Lectures (* marks homework due dates)
Date |
File |
Lecture |
Topics |
1/14 |
PDF |
Preliminaries I |
Syllabus, Visual Studio |
1/16 |
PDF |
Preliminaries II |
C++ pointers, homework #1, pipes |
1/21 |
PDF |
Operating Systems |
OS history, terminology |
1/23 |
|
Processes* |
Process states |
1/28 |
|
Threads |
Reasons, APIs, execution modes |
1/30 |
|
Quiz 1 |
Systems notes handout |
2/4 |
|
Synchronization I |
Principles of concurrency, terminology |
2/6 |
|
Synchronization II* |
Hardware mutex, semaphores |
2/11 |
|
Synchronization III |
Kernel mutex/event, producer-consumer |
2/13 |
|
Midterm 1 |
Chapters 2-5, homework #1 |
2/18 |
|
Practice I |
Simple semaphore puzzles |
2/20 |
|
Synchronization IV* |
Monitors, condition variables |
2/25 |
|
Synchronization V |
Messages, reader-writer, performance |
2/27 |
|
Quiz 2 |
Chapters 4-5 |
3/4 |
|
Practice II |
Harder semaphore puzzles |
3/6 |
|
Deadlocks |
Prevention, dining philosophers |
3/11 |
|
Spring Break |
Spring Break |
3/13 |
|
Spring Break |
Spring Break |
3/18 |
|
File System I* |
I/O device speed, APIs |
3/20 |
|
Midterm 2 |
Chapters 5-6 |
3/25 |
|
File System II |
Buffering, disk internals |
3/27 |
|
File System III |
RAID, caching, file structure |
4/1 |
|
File System IV |
Directories, file allocation |
4/3 |
|
Quiz 3 |
Chapters 6, 11, 12 |
4/8 |
|
Practice III |
Quiz review, string search |
4/10 |
|
Memory I* |
Process heap, buddy system |
4/15 |
|
Memory II |
Virtual memory, paging |
4/17 |
|
Memory III |
Buffer overflows, page eviction |
4/22 |
|
Final Notes |
Interlocking, scheduling, networking |
4/24 |
|
Midterm 3 |
Chapters 11, 12, 7, 8 |
Get Help
Class Materials
Useful Links
-
Setting up Azure
-
Starting with Visual Studio (creating
a project,
precompiled headers,
basic
debugging)
-
The C language, arrays, pointers,
functions, strings, I/O, data structures (beginner
C, K&R,
C FAQs)
Homework
# |
File(s) |
Topic |
Due |
1 |
p1,
p2, p3 |
Parallel graph search (3 parts) |
1/23, 2/6, 2/20 |
2 |
|
Optimized large-scale BFS |
3/18 |
3 |
|
File string search |
4/10 |
4 |
|
Turbo indexer |
5/4 |
|