12:30-13:45pm, 110 MLH
Contact info: 201B MLH, firstname.lastname@example.org, 319-353-2545
Office Hours: 2-3:30pm, Tue., Wed.
Md Daniyal Dar
Contact info: 101N MLH, email@example.com
Office Hours: 1:30-3pm, Mon., 2:30-4pm, Thu., 101N MLH
The TA's primary responsibilities will be to grade homeworks and projects that you submit, prepare sample solutions to homeworks, and hold office hours (3 hours per week) to provide help on homeworks and material being covered in the lectures.
Course website: http://www.cs.uiowa.edu/~hzhang/c31/
Objectives: This course deals with advanced data structures and design and analysis of algorithms. We will study various data structures such as balanced search trees, priority queues, heaps, hash tables, and union-find structures. We will study algorithm design techniques such as recursive method, greedy method, dynamic programming, divide-and-conquer, and randomization and see many examples of each of these techniques in action. We will study algorithm analysis techniques such as asymptotic analysis, average-case analysis, amortized analysis and recurrence relations. Towards the end of the course, we will also study the intractability of problems, specifically the theory of NP-completeness.
Textbook: The textbook for this course is Algorithm Design and Applications by Goodrich and Tamassia (see this for more details).
Computer Facility: You will need a personal computer to develop Java programs.
Course Accounts: You will need a HawkID and a password to login to ICON to electronically submit your assigned work.
Grading: Plus/Minus grading and curving will be used for the course. There are the three components that will determine your grade.
Late submissions will not be accepted and in general you will be better off turning in what you have on time rather than seeking extra time to complete your work. Starting early is the key, and the TA and I will be glad to help with any questions you may have on the assignments. So please visit us often during our office hours and if necessary, outside our office hours as well. There will be no make-up exams in general and exceptions will be rare and only for students whose reasons are included in the University's policy on "Excused Absences from Examinations".
Students with disabilities: I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours.
Academic Integrity: Academic dishonesty will not be tolerated. Under no circumstances should you pass off someone else's work as your own. This also applies to code or other material that you might find on the internet. Note that we will routinely use available software systems for detecting software plagiarism, to test any suspicions we might have. If you are unclear about what constitutes academic integrity contact your advisor or consult the policy in the CLAS Bulletin (online version). We do want students to talk to each other about concepts and ideas that relate to the class. However, it is important to ensure that these discussions do not lead to the actual exchange of written material.
Required Legalese: This course is run by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for absences and academic integrity are governed by the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found online: https://clas.uiowa.edu/faculty/teaching-policies-resources-syllabus-insert.
Student Complaints: If you have any complaints or concerns about how the course is being conducted by me or by the TA please feel free to talk to me. You are also welcome to get in touch the Computer Science department chair, Prof. Alberto Segre (firstname.lastname@example.org, 14 McLean Hall). Consult the college policy on Student Complaints Concerning Faculty Actions (online version) for more information.