Skip to Content

University of Colorado Boulder
Search

Search

Other ways to search:

  • Events Calendar
  • Campus Map
BS in Applied Computer Science
College of Engineering and Applied Science
BS in Applied Computer Science

Main menu

  • Home
  • Academics
  • Admissions
  • Cost
  • Careers
  • People
  • Nondegree Option

Secondary Menu

  • Request Information
  • Current Student Resources

Mobile menu

  • Home
  • Academics
  • Admissions
  • Cost
  • Careers
  • People
  • Nondegree Option
  • Request Information
  • Current Student Resources

CSPB 3104 - Algorithms

Course Details

*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.

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

Specific Outcomes of Instruction
  • 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.

Brief List of Topics to be Covered
  • 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

Mathematical Concepts Used

Recursion, logarithmic and exponential functions, induction, graph theory

 

Return to Course List

BS in Applied Computer Science

The Bachelor of Science in Applied Computer Science is awarded by the College of Engineering & Applied Science with some administrative support provided by the Division of Continuing Education.

  Contact Us
CSPBonline@colorado.edu
303-492-2518

University of Colorado Boulder

University of Colorado Boulder
© Regents of the University of Colorado
Privacy • Legal & Trademarks • Campus Map

Return to the top of the page