![Page 1: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/1.jpg)
CIS 068
Welcome to CIS 2168 !(formerly:CIS 68)
Software Design, Data Structures and Algorithms
Instructor: Rolf Lakaemper
TA: Jingting Zeng (Nikki)
![Page 2: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/2.jpg)
CIS 068
Introduction
• Who am I ?
• What‘s this course about ?
![Page 3: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/3.jpg)
CIS 068
Who am i ?
• PhD 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 of different companies (Computer Games, Voice + Video over IP)
Rolf Lakaemper
![Page 4: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/4.jpg)
CIS 068
Topics of CIS 068• Software Theory:
– A look at modern techniques of industrial software development
• Software Practice:– Consolidation of Object-Oriented
Programming (OOP) techniques in JAVA
• Software Analysis– Fundamental data structures, algorithms and
their performance
![Page 5: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/5.jpg)
CIS 068
Software TheorySoftware Engineering and OOD:
Different views of software
The software lifecycle
Diagrams, Use Cases,...
![Page 6: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/6.jpg)
CIS 068
Software TheoryCorrectness:
• Syntax errors
• Runtime errors
• Logical Errors
print (“hello world;
ERROR !Division by zero error at0000ff:03f4 (->00f4:3aa7)af 000bc 3ef4hl 988fde 45db
M:={0..255}n M => n+1 M
![Page 7: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/7.jpg)
CIS 068
Software TheoryPrinciples of OOP:– Inheritance, class hierarchies,
polymorphism,abstract and interface classes,…
abstract class
class1 class2
class1_1
interface1 interface2
![Page 8: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/8.jpg)
CIS 068
Software PracticeOOP in JAVA:
GUIs
![Page 9: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/9.jpg)
CIS 068
Software PracticeOOP in JAVA: Recursion
![Page 10: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/10.jpg)
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.
![Page 11: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/11.jpg)
CIS 068
Software Analysis
• Fundamental AlgorithmsSorting: Bubble-, Insertion-, Merge-, Quicksort
A,H,D,O,P,C,C,J
A,C,C,D,H,J,O,P
EfficiencyO(n log n)
![Page 12: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/12.jpg)
CIS 068
Software AnalysisFundamental Datastructures
Stacks
Queues
Trees
![Page 13: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/13.jpg)
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)
![Page 14: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/14.jpg)
CIS 068
Class Schedule• Class meets
– Monday 1:40 – 2:30, Tuttleman TL 1B– Wednesday 12:40 – 2:30, Wachman 104
(LAB)– Friday 12:40 – 2:30, Tuttleman 1B
• Friday classes will include a Mini Quiz
• Wednesday will be in the lab where you will do a programming exercise designed to reinforce the (previous) week’s topic.
![Page 15: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/15.jpg)
CIS 068
Exams and Quizzes• There will be weekly quizzes given on
Wednesday. These will count 15% 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
35%
![Page 16: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/16.jpg)
CIS 068
Exams and Quizzes• There will be weekly quizzes given on
Wednesday. These will count 15% 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
35%
![Page 17: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/17.jpg)
CIS 068
Lab Assignments• There will be weekly lab assignments. • The labs will count 35% 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.
![Page 18: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/18.jpg)
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 !
![Page 19: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/19.jpg)
CIS 068
Policy on CheatingProgramming 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.
![Page 20: CIS 068 Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56649ec95503460f94bd6855/html5/thumbnails/20.jpg)
CIS 068
Any Questions ?Rolf LakaemperOffice: Room 313, Wachman HallE-mail: [email protected]: (215)-204-7996
Office Hours:Monday after class, 3 – 4:30pmFriday 3 – 4:30Or just come in whenever.
All this can be found on my website:http://knight.cis.temple.edu/~lakaemper