CSPB 3104 - Algorithms

*Note: This course description is only applicable for the Computer Science Post-Baccalaureate program.ÌýAdditionally, students must always refer to course syllabus for the most up to date information.Ìý

  • Credits: 4.0Ìý
  • Prerequisites: CSPB or CSCI 2270Ìý- Computer Science 2: Data Structures with minimum grade C- and CSPB or CSCI 2824 - Discrete Structures with minimum grade C-.Ìý
  • Minimum Passing Grade: C-
  • Textbook:ÌýIntroduction to Algorithms, 3rd Edition (The MIT Press) 3rd Edition, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. A supplemental textbook is also recommended, "Grokking Algorithms: An illustrated guide for programmers and other curious people, 1st Edition" byÌýAditya Bhargava.

[video:https://youtu.be/1VeN5hsiKvk]

Brief Description of Course Content

Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP, and approximation algorithms.Ìý

Specific Goals for the Course

Ìý
  • Understanding properties of algorithms.Ìý
  • Proving these properties mathematically.Ìý
  • Proving rigorous time and space complexity bounds on the performance.Ìý
  • Understand the relative merits or demerits of an algorithm, in practice.
  • Use algorithms to solve core problems that may arise inside applications.Ìý
  • Learn key tricks (motifs) underlying the design of new algorithms for emerging applications.
  • Introduction to Algorithms: Complexity analysis
  • Divide and Conquer Algorithms
  • Sorting and Order Statistics
  • Advanced Data Structures: heaps, balanced trees and hash-functions
  • Dynamic Programming
  • Greedy Algorithms
  • Graph Algorithms: Search, Minimum Spanning Trees, Shortest Paths, Network Flows
  • Introduction to Linear and Integer Programming
  • Basics of Computational Complexity: P, NP, reductions and open problems
Recursion, logarithmic and exponential functions, induction, graph theory

Ìý Return to Course List