Spring 2014
Paul LaFollette, Jr.
Office: Wachman Hall 307
Telephone 215 204 6822 (1-6822 from on campus)
paul.lafollette@temple.edu
Office hours: Tuesday 3:30-4:30 and Thursday 1:30-2:30
or by appointment
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, ©2005
I shall begin the course making the assumption that everybody has the
skills necessary to complete such a
task.
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.
In this course we examine a number of data structures and associated
algorithms that are fundamental to the study of computer science. The analysis
of the efficiency of algorithms is also discussed. Algorithm and data structure
choices will be discussed and there will be a heavy emphasis on program
modularization and the use of abstract data types and object-oriented design
in writing good programs. Students will study examples of programs developed
using abstract data types and the object-oriented approach, and will be
expected to develop their own small to medium size programs as well.
There will be two mid-term examinations and a final examination.
The midterm examinations will be open book. The Final will be a common final with the other sections of the course.
There will be a series of laboratory
exercises, roughly one per week. These will generally be due one week after
the laboratory period in which they are first assigned. The grade for each
assignment will be lowered if it is turned in late. These are a required
part of the course. You should not expect that you will be able to complete
these assignments during the scheduled laboratory periods, it will be necessary
for you to work on them outside of scheduled lab time as well.
Roughly one hour of class time per week will be allocated to recitation.
During this time you are expected to be prepared to discuss and answer
questions about course material, discuss and perhaps present your
lab assignments, and solve problems. Performance during recitation will
also be graded. Clearly attendance is important.
There will be weekly in class quizzes.
Your final grade will be determined by a combination of your performance
on the mid-terms, the final, your lab projects, weekly quiz scores,
and my impression of
your in-class performance, weighted roughly equally.
Cheating and plagiarism will not be tolerated. The following web page discusses the University policy on plagairism and a number of other responsibilties of undergraduate students. It is worth visiting. Undergraduate Responsibilities. The grade of I (Incomplete) will be given only under exceptional circumstances.
I would like to point out that completing the laboratory assignments is of particular importance for several reasons. First of all, it contributes directly to your final grade. Secondly, it contributes indirectly to your final grade, because doing programming exercises is the best, perhaps the only way to master this material. If you don't do the labs, you will not do as well on the exams.
Disability Disclosure Statement
Any student who has a need for accommodation based on the impact of a disability should contact me privately to discuss the specific situation as soon as possible. Contact Disability Resources and Services at 215-204-1280 in 100 Ritter Annex to coordinate reasonable accommodations for students with documented disabilities.
Student and Faculty Academic Rights and Responsibilities
Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has a policy on Student and Faculty and Academic Rights and Responsibilities (Policy #03.70.02) which can be accessed through the following link