Comp 182/182L Data Structures and Program Design Lecture Section Number: 14390 Lab Section Number: 14391 FALL 2010 Instructor: Office: Email: Web Page: Office Hours: Diane Schwartz 4401 Jacaranda Hall diane.schwartz@csun.edu www.csun.edu/~dls Wednesday 12:15 – 1:15 COMP 182 Meets: COMP 182L Meets: MW 0930 – 1045 in JD 3508 MW 1100 – 1215 in JD 2214 Course Description: Introduction to data structures and algorithms. Design and implementation of array lists, linked lists, queues, stacks, binary trees and tables. Recursion and time complexity of algorithms. Comparative study of sorting and searching techniques. Prerequisites: Math 104 or higher, Comp 110/L (C or better), Freshman Composition. Comp 182 and Comp 182L must be taken at the same time. Required Textbook: Data Abstraction and Problem Solving with Java ( 2nd Edition) by Frank Carrano and Janet Prichard , Addison Wesley Software: We will be programming in Java with Java 6 and jgrasp in the lab. You can download Java 6 from http://java.sun.com/javase/downloads and download jgrasp ( java development environment) from http://www.eng.auburn.edu/grasp . On-line Java Documentation: http://java.sun.com/javase/6/docs/api/index.html Grading Policies: The lecture and lab are integrated. You will receive the same grade for both the lecture and the lab. Plus and minus grading will be used. Your grade will be weighted as follows: Midterm I Midterm II Final Exam Lab Programming Projects Class Participation 15% 15% 30% 35% 5% ( Based on lecture + lab attendance) Course Goals ( from the student perspective): 1. To improve your ability to solve problems using computer programming. 2. To learn how to implement and use the basic programming data structures in Java 3. To improve your ability to design, write, test and debug computer programs. 4. To learn how to analyze algorithms. 5. To learn a variety of computer searching and sorting techniques. Laboratory Component Students will design, implement and test Java programs related to material covered in lecture and in text. Lab projects should be your own work unless a team project has been assigned. Revised 9/28/10 Comp 182 Week 1 2 3 4 5, 6 7 8 9 10 11 12 13 14 15 16 Dec 15 Lecture Schedule (approximate) Lecture Topics Review, Java classes, Java Exceptions, Java IO Data Abstraction ArrayList class from Java API Linked Lists, Linked Lists Stacks Stacks and Queues Queues Recursion Recursion Trees and Binary Trees Binary Trees Binary Trees Algorithm Efficiency, Sorting, Searching Catch Up Week Final Exam ( Wed Dec 15 8:00 – 10:00 am) Two midterms will be scheduled during the semester. Midterm I : Sept 29, 2010 Midterm II: TBD Text Readings Ch 1 Ch 4 Ch 4 Ch 5 Ch 5 Ch 7 Ch 7,8 Ch 8 Ch 3 Ch 6 Ch 11 Ch 11 Ch 11 Ch 10