Welcome
to CIS 2168: Data Structures & Algorithms in JAVA
Lecture: We / Fr 9:30 - 10:50am. Wednesday: Tuttleman 403b, Friday: Tuttleman
302
Lab: Mo 9:00 - 10:50 Wachman
Hall cc 200
Instructor: Rolf
Lakaemper (lakamper@temple.edu)
Office Hours: after class, We/Fr 11:30 - 12:30, or by appointment, or just come
in, room 1036 Wachman Hall.
Phone: 215 204 7996
TA: Nan Li
E-Mail for homeworks: tuc34608@temple.edu.
Contact Hours : We, 2:30--4:30 in WH213, 4:30--5:30 in WH409
TA-website: [will be added]
Textbook: Objects, Abstraction, DATA
STRUCTURES, and DESIGN using Java 5.0 Edition, By Koffman/Wolfgang,
Wiley, 2005 OR LATER
Course
Material
Additional
Material
Grades
Your grade
will be based on a combination of exam scores, quizzes, lab grades, class work
and assignments:
·
There will be weekly quizzes given on
Wednesdays. These will count 25% of your grade.
·
There will be extra points during class, counting as
quiz points
·
There will be one mid-term examination:
20%
·
There will be a final examination:
30%
·
Lab assignment grades will count 25%
A special rule overrides the average score: your average score is only valid if the final exam as well as the total
lab assignment grade does not differ more than 3 grade steps (a grade step is
e.g. A to A-). Example: If your average score is A-, your final AND lab grade
has to be at least B-. If for example your lab score is A, but the final is C-
only, then your final score would be downgraded from A- to B-, which is the
best score 3 steps away from your final exam grade. This ensures that you MUST
understand the class topics in theory(final) AND practical application (lab).
Syllabus and remarks
The course
introduces basic data structures, like linked lists, stacks, queues, trees and
sets. Applications given as JAVA programming assignments will motivate the need
for these abstract data types to implement algorithms efficiently. The second
part of will introduce important algorithms which build the basis of many
applications. Among these concepts will be recursion, sorting algorithms
(insertion sort, mergesort, heapsort,
quicksort), and algorithms to traverse or organize
data structures (balancing trees). Although the course is not an introduction
to JAVA programming, JAVA will be used as an example for a modern, object
oriented language. Concepts of event driven programming, graphical user
interfaces and custom drawing will be combined with algorithms and data
structures taught to program small projects like basic graphic editors, fractal
trees etc. The course will closely follow the structure of the textbook.
What is expected of you:
·
You must attend class and the
scheduled laboratory section for this course and do assigned readings.
·
You must complete all of the
assigned laboratory projects in a timely fashion. All lab assignments should be
emailed to your lab instructor before lab on the day they are due. Labs turned
in after lab begins will be considered late! Your grade of a late lab will be
60% (max. 6 points) of a timely submission.
·
You must plan to spend time outside of the scheduled
laboratory working on your programs. Often, students
find they need 10 or more additional hours outside of
lab to complete the assignments. You should check the web site for this course
at least once a week to see any hints, instructions or updates to assignments.
I will update assignments or add hints due to feedback from you.
Group work
It is okay to
work together to discuss a problem and get ideas for its solution. However,
everyone is responsible for doing his/her final design for a problem and for
its program solution. It is plagiarism to turn in someone else's work as your
own. If you are caught doing this (with or without the other person's
permission), you may receive a failing grade for the course.
Disability Disclosure
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 Room 100, Ritter Annex to coordinate reasonable accommodations for students
with documented disabilities.