433-254: Software Design - Lecture Plan


Sub Title: Object Oriented Software Design and Programming (with Java and UML)

Semester 2, 2003

Last updated: October 17, 2003


Note 1: I am redeveloping this 254 subject "lecture slides" in Power Point with full focus on "Object-Oriented Design and Programming with Java and UML" and also making them confirm to a single book as much as possible. Since this activity is taking too much of time, I am unable to provide slides of all lectures at once. However, my current policy is to make slides available online at least a day before the lecture (definately by  night before the lecture day). I will make my best attempt to honour this unless something exceptional comes up once in a while. I appreciate your understanding and co-operation. BTW, when you come to the class, all that I expect you to know is what has been taught in previous classes. Thank you. Raj

Note 2:The full teaching plan and possible references are provided below. Although I don't expect you to study the material in advance, but I hope that these pointers will encourage some students to study them in advance. 


·  Source of Java programs used in Teaching are released.

Lecture Slides:

 

Week

Starts

Lecture1

Lecture2

Lecture3

Tute

Lab

Comments

  1

  28/07/03

  Intro , Software Engineering and OO Paradigm (PPT

  Software Life Cycle and Models (PPT

  Object Oriented Concepts

( PPT

 

 

 

4/08/03

Java and Evolution: [ PDF & PPT]

Java and Evolution: [ PDF & PPT ]

Java Nuts and Bolts [ PDF    & PPT ]

Questions
Answers

Questions
Answers
HelloWorld

 

3

11/08/03

No Lecture

Classes and Objects: Basics[ PDF & PPT ]

Classes and Objects: Constructors, overloading [ PDF & PPT ]

Questions
Answers

Questions

Answers

 

4

18/08/03

Objects: Parameter Passing, Delegation, & Visibility  [ PDF & PPT ]

Inheritance; [ PDF & PPT ]

Arrays, String, and Collections [1] [ PDF & PPT ]

Questions

Answers

Questions

Answers

 

5

25/08/03

Arrays, String, and Collections [2] [ PDF & PPT ]

Final/Abstract Classes and Interfaces [ PDF & PPT ]

Interfaces (see slides in previous lecture) AND Project A Spec discussion

Questions

Answers

Questions

Answers

 

6

1/09/03

Exceptions [ PDF & PPT ]

Exceptions (remaining part from last lecture) and Streams [ PDF & PPT ]

Streams [2] [ PDF & PPT ]

Questions

Answers

Questions

 

7

8/09/03

Streams and Files [3] [PDF & PPT]

Streams continued (slides 14 onwards); Packages [PDF & PPT]

Packages (continued from slide 5 onwards) AND Project A FAQ/Errata clarification.

Questions

Answers

No lab questions!

Use this week’s lab for working on your project A.

8

15/09/03

Packages (continued from slide 16): slides 19-24 are new; AND GUI Applications [PDF & PPT]

Applet Programming [PDF & PPT].

Graphics[PDF & PPT]. Also see Proj B spec

Questions

Answers

Questions

 

X

22/09/03

X

X

X

X

X

UoM Non-Teaching Week begins

X

29/09/03

X

X

X

X

X

UoM Non-Teaching Week ends

9

6/10/03

No Lecture

 Introduction to UML [PDF]

Use Case Diagram [PDF & [PPT]]

Questions

Answers

Questions

 

10

13/10/03

UML & Class Diagram [1] [PDF & PPT]

UML & Class Diagram [2] [PDF & PPT]

 

UML: Sequence and Collaboration Diagram [PDF & PPT]

 Questions

Answers

No lab questions!

Use this week’s lab for working on project B.

11

20/10/03

Design Patterns [PDF & PPT]

Network Programming and Java Sockets [PDF & PPT]

Java Threads [PPT and PDF]

Questions

Answers

No lab questions

Work on Project B

12

27/10/03

Review Lectures [PDF & PPT]

 

Review Lectures [PDF & PPT]

 

Sample Q Paper

Questions

Answers

 

Questions

 

.


Topics in Order to be Covered (references included)
(Moved OOD and UML to early lectures to promote their use in Project B):

·         Inheritance

o        Book1: chapter 8 (section 8.11 onwards)

·         Arrays, Strings, and Vectors

o        Book1: Chapter 9

·         Interfaces

o        Book1: Chapter 10

·         Exceptions

o        Book1: Chapter 13

·         Streams: Files I/O

o        Book1: Chapter 16

·         Packages

o        Book1: Chapter 11

·         Applets and Graphics Programming

o        Book1: Chapter 14 and 15

·         UML Notations

o        Book2 (chapter 3) or Book 3 is also OK.

o        Book1: Chapter 14 and 15

·         OO Design and UML Diagrams

o        Class Diagram

o        Use-Case Diagram

o        Sequence Diagram

o        Collaboration Diagram

o        Deployment Diagram

o        Reference: Book2 or Book 3 is OK.

·         Review of Additional Software Design Techniques

·         Concurrent Objects and Multithreading

o        Book1: Chapter 12

·         Distributed Objects and Networking: A sample Client-Server Socket Programming

o        Reference: online material (to be advised).

Note: Book1 is "Programming in Java" by Balagurusamy as prescribed in the main page.


Rajkumar Buyya ,
Grid Computing and Distributed Systems ( GRIDS ) Laboratory,
Department of Computer Science and Software Engineering,
The University of Melbourne, Australia.