Python Programming
Java Programming
Computer Science: An Interdisciplinary Approach
Paradigms of Computer Programming
Principles of Imperative Computation
Introduction to Functional Programming
Functional Programming
Haskell
Programming with Categories
Data Structures and Functional Programming
Intro to Algorithms
Intro to Data Structures & Algorithms
Object Oriented Java Programming
Algorithms P
Algorithms S
Introduction to Algorithms
Algorithms and Data Structures
Data Structures and Algorithms
Data Structures: An Active Learning Approach
Efficient Algorithms and Intractable Problems
Algorithms & Complexity
Intro to Theoretical Computer Science
Great Ideas in Theoretical Computer Science
Undergraduate Complexity Theory
Automata, Computability, and Complexity
Computability, Complexity & Algorithms
Algorithms with Theory
Analysis of Algorithms
Design and Analysis of Algorithms
Algorithm Design and Analysis
A Second Course in Algorithms
Geometric Algorithms
Approximation Algorithms
I/O Efficient Algorithms
Intro to Graduate Algorithms
Parallel & Sequential Data Structures and Algorithms
Advanced Algorithms
Algorithms for Inference
Competition Programming and Problem Solving
Constrain Programming
Performance Engineering of Software Systems
LAFF: On Programming for Correctness
LAFF: On Programming for High Performance
Discrete Optimization
Curriculum 6-2 6-3 6-4 6-9 8 18-C
Universities CMU UPenn Cornell Stanford Berkeley UWashington UCSandiego */}