1 / 20

Welcome to CIS 2168 ! (formerly:CIS 68)

This course covers software theory, practice, analysis, and design using JAVA. Topics include software engineering, object-oriented programming, data structures, and algorithms.

bensonc
Download Presentation

Welcome to CIS 2168 ! (formerly:CIS 68)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to CIS 2168 ! (formerly:CIS 68) Software Design, Data Structures and Algorithms Instructor: Rolf Lakaemper TA: Jingting Zeng (Nikki) CIS 068

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

  3. 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 CIS 068

  4. 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 CIS 068

  5. Software Theory • Software Engineering and OOD: Different views of software The software lifecycle Diagrams, Use Cases,... CIS 068

  6. Software Theory Correctness: • Syntax errors print (“hello world; • Runtime errors ERROR ! Division by zero error at 0000ff:03f4 (->00f4:3aa7) af 000 bc 3ef4 hl 988f de 45db • Logical Errors M:={0..255}aü : n i M => n+1 i M CIS 068

  7. Software Theory Principles of OOP: • Inheritance, class hierarchies, polymorphism,abstract and interface classes,… abstract class interface1 interface2 class1 class2 class1_1 CIS 068

  8. Software Practice • OOP in JAVA: GUIs CIS 068

  9. Software Practice • OOP in JAVA: Recursion CIS 068

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

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

  12. Software Analysis • Fundamental Datastructures Stacks Queues Trees CIS 068

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

  14. 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. CIS 068

  15. 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% CIS 068

  16. 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% CIS 068

  17. 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. CIS 068

  18. 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 ! CIS 068

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

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

More Related