University Computer Science Class Notes
Algorithms, Systems, and Software Basics
Prepared: August 16, 2025
Instructor Notes Template
University Scientific Programs
Use these notes for study, course planning, or portfolio review.
Program Overview
Computer Science covers algorithmic thinking, systems, and software design. Programs combine
programming, theory, systems, and applications such as AI and HCI.
Intended Learning Outcomes (ILOs)
• Analyze time/space complexity; choose appropriate data structures.
• Implement algorithms in a high-level language and test effectively.
• Understand OS, networking, databases, and distributed systems basics.
• Explain computability, decidability, and NP-completeness at a high level.
• Practice version control, documentation, and code review.
Typical Core Courses
• Intro to Programming
• Data Structures & Algorithms
• Computer Systems / OS
• Databases
• Theory of Computation
• Software Engineering / Web Development
Key Concepts & Formulas
Concept Brief Explanation / Formula
Big-O Notation O(1), O(log n), O(n), O(n log n), O(n²), O(2^n): asymptotic upper bounds.
Sorting Merge sort (O(n log n)), quicksort (avg O(n log n)), stability vs in-place.
Graphs BFS/DFS, Dijkstra, A*, MST (Kruskal/Prim).
Concurrency Race conditions, locks, deadlocks, Amdahl’s law.
Databases Normalization, ACID, indexing (B+ trees), SQL joins.
Worked Example: Choosing a Data Structure
• Given frequent lookups & occasional inserts: use hash map (avg O(1) lookup).
• Need ordered traversal: use balanced BST (O(log n) ops).
• Need FIFO processing: use queue; LIFO: stack.
• Benchmark alternatives; analyze memory vs speed tradeoffs.
Laboratory/Field Skills
• Build a REST API with authentication.
• Implement a memory allocator or scheduler simulator.
• Design a normalized relational schema and write SQL queries.
• Parallelize a computation using threads or map-reduce.
Career Pathways
• Software engineer, data engineer, ML engineer.
• Product-focused roles (PM with CS background).
• Research labs and startups.
Suggested Resources
• Open Data Structures (free)
• ‘Introduction to Algorithms’ (CLRS)
• MDN Web Docs; PostgreSQL manual
• LeetCode / HackerRank for practice
Academic Integrity Note: These notes are for study use and course planning; always cite sources in formal work.