ICS 621 Fall 2022 General Course Information

Instructor

Nodari Sitchinava

  • Office: POST 309C

  • Office Telephone: (808) 956-3581

  • Email: nodari@hawaii.edu (Put “ICS 621” in the subject line)

  • Office Hours: Tuesdays 1:30-2:30pm in POST 309C

Lecture Time & Location

  • Fridays 1:30pm-4:00pm in Sakamaki C203

Prerequisites

  • An undergraduate course in algorithms (ICS 311 or equivalent)

  • One of the following programming languages: C, C++, Java, Python

This course picks up where an undergraduate course in algorithms (like ICS 311) leaves off. Students will learn advanced techniques for algorithm design and analysis. Topics that overlap with ICS 311 will be covered more in-depth. Therefore, students are expected to be familiar with basic data structures and algorithms taught in ICS 311. They should be able to describe algorithms using pseudocode, prove correctness and analyze running time using asymptotic (Big-O) notation. Some of the homeworks will be programming assignments, hence the students must be comfortable with one of the four programming languages listed above.

If you took an undergraduate algorithms course outside of UH and are unsure if you have the required prerequisite knowledge, here is a basic self-assessment exam to test your level of preparedness. These questions are meant to be very basic. So if you are struggling with them, you might want to consider taking ICS 311 before taking this course.

Student Learning Outcomes (SLOs)

At the end of this class, the successful student will be able to:

  • demonstrate an advanced level of technical skill in the design and analysis of algorithms

  • be able to apply advanced algorithm design techniques to solve a computational problem

  • demonstrate knowledge of advanced analysis techinques to characterize performace of an algorithm

  • be able to prototype and evaluate an algorithm empirically

  • be able to read and comprehend research literature in algorithms

Reading Material

There is no required textbook for the course. The course material will come from various sources (books and research papers). The detailed list is posted on the course's main page. Material from the following books will be used throughout the course, in case if you'd like to order paper copies in advance:

  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms, 3rd Edition. The MIT Press, 2009. ISBN: 9780262033848.

  • Jeff Erickson, Algorithms, 1st Edition, 2019. Electronic version available online for free.