Skip to content

Instantly share code, notes, and snippets.

@stevebrownlee
Created September 23, 2025 18:01
Show Gist options
  • Save stevebrownlee/a14dfb94583a65f1dd9885a5e8db74ab to your computer and use it in GitHub Desktop.
Save stevebrownlee/a14dfb94583a65f1dd9885a5e8db74ab to your computer and use it in GitHub Desktop.
overview of CS degrees
Course Name Concepts Covered Year Covered Prerequisites
Introduction to Programming Programming fundamentals, variables, control structures, functions, basic problem solving, introduction to a programming language (Python/Java) Year 1, Fall None (entry-level course)
Object-Oriented Programming Classes, objects, inheritance, polymorphism, encapsulation, abstract data types, basic data structures (arrays, lists) Year 1, Spring Introduction to Programming
Discrete Mathematics Logic, sets, functions, relations, graph theory, combinatorics, mathematical induction, proof techniques Year 1-2 Calculus I (may be concurrent)
Data Structures & Algorithms Big O notation, time/space complexity, linked lists, stacks, queues, trees, hash tables, sorting algorithms, searching algorithms Year 2, Spring Object-Oriented Programming, Discrete Mathematics
Computer Architecture Assembly language, CPU design, memory hierarchy, instruction sets, hardware-software interface, performance analysis Year 2, Fall Data Structures, Calculus II
Algorithm Analysis Advanced complexity theory, divide-and-conquer algorithms, dynamic programming, greedy algorithms, graph algorithms, NP-completeness Year 3, Fall Data Structures & Algorithms, Linear Algebra
Operating Systems Process management, memory management, file systems, concurrency, synchronization, system calls, performance optimization Year 3, Spring Computer Architecture, Algorithm Analysis
Database Systems Relational model, SQL, query optimization, indexing, transaction processing, concurrency control, database design Year 3, Fall/Spring Data Structures & Algorithms
Computer Networks Network protocols, TCP/IP, routing algorithms, network security, distributed systems, performance analysis Year 3-4 Operating Systems, Probability/Statistics
Software Engineering Software development lifecycle, design patterns, testing methodologies, version control, project management, code quality metrics Year 3-4 Data Structures & Algorithms, database experience
Machine Learning Supervised/unsupervised learning, neural networks, optimization algorithms, statistical learning theory, complexity analysis of ML algorithms Year 3-4 Linear Algebra, Probability/Statistics, Algorithm Analysis
Compiler Design Lexical analysis, parsing, semantic analysis, code generation, optimization techniques, complexity of compilation phases Year 4 Algorithm Analysis, Programming Languages Theory
Senior Capstone Independent project, research methodology, advanced algorithm implementation, performance evaluation, technical writing Year 4, Fall/Spring Major coursework completion, advisor approval
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment