Lecture: Mo / Fr
Lab: We
Instructor: Rolf
Lakaemper (lakamper@temple.edu)
Office Hours: after class, Mo/Fr
Phone: 215 204 7996
TA: Yi Jia
E-Mail for homeworks: yi.jia@temple.edu
Contact Hours : T/TR
TA-website: [will be added]
Textbook: Objects, Abstraction, DATA
STRUCTURES, and DESIGN using Java 5.0 Edition, By Koffman/Wolfgang, Wiley, 2005
OR LATER
GRADE
TABLE
Course
Material
Quizzes |
Assignments |
Additional
Material
Slides |
Events (ppt slides) |
GUIs (ppt slides) |
|
|
|
|
|
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 30%
of your grade.
·
There will be
extra points during class, counting as quiz points
·
There will be one
mid-term examination: 25%
·
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).
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.
·
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 8 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.
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.
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.