22C : 021 Computer Science II, Data Structures Spring 2009

Class Schedule

10.30–11.20 pm Monday, Wednesday, and Friday at 427 EPB

Instructor

Kasturi Varadarajan: 101E MacLean Hall, 353-2541, kvaradar@cs.uiowa.edu Office hours: To be announced (on course web page).

Course Web Page

www.cs.uiowa.edu/∼kvaradar/sp2009/ds.html

Departmental Information

Department of Computer Science, 14 Maclean Hall. The office of the DEO, Prof. James Cremer, is located here.

Content

The second course required for computer science majors and minors emphasizes the design, implementation, and analysis of common data structures and algorithms. The goal is to teach how data structures provide the necessary data abstraction for the development of large software systems and their central role in software engineering. Data structures covered include sets, linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Students are introduced to algorithms for searching, sorting, and data structure manipulation and learn the techniques to analyze program efficiency. Programming using recursion and dynamic data structures are covered. The programming language is Java.

For our textbook, we will use Data Structures and Algorithm Analysis in Java 2/E by Weiss, ISBN 0321370139.

Prerequisites

Computer Science I (22C:016). Discrete Structures (22C:019) is a corequisite if not taken as a prerequisite.

Grading

The grading will be based on several homeworks (50 percent), of which there will be essentially one each week, one midterm (20 points) and one final (30 points). Most of the homeworks will involve programming in Java.

Exam Dates

The midterm will be in class on Monday, March 9. The final Exam will be as scheduled during finals week. I will post the schedule later.

Teaching Assistants and Discussion Sections

Each of the students in the class is registered for a discussion section that he/she is expected to attend. The TAs for the class are Kajari Ghosh Dastidar and Greg Nichols. They will lead discussions according to the following schedule:

• [Sec A01] 1:30-2:20 Th, 113 MLH, Kajari

• [Sec A03] 3:30-4:20 Th, 118 MLH, Kajari

• [sec A04] 10:30-11:20 Th, 214 MLH, Greg

Office hours for the TAs will be posted at the course website soon.

Students with disabilities

I need to hear from anyone who has a disability which may require some modification of seating, testing or other class requirements so that appropriate arrangements may be made. Please see me after class or during my office hours.

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 academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences.

Academic Dishonesty

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 dishonesty contact your professor or consult the printed policy in the Schedule of Courses and the CLAS Bulletin. 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.