Welcome to CIS 2168 Data Structures and Algorithms



















- Slides: 19

Welcome to CIS 2168 ! Data Structures and Algorithms Instructor: Rolf Lakaemper TA / PEER TEACHER: Pauline Romas CIS 068

Introduction • Who am I ? • What‘s this course about ? CIS 068

Who are we Pauline Romas Peer Teacher and TA, Double Major in Computer Science and Communication One of Temple‘s finest! CIS 068

Who are we Rolf Lakaemper • Ph. D in applied mathematics in Hamburg, Germany • Assistant professor at CIS since 2003 • Research topic: Image Processing, Computer Vision and Robotics • before 2003: Software Development Director and Co-founder of different companies (Computer Games, Voice + Video over IP) CIS 068

Topics of CIS 068 Object Oriented Programming Data Structures Algorithms CIS 068

Software Theory Principles of OOP: – Inheritance, class hierarchies, polymorphism, abstract and interface classes, … abstract class 1 interface 2 class 1_1 CIS 068

Software Practice OOP in JAVA: GUIs CIS 068

Software Practice OOP in JAVA: Recursion CIS 068

Software Practice We will use JAVA as an example for a modern, object oriented language. The topics of this class are not (too) JAVA specific, although all programming is done in JAVA. CIS 068

Software Analysis • Fundamental Algorithms Sorting: Bubble-, Insertion-, Merge-, Quicksort A, H, D, O, P, C, C, J A, C, C, D, H, J, O, P O(n log n) Efficiency CIS 068

Software Analysis Fundamental Datastructures Stacks Queues Trees CIS 068

Textbook • Course will be close to this book: – Koffman & Wolfgang: Objects, Abstraction, Data Structures and Design using JAVA, Version 5. 0 (Wiley, 2005) CIS 068

Class Schedule • Class meets – Tu/Th 2: 40 – 4: 00, Tuttleman TL 1 B – Friday 12: 40 – 2: 30, Wachman 108 (LAB) • Tuesday classes will include a Mini Quiz • Friday will be in the lab where you will do a programming exercise designed to reinforce the (previous) week’s topic. CIS 068

Exams and Quizzes • There will be weekly quizzes given on Wednesday. These will count 20% of your grade. • There’ll be extra points during class, counting as mini quiz points • There will be one mid-term examination: 20% • There will be a final examination: 30% • Lab assignment grades will count 30% CIS 068

Exams and Quizzes • There’s a special rule to the grading, please see web page !!! • The rule mainly says that your final grade can never be better than 3 grades up from the min. Score of lab total and final exam (i‘ll explain) CIS 068

Lab Assignments • There will be weekly lab assignments. • The labs will count 30% of your final grade. • The assignments are usually 1 week assignments, sometimes 2 weeks for the less small ones. • The assignments will be closely connected to the class content. Working on them will show you if you really understood the topic. CIS 068

Lab Grades • Labs will be graded as follows: – On time: max. 10 – Late, max: 6 • The TA and Instructor are here to help you. Do not wait until the last minute if you are stuck ! • The TA/Peer Teacher is NOT ALLOWED to solve the problem for you!!!! CIS 068

Policy on Cheating Programming must be learned by doing it ! • Copying another student’s program deprives you of that learning opportunity. • If a lab assignment is found to be a copy, both students will receive a – 10 for that assignment. • If more than one program is found to be a copy, the students involved will receive an F for the course. CIS 068

Any Questions ? Rolf Lakaemper Office: Room 313, Wachman Hall E-mail: lakamper@temple. edu Phone: (215)-204 -7996 Office Hours: Tuesday after class. Or just come in whenever. All this can be found on my website: http: //knight. cis. temple. edu/~lakaemper CIS 068