| |
CSCE 313-200:
Introduction to Computer Systems
TR 2:20-3:35pm
(Spring 2023) in HRBB 126
Syllabus
PDF
Lectures (* marks homework due dates)
Date |
File |
Lecture |
Topics |
1/17/23 |
PDF |
Preliminaries I |
Syllabus, Visual Studio |
1/19/23 |
PDF |
Preliminaries II |
C++ pointers, homework #1, pipes |
1/24/23 |
PDF |
Operating Systems |
OS history, terminology |
1/26/23 |
PDF |
Processes* |
Process states |
1/31/23 |
PDF |
Threads |
Reasons, APIs, execution modes |
2/2/23 |
|
Quiz 1 |
Systems notes handout |
2/7/23 |
PDF |
Synchronization I |
Principles of concurrency, terminology |
2/9/23 |
PDF |
Synchronization II* |
Hardware mutex, semaphores |
2/14/23 |
PDF |
Synchronization III |
Kernel mutex/event, producer-consumer |
2/16/23 |
|
Midterm 1 |
Chapters 2-4 (parts of 5), homework #1 |
2/21/23 |
PDF |
Practice I |
Simple semaphore puzzles |
2/23/23 |
PDF |
Synchronization IV* |
Monitors, condition variables |
2/28/23 |
PDF |
Synchronization V |
Messages, reader-writer, performance |
3/2/23 |
|
Quiz 2 |
Chapters 4-5 |
3/7/23 |
PDF |
Practice II |
Harder semaphore puzzles |
3/9/23 |
PDF |
Deadlocks |
Prevention, dining philosophers |
3/14/23 |
|
Spring Break |
Spring Break |
3/16/23 |
|
Spring Break |
Spring Break |
3/21/23 |
PDF |
File System I* |
I/O device speed, APIs |
3/23/23 |
|
Midterm 2 |
Chapters 5-6 |
3/28/23 |
PDF |
File System II |
Buffering, disk internals |
3/30/23 |
PDF |
File System III |
RAID, caching, file structure |
4/4/23 |
PDF |
File System IV |
Directories, file allocation |
4/6/23 |
|
Quiz 3 |
Chapters 6, 11, 12 |
4/11/23 |
PDF |
Practice III |
Quiz review, string search |
4/13/23 |
PDF |
Memory I* |
Process heap, buddy system |
4/18/23 |
PDF |
Memory II |
Virtual memory, paging |
4/20/23 |
PDF |
Memory III |
Buffer overflows, page eviction |
4/25/23 |
PDF |
Final Notes |
Concluding remarks |
4/27/23 |
|
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/26, 2/9, 2/23 |
2 |
PDF |
Optimized large-scale BFS |
3/21 |
3 |
PDF |
File string search |
4/13 |
4 |
PDF |
Turbo indexer |
5/7 |
|