+ All Categories
Home > Documents > CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper.

CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper.

Date post: 13-Dec-2015
Category:
Upload: clare-williamson
View: 225 times
Download: 0 times
Share this document with a friend
23
CIS 068 Welcome to CIS 068 ! Software Design & Data Structures In JAVA Instructor: Rolf Lakaemper
Transcript

CIS 068

Welcome to CIS 068 !

Software Design & Data Structures

In JAVA

Instructor: Rolf Lakaemper

CIS 068

Important Note !This course is part II of CIS 067

in JAVA,

if you are a newcomer to JAVA, you might be reassigned to another section if

possible.

Sections are:

Section 1 8:40 - 10:30 (Currently Java, may be C++)

Section 2 2:40 - 4:30 (Currently Java, will stay Java)

Section 3 10:40 - 12:30 (Currently C++, will stay C++)

CIS 068

Introduction

• Who am I ?

• What‘s this course about ?

CIS 068

Who Am I ?

• PhD in applied mathematics in Hamburg, Germany

• Assistant professor at CIS since 2003

• Research topic: Image Processing

• <2003: Software Development Director of different companies (Computer Games, Voice + Video over IP)

Rolf Lakaemper

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

CIS 068

Software TheorySoftware Engineering and OOD:

Different views of software

The software lifecycle

Diagrams, Use Cases,...

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

CIS 068

Software TheoryPrinciples of OOP:– Inheritance, class hierarchies,

polymorphism,abstract and interface classes,…

abstract class

class1 class2

class1_1

interface1 interface2

CIS 068

Software PracticeOOP in JAVA:

GUIs

CIS 068

Software PracticeOOP in JAVA: Recursion

CIS 068

Software Practice

OOP in JAVA:streams and files

events

c-a-t-t-a-g-g0-1-1-0-0-0-1abd-mvs-sgrdf

Listener1 Listener2 Listener3

key down

mouse moved

timer

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

Efficiency O(n log n)

CIS 068

Software AnalysisFundamental Datastructures

Stacks

Queues

Trees

CIS 068

If Time Permits

• Optional Topics– Programming problems in image processing– Fundamentals of computer graphics: using a graphics API, homogenous

coordinates, affine transformations, viewing transformation, clipping

– Foundations of human-computer interaction: Human-centered development and evaluation; principles of good design and good designers; engineering tradeoffs; introduction to usability testing

CIS 068

Text• HIGHLY RECOMMANDED ! Course

will be close to this book:– Koffman & Wolfgang:Software Design & Data

Structures in JavaTM. Draft available from the copy center, Conwell Hall.

• related to basic (JAVA -) programming:Koffman & Woltz. Problem Solving with JavaTM. Addison-Wesley 2002.

• Pure JAVA-programming: there are 1000s of pure JAVA-books out there…

CIS 068

Class Schedule• Class meets

– Monday 2:40 – 4:30, Anderson Hall 28– Wednesday 2:40 – 3:30, Anderson Hall 28– Friday 2:40 – 4:30, Wachman Hall 104

• Monday classes will be in the lecture format and will introduce the week’s topic.

• Wednesday class will include a quiz and discussion of the week’s topic.

• Friday will be in the lab where you will do a programming exercise designed to reinforce the week’s topic.

CIS 068

Exams and Quizes• There will be weekly quizes given on

Wed. These will count 10% of your grade.

• There will be two mid-term examinations, given on Wed, Feb. 12 and Wed, March 26. They will count 25% (12.5% each) of your grade.

• There will be a final examination, given on (??? ), counting 25%

CIS 068

Lab Assignments• There will be weekly lab assignments. • The labs will count 40% of your final

grade.• Each lab assignment will be due no

later than 2:40pm the Friday after it is assigned.

• Lab will not meet on Friday, January 24.

• The last lab session will be on Friday, May 2.

CIS 068

Lab Grades• Labs will be graded as follows:

– On time, correct 5– On time, not-correct 2– Late, correct 3– Correct resubmission 4– Late, not-correct 1

• The TA and Instructor are here to help you. Do not wait until the last minute if you are stuck !

CIS 068

Review of Scoring

• Quizes: 10 %

• Midterm Ex.1: 12.5%

• Midterm Ex.2: 12.5%

• Final Exam: 25%

• Lab: 40%

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 –1 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

Schedule in DetailWeek Date

(Monday) Monday Wednesday Friday

1 1/20 M.L.K. Day, no class Introduction No Lab 2 1/27 Software Engineering Quiz 1 Lab 1 3 2/3 Algorithm Correctness and

Efficiency Quiz 2 Lab 2

4 2/10 Class Hierarchies, Inheritance, and Interfaces

Midterm Exam 1

Lab 3

5 2/17 Graphical User Interfaces Quiz 4 Lab 4 6 2/24 Recursion Quiz 5 Lab 5 7 3/3 Streams and Files Quiz 6 Lab 6

3/10 SPRING BREAK 8 3/17 Events Quiz 7 Lab 7 9 3/24 Review for Midterm 2 Midterm Exam

2 Lab Makup

10 3/31 Sorting and efficiency Quiz 8 Lab 8 11 4/7 Collections and Lists,

Sets, Maps, and Hash Tables

Quiz 9 Lab 9

12 4/14 Stacks, Queues Quiz 10 Lab 10 13 4/21 Trees Quiz 11 Lab 11 14 4/28 (optional topics) Quiz 12 Lab Makup 15 5/5 Review NO CLASS NO CLASS

??? Final Examination

CIS 068

Any Questions ?Rolf LakaemperOffice: Room 534, Wachman HallE-mail: [email protected]: (215)-204-8604

Office Hours:Please see office door. Usually always.Safe: after lesson or lab, or by appointment

All this can be found on my website:http://knight.cis.temple.edu/~lakaemper


Recommended