Course Number and Section: CS:3330:0002
Semester, Year: Spring 2022
Time: 11:00am - 12:15pm, TuThu
Office hours: 4:00pm - 5:00pm TuThu or by appointment
DEO: Alberto Segre, 14D MacLean Hall
Course Description and Objective
Topics include algorithm design techniques (divide and conquer, dynamic programming, greedy) and analysis techniques (big-O notation, recurrence); sorting (merge sort, heapsort, and quicksort), searching (B-trees, hashing); basic graph algorithms (depth-first and breadth-first search, minimum spanning trees, shortest paths); and NP-completeness.
Introduction to The Design and Analysis of Algorithms (3E). Author: Anany Levitin
Grading System and the Use of +/-
The plus/minus grading system will be used.
Percentage of Final Grade
Homework (with Programming Assignments): 35%
Midterms: 30% (2 midterms)
In-class Quiz (Participation) : 10%
Homework is worth full credit at the beginning of class on the due date (later if an extension has been granted). It is worth at most 90% credit for the next 24 hours. It is worth at most 50% credit for the following 24 hours. It is worth 25% credit after that. If you need an extension, please ask for it (by sending email to the instructor) as soon as the need for it is known. Extensions that are requested promptly will be granted more liberally. You must turn in all assignments. Everyone can ask at most 2 extensions of 2 days with no reason and no loss of credit
Resources for Students
Students will find the Writing Center and the Speaking Center very useful for this course; the Tutor Iowa site is also very valuable for students seeking extra help:
The College of Liberal Arts and Sciences: Important Policies and Procedures
Please refer to this PDF
file for related policies and procedures.