Academics
  /  
Courses
  /  
Descriptions
COMP_SCI 396, 496: Advanced Algorithm Design through the Lens of Competitive Programming


VIEW ALL COURSE TIMES AND SESSIONS

Prerequisites

CS 336 or Permission of Instructor

Description

This is an advanced undergraduate course on algorithms. This course examines such topics as greedy algorithms, dynamic programming, graph algorithms, string processing, and algorithms for computational geometry. We will discuss how to use these techniques for solving real-world problems in C++. Most assignments and examples will be based on competitive programming problems.

The course assumes background in algorithms (CS 336) and some experience with C++.

  • This course fulfills the Technical Elective.

REFERENCE TEXTBOOKS: N/A
REQUIRED TEXTBOOK: N/A

COURSE COORDINATORS: Prof. Konstantin Makarychev

COURSE INSTRUCTOR : Prof. Konstantin Makarychev or Prof. Dmitry Avdyukhin (Fall 2023)