Home - NormandaleWells/CSn GitHub Wiki
Welcome to the CSn wiki!
Here is the breakdown of topics, by course. Note that this is not a hard-and-fast breakdown; there are some semesters in which I may choose to incorporate some CS1 topics into CS0 or CS2, or introduce some CS2 topics into CS1.
CS0 (Csci 1101 at Normandale)
- Variables and Types
- Selection
- Loops
- Arrays
- Functions
- Aggragation
- Recursion
CS1 (CSci 2001 at Normandale)
- Some basic algorithms
- Half-open ranges
- Algorithm correctness
-
- Preconditions and exceptions
-
- Postconditions and testing
-
- Invariants
-
- Upper/lower bound (binary search)
- Simple sorts
-
- Selection sort
-
- Insertion sort
- Abstract Data Types and APIs
-
- Encapsulation
-
- Data hiding
-
- Class invariants
- Inheritance
-
- Implementation inheritance
-
- Interface inheritance
- Generics
-
- Generic functions
-
- Generic interfaces and classes
-
- Special interfaces
-
-
- Comparable
-
-
-
- Comparator
-
-
-
- Iterator
-
-
-
- Predicate
-
- Linked lists
- Some elementary ADTs
-
- Stack
-
- Queue
-
- Priority queues
-
- Symbol tables
CS2 (CSci 2002 at Normandale)
- Algorithm complexity
-
- TwoSum and ThreeSum
-
- Basic algorithms
-
- Other common patterns
- Sorting
-
- Mergesort
-
- Quicksort
-
- Heaps
-
- Priority queues
-
- Heapsort
- Searching
-
- Set API
-
- Symbol table API
-
- Binary Trees
-
- Balanced binary trees
-
- Hash tables
- Graphs
-
- Separation of data structures from algorithms
-
- Union-find
-
- Undirected graphs
-
-
- API
-
-
-
- Depth-first search
-
-
-
- Breadth-first search
-
-
-
- Connected Components
-
-
- Directed graphs
-
-
- API
-
-
-
- DFS and BFS
-
-
-
- Cycle detection
-
-
-
- Topological sort
-
-
-
- Strong connectivity
-
-
- Edge-weighted undirected graphs
-
-
- APIs (edge and graph)
-
-
-
- Minimum spanning trees
-
-
-
- Prim's algorithm
-
-
-
- Kruskal's algorithm
-
-
- Edge-weighted directed graphs
-
-
- Shortest path
-
-
-
- Dijkstra's algorithm
-
-
-
- DAG shortest path
-
-
-
- Job scheduling
-
-
-
- Bellman-Ford
-