Skip to Content

University of Colorado Boulder
Search

Search

Computer Science
College of Engineering and Applied Science
Computer Science

Main menu

  • Home
  • Academics
  • Research
  • People
  • News & Events
  • Admissions

Secondary Menu

  • Students
  • Engage
  • Faculty/Staff Resources

Mobile menu

  • Home
  • Academics
  • Research
  • People
  • News & Events
  • Admissions
  • Students
  • Engage
  • Faculty/Staff Resources
  • About
  • Admissions
  • Contact Us
  • Jobs
  • Funding Opportunities

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 for the Course

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 in Course
Recursion, logarithmic and exponential functions, induction, graph theory

Return to Course List

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube

Apply  Visit  Give

Departments

  • Ann and H.J. Smead Aerospace Engineering Sciences
  • Chemical & Biological Engineering
  • Civil, Environmental & Architectural Engineering
  • Computer Science
  • Electrical, Computer & Energy Engineering
  • Paul M. Rady Mechanical Engineering

Programs

  • Applied Mathematics
  • Biomedical Engineering
  • Creative Technology & Design
  • Engineering Management
  • Engineering Physics
  • Engineering Plus
  • Environmental Engineering
  • Materials Science & Engineering

Affiliates & Partners

  • ATLAS Institute
  • BOLD Center
  • Colorado Mesa University
  • Colorado Space Grant Consortium
  • Discovery Learning
  • Engineering Honors
  • Engineering Leadership
  • Entrepreneurship

 

  • Herbst Program for Engineering, Ethics & Society
  • Idea Forge
  • Integrated Teaching and Learning
  • Global Engineering
  • Mortenson Center for Global Engineering
  • National Center for Women & Information Technology
  • Western Colorado University

Footer menu

  • About
  • Admissions
  • Contact Us
  • Jobs
  • Funding Opportunities

Computer Science

1111 Engineering Drive
ECOT 717, 430 UCB
Boulder, CO 80309-0430 USA
Phone: 303-492-7514
Contact Us by Email
Fax: 303-492-2844   
GPS Coordinates 40.006387, -105.261582

College of Engineering & Applied Science
Phone: 303-492-5071
Email: cueng@colorado.edu

Connect with CU Engineering

  • Facebook
  • Twitter
  • YouTube
  • LinkedIn
  • Instagram

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