ICS 311 Spring 2023 General Course InformationCatalog DescriptionICS 311 Algorithms (4 credits) Design and correctness of algorithms, including divide-and-conquer, greedy and dynamic programming methods. Complexity analyses using recurrence relations, probabilistic methods, and NP-completeness. Applications to order statistics, disjoint sets, B-trees and balanced trees, graphs, network flows, and string matching. Pre: 211 and 241, or consent. Student Outcomes
Important: Do not approach this course solely as a memorization task, where you can only do algorithms you are trained to do, like a circus animal. We want you to learn a “catalog” of algorithms, but you should also understand their analyses as examples that enable you to analyze unexpected algorithms in the future. This is essential for being successful in a fast changing field where you are expected to figure out whether a new idea will work, as you will be the computer scientist hired to do this. Take a look at the student comments on the course evaluations of the past offerings of this class. Textbook
Students are advised to purchase the textbook, as this book will serve as a lifelong reference. It is the second most cited publication in computer science! Students are expected to know the material from prerequisite courses: ICS 141, 241, 111, 211, which will be heavily used in this course. Students are advised to keep their ICS 241 (Discrete Mathematics for Computer Science) textbooks for reference. InstructorNodari Sitchinava
Teaching AssistantsArmin Soltan
Kai-Ying Lin
Lecture Time & Location
Communications
Online MediaWe use the course website https://www2.hawaii.edu/~nodari/teaching/s23/ for posting schedules, lecture notes and homeworks. We use Laulima for communication and discussions. Please see this document on everything Laulima users should know. We will use Google Docs for in-class problem solving, as it supports simultaneous editing. Screencasts (videos) of lectures are available on YouTube (except the ones from the first week are in Laulima). They are linked from the individual Notes pages (the pages named Topic-XX.html) and from the Schedule page. |