"CS 320 provides an introduction to algorithms, their correctness proofs, their complexity, algorithm classes, problems and problem classes."
Skills:
- Greedy Algorithms
- Knapsack
- Stable Matchings
- Scheduling
- Minimum Spanning Trees
- Big O
- Graphs/Shortest Path
- Bellman Ford's
- Kruskal's
- Prim's
- Reverse-Delete
- Closest Points
- Memory Efficiency
- Dynamic MultiThreading
- Interval Scheduling
- Divide and Conquer Algorithms
Projects: |
Description |
P1 |
Line of Sight Simulation |
P2 |
Huffman Encoding/Decoding |
P3 |
Counting Inversions via Merge Sort |
CS320
  took a deep dive into exploring a number of different common algorithms within certain niches such as those that are
Greedy, Divide and Conquer one's, or whichever would be the optimal choice in solving a problem.  A stress on time and space complexity was made throughout the course, with Big O, Theta, and Omega being thoroughly explored.  Algorithm's were explained intuitively, as to come to our own conclusions by developing an algorithm with a
guided goal in mind.  Proofs of said time and space complexities were stressed as well, with methods such as the Master's Theorem being employed.