Algorithms & Complexity

Learning Outcomes:

  • Understanding fundamental algorithms, including sorting and searching
  • Grasping the concepts of algorithm analysis and efficiency, including Big-Oh notation
  • Mastering the concepts and implementations of binary search trees (BSTs) and abstract data types (ADTs)
  • Learning the basics of balanced trees, specifically AVL trees, and their rotations
  • Expanding knowledge on advanced data structures, including hash tables, heaps, and priority queues
  • Delving into graph theory basics, including graph representations and properties of depth-first search (DFS) and breadth-first search (BFS)
  • Beginning with dynamic programming concepts, transitioning to graph algorithms
  • Understanding the applications of min-cost spanning trees and the mechanics of Kruskal's and Prim's algorithms
  • Gaining insights into graph search algorithms, specifically DFS and BFS, and their use in establishing connectivity
  • Exploring the theory and application of min-cost spanning trees, Union-Find data structure, and greedy algorithms
  • Learning shortest path algorithms, with a focus on Dijkstra’s algorithm
  • Studying advanced graph algorithm topics, such as handling distances with negative weights and the Floyd-Warshall algorithm
  • Investigating graph coloring and its algorithmic implementations

Skills for module:

Algorithms

Java

Problem Solving

Critical Thinking

Time Management

Algorithms & Complexity

CS2860

Learning Outcomes

  • Understanding fundamental algorithms, including sorting and searching
  • Grasping the concepts of algorithm analysis and efficiency, including Big-Oh notation
  • Mastering the concepts and implementations of binary search trees (BSTs) and abstract data types (ADTs)
  • Learning the basics of balanced trees, specifically AVL trees, and their rotations
  • Expanding knowledge on advanced data structures, including hash tables, heaps, and priority queues
  • Delving into graph theory basics, including graph representations and properties of depth-first search (DFS) and breadth-first search (BFS)
  • Beginning with dynamic programming concepts, transitioning to graph algorithms
  • Understanding the applications of min-cost spanning trees and the mechanics of Kruskal's and Prim's algorithms
  • Gaining insights into graph search algorithms, specifically DFS and BFS, and their use in establishing connectivity
  • Exploring the theory and application of min-cost spanning trees, Union-Find data structure, and greedy algorithms
  • Learning shortest path algorithms, with a focus on Dijkstra’s algorithm
  • Studying advanced graph algorithm topics, such as handling distances with negative weights and the Floyd-Warshall algorithm
  • Investigating graph coloring and its algorithmic implementations