CIS 2168 Section 1: Data Structures & Algorithms in JAVA

Tu/Th: 9:30 - 10:50am EA 617 (Engineering and Architecture)

Lab: Mo 3:00 - 4:50, Wachman Hall cc 207


Instructor: Rolf Lakaemper (lakamper@temple.edu)
Office Hours: Tuesday after class 11am - 1pm) or by appointment or just come in, room 313 Wachman Hall.
Phone: 215 204 7996

TA: Liang Lan, Wachman Hall 1000M, Phone : 215-204-3950
E-Mail for homeworks: lanliang@temple.edu
Help Homepage: https://sites.google.com/a/temple.edu/lianglan/
Contact Hours :
1:00PM~3:00PM on Monday
12:00PM~2:00PM on Wednesday
1:00PM~3:00PM on Friday

Textbook:Objects, Abstraction, DATA STRUCTURES, and DESIGN using Java 5.0 Edition, By Koffman/Wolfgang, Wiley, 2005 OR LATER


The Grades are available. Click link below. Congratulations to most of you, those who didn't pass: i hope to see you again!


Slides used in lectures can be found here:


Examples of JAVA coded in class are here:

Lab-Assignments are located here:


Quizzes are here:

Click HERE for GRADES

How to compute your grades: click HERE.


Syllabus and remarks

The course introduces basic data structures, like linked lists, stacks, queues, trees and sets. Applications given as JAVA programing 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 tought to program small projects like basic graphic editors, fractal trees etc. The course will closely follow the structure of the textbook.

Prerequisites

This course continues CIS067, prerequisites are CIS 66 and CIS 67 with grade of C or better.

What is expected of you:

Grades

Your grade will be based on a combination of exam scores, quizzes, lab grades, class work and assignments:

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 down graded 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).

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 accomodation 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 accomodations for students with documented disabilities.