Central Connecticut State University Fall 1998 CS 152 -- Computer Science II -- 4 Credits Section 70 MW 6:45 PM-8:00PM, W 8:15 PM-9:05 PM Room 209 Maria Sanford Hall Instructor: Dr. Charles W. Neville Course Description: This is a course in Data Structures. There is a famous book by the inventor of Pascal, Niklaus Wirth, titled Algorithms + Data Structures = Programs. This equation neatly encapsulates many of the key ideas of computer science. We are going to cover many of the basic data structures occurring in computer science, and the algorithms associated with them. When we are finished, you will have an excellent toolkit for writing complex programs of your own. Required Text: Data Structures & Algorithms in Java, by Mitchell Waite and Robert LaFore., Waite Group Press, 1998. The student will need at least three 3.5" HD floppy disks, and two or three folders with pockets in which to hand in lab assignments. Prerequisites: CS 151 or Math 471, and Math 122 or Math 125. The mathematics course may be taken concurrently. Computer Resources: We shall use Java version 1.1. Directions for using Java in the University Microcomputer Laboratory and/or in the Computer and Information Sciences and Technology Laboratory in room 208 Maria Sanford are available on my Web page (see below). Students will also find there an extensive list of Java Demo programs, as well as an extensive list of Java resources. For those who wish to work at home, the Java Development Kit, version 1.1.6, is available FOR FREE from SUN Microsystems at the URL http://java.sun.com/products/jdk/1.1/. (No period at the end of the URL.) Assignments, Projects and Exams: Reading assignments are listed below. There will be 5 projects. Project descriptions and due dates will be available on my Web page, and will be handed out on a separate sheet. Exam dates are denoted by **. Make-up exams are scheduled by appointment only. Grading: Your final grade will be based on on project assignments (1/3), in-class exams (1/3), and the final exam (1/3), and will be affected by classroom participation, conduct and attendance. The exams will include questions from the textbook, questions from the lectures, and questions from the assigned projects. The numerical grades will be averaged and then converted to a letter grade. Attendance: Two unexcused absences are allowed, and any work missed must be made up. The student should notify the instructor concerning absences, or there will be a grade penalty. Student Conduct. It is expected that all students will conduct themselves in a respectful manner, and will assist in maintaining an atmosphere conducive to learning in the classroom. Honesty Policy. It is expected that all students will conduct themselves in an honorable and honest manner. It is alright to give and receive help on computer projects, but no student may claim another's work as his or her own, and no student may have another student's program in his or her possession. Students may use code from published sources, but if a student uses code from a source other than class or the text, the student should provide a reference in comments. Office Hours: Monday 1:00--1:50 PM and 8:10--9:00 PM; Tuesday 11:00--11:50 AM; Wednesday 1:00--1:50 PM and 4:00--4:50 PM; Friday 11:00--11:50 AM. Feel free to stay for help, and feel free to stay to chat. My office is in room 205 Maria Sanford Hall. In an emergency, email me at neville@ccsu.edu, (no comma at the end of the email address) or call me at 832-2719 (work). My Web page URL (Web address) is http://www.cs.ccsu.ctstateu.edu/~neville. (Again, no period at the end of the URL.) Week No. Reading Assignments 1. 08/31 Ch 1 Overview -- as a review. Ch 3 Simple Sorting -- bubble sort. 2. 9/7 Labor Day -- Holiday!! 9/9 Ch 3 Simple Sorting -- sorting objects, comparing sorting methods. 3. 9/14 Files -- lecture and demonstration (not in text). 4. 9/21 Ch 2 Arrays -- linear search. 5. 9/28 Ch 2 Arrays -- binary search, O notation. 6. 10/5** Exam 1 (covers all of the above). 10/7 Ch 4 Stacks and Queues -- stacks. 7. 10/12 Ch 4 Stacks and Queues -- stacks continued. Ch 4 Stacks and Queues -- parsing 8. 10/19 Ch 4 Stacks and Queues -- queues. 9. 10/26 Ch 5 Linked Lists. 10. 11/2 Ch 5 Linked Lists continued. 11. 11/9** Exam 2 (covers all of the above since Exam 1). 11/11 Ch 6 Recursion. 12. 11/16 Ch 6 Recursion continued. Ch 7 Sorting -- quick sort. 13. 11/23 Merge Sort -- lecture demonstration (not in text). ---- 11/25 ---- Have a Happy Thanksgiving! ----- 14. 11/30 Comparison of Sorting Methods -- lecture demonstration (not in text). 15. 12/7 Ch 8 Binary Trees (as time permits). 16. 12/14 Review. 12/16** Final Examination 6:45--8:45 PM (comprehensive!). Merry Christmas!