ICS 621 Fall 2024 General Course Information

Instructor

Nodari Sitchinava

  • Office: POST 309B

  • Office Telephone: (808) 956-3581

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

  • Office Hours: Wednesday 4pm-5:30pm in POST 309B

Time & Location

All lectures will take place in person in POST 126 on Fridays 1:30pm-4pm.

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, 4rd Edition. The MIT Press, 2022. ISBN: 9780262046305. (Some of the covered material is presented only in the older versions of the textbook, so we will use those editions too.)

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