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.

Guiding principles

Pseudocode used here

References

CS0 (Csci 1101 at Normandale)

  • Variables and Types
  • Selection
  • Loops
  • Arrays
  • Functions
  • Aggragation
  • Recursion

CS1 (CSci 2001 at Normandale)

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