CIS 068 Section 2: Data Structures & Algorithms in JAVA

Mo: 12:40 - 1:30pm Tuttleman TL 302
We: 12:40 - 2:30pm Tuttleman TL 302
Lab: Fr. 12:40 - 2:30, Wachman Hall 104

Instructor: Rolf Lakaemper (lakamper@temple.edu)
Office Hours: Mondays after class (2pm - 3:30pm) or by appointment or just come in, room 308 Wachman Hall.
Phone: 215 204 7996

TA: Aubrey Jones (netzapper@technoculture.org)

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


All slides used in the lectures will be found here:


Lab-Assignments are located here:


Quizzes are here:


Grades

ALL GRADES INCL. FINAL GRADE
LAB GRADES


Additional Sources etc.:


Syllabus

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.

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

What is expected of you: You must attend class and the scheduled laboratory section for this course and do the 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 will be reduced by 4 points (out of 10) for a late lab. For each lab, you must submit a design document along with the program and a test of the program. b>

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 (under my home page) at least once a week to see any hints, instructions or updates to assignments.

Your grade will be based on a combination of exam scores, quizzes, lab grades, class work and assignments. Exam and quiz scores will count for about 70% of the grade - labs, class work, and assignments will count for the rest. 

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 is 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.

The course will closely follow the structure of the textbook.