Back to Course Catalog
CS301
Semester 3 • Undergraduate
4 Academic Credits

Operating Systems & Concurrency

Kernel abstractions, multi-threaded concurrency, semaphores, deadlock avoidance (Banker’s), virtual memory paging, and file systems.

Course Learning Outcomes

Virtual Memory Paging

Theoretical foundation and algorithmic problem solving with faculty evaluation.

Coffman Deadlock Conditions

Theoretical foundation and algorithmic problem solving with faculty evaluation.

Multi-Level Feedback Queues

Theoretical foundation and algorithmic problem solving with faculty evaluation.

Strict 2PL

Theoretical foundation and algorithmic problem solving with faculty evaluation.

Curriculum Chapter Syllabus

Chapter 01

Foundational Theory & Invariants

Asymptotic notation, amortized complexity, and invariant proofs.

Big-O / Omega / ThetaMaster TheoremLoop Invariants
Chapter 02

Linear & Hierarchical Data Structures

Dynamic arrays, linked allocation, stacks, queues, and priority heaps.

Fibonacci HeapsArray Doubling AnalysisCircular Queues
Chapter 03

Self-Balancing Binary Search Trees

AVL height balances, single/double rotations, and Red-Black tree coloring rules.

AVL Balance FactorRed-Black InvariantsSplay Trees
Chapter 04

Graph Traversals & Optimal Pathing

Breadth/depth traversals, topological sorting, shortest paths, and minimum spanning trees.

Dijkstra AlgorithmBellman-Ford Dynamic ProgrammingKruskal & Prim

Enroll in CS301 for the Academic Term

Join students receiving verified grades, personalized faculty feedback, and access to the Flutter mobile application.