CIS 068. Data Structures
Section 001. Fall 2006
Syllabus
Instructor
Dr. Pei WangOFFICE: Room 1050, Wachman Hall (Computer Activity Building)
ADDRESS: CIS Department, Temple University, Philadelphia, PA 19122
PHONE: (215)204-9255
EMAIL: pei.wang@temple.edu
Time/Place
Lectures: 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
Prerequisites
Grade of C or better in CIS 0066 and 0067; Grade of C or better in Mathematics C085Course Description
A 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 Textbook
Objects, 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, ©2005Topics Coverage
The Chapters 1-8 and 10 of the textbook.Attendance
Attendance to all lectures, labs, and examinations are required.Programming Environment
The 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 Requirements
All 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.Grading
There 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.