Section 001. Fall 2006
InstructorDr. Pei Wang
OFFICE: Room 1050, Wachman Hall (Computer Activity Building)
ADDRESS: CIS Department, Temple University, Philadelphia, PA 19122
Time/PlaceLectures: Tuesday & Thursday 10:10 AM - 11:30 AM (Tuttleman Learning Center 305A)
Lab: Wednesday 8:40 AM - 10:30 AM (Wachman Hall, 104)
Office Hours: Tuesday & Thursday 1:15 PM - 3:15 PM, and by appointment
PrerequisitesGrade of C or better in CIS 0066 and 0067; Grade of C or better in Mathematics C085
Course DescriptionA continuation of CIS 0067. Program style organization and design with continued emphasis on the object-oriented design paradigm. Understanding and use of data abstraction through Java classes and class libraries. Understanding and use of the following Abstract Data Types: strings, stacks, queues, linked lists and binary trees. Introduction to expression evaluation and other applications. Introduction to recursion and comparative analysis of searching and sorting algorithms and data structures. Sorting algorithms include insertion sort, mergesort, heapsort,and quicksort. Searching algorithms include binary search and hashing.
Required TextbookObjects, Abstraction, Data Structures and Design Using Java Version 5.0, Elliot B. Koffman, Temple University, Paul A. T. Wolfgang, Temple University, ISBN: 0-471-69264-6, ©2005
Topics CoverageThe Chapters 1-8 and 10 of the textbook.
AttendanceAttendance to all lectures, labs, and examinations are required.
Programming EnvironmentThe programming language used for this course is Java 5.0. The programming environment in the lab is NetBeans, which can be downloaded for free.
Lab RequirementsAll lab assignments should be emailed to your lab instructor before lab on the day they are due. Your grade will be reduced by 1 point (out of 10) per day for a late lab. For each lab, you must submit a design document along with the program and a test of the program. The design document will show the steps you took to design the algorithm and will follow the software development method used in the text. You must plan to spend time outside of the scheduled laboratory working on your programs.
GradingThere will be two mid-term exams and a comprehensive final exam. The exams will count for 70% of your grade. There will be about six programming assignments, which will be 30% of your grade. To pass the course, you must maintain a passing average on both the exams and the assignments. Students who miss the final and do not make alternative arrangements with me before I turn in the grades will be graded F.
All of the final results must be the student's own work. Plagiarism and academic cheating will be punished.