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

Coordinates

The course meets 2.30--3.20 pm Monday, Wednesday, and Friday at 112 MH. Each student is also registered for and will attend a weekly discussion section conducted by our TA.

Content

In brief, the course will be about problem solving using data structures, with Java as the language for expressing our ideas. See this previous offering to get a rough idea of the course.

Here is an "official" course description: 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. After the first couple of weeks of lectures and discussion sections, this book will become quite readable.

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 be nine or ten, one midterm (20 points) and one final (30 points). Most of the homeworks will involve Java programming.

Exam Dates

The midterm will be in class on Wednesday, October 14. The final exam is on Tuesday, Dec 15, at 7:30 am in our regular classroom.

Teaching Assistant and Discussion Sections

Each of the students in the class is registered for a discussion section that he/she is expected to attend. The TA for the class is Marcus Ernster. He will lead discussions according to the following schedule.
Section         Time                    Location                
A01             8:30-9:20 Th            205 MLH                 
A02             3:30-4:20 Th            116 MLH                   

Office Hours

Kasturi        4.00-5.00 Mon, 1.30-2.30 Tue, 4.00-5.00 Wed   101E MLH
Marcus         11.00-12.30, Mon and Fri

Handouts and Notes

Homeworks