1
Designing Object Designing Object-
- Oriented
Oriented Software Software
Jouni Smed Jouni Smed 2006 2006
Course Syllabus Course Syllabus
- Credits: 5 cp (3 cu)
Credits: 5 cp (3 cu)
- Prerequisites:
Prerequisites:
- Ohjelmointi II [Programming II]
Ohjelmointi II [Programming II]
- bject
- bject-
- oriented programming
- riented programming
- Teaching methods: lectures
Teaching methods: lectures
- Tuesdays 10
Tuesdays 10– –12, Etäluokka 12, Etäluokka
- from March 7 to April 25
from March 7 to April 25
- Assessment: examination only
Assessment: examination only
- Course web page:
Course web page:
http://staff.cs.utu.fi/staff/jouni.smed/doos/ http://staff.cs.utu.fi/staff/jouni.smed/doos/
Examinations Examinations
- Tentative examination dates
Tentative examination dates
- May, 2006
May, 2006
- June, 2006
June, 2006
- September, 2006
September, 2006
- Check the exact times and places at
Check the exact times and places at http://www.it.utu.fi/opetus/tentit/ http://www.it.utu.fi/opetus/tentit/
- If you are not a student of University of
If you are not a student of University of Turku, you must register to receive the Turku, you must register to receive the credits credits
- Remember to enrol in time!
Remember to enrol in time!
Textbook for the Course Textbook for the Course
- Martin, Robert C.:
Martin, Robert C.: Agile Agile Software Development: Software Development: Principles, Patterns, and Principles, Patterns, and Practices Practices, Prentice , Prentice-
- Hall,
Hall, 2003, 2003, ISBN: 0 ISBN: 0-
- 13
13-
- 597444
597444-
- 5
5
- This course will rely
This course will rely heavily on the textbook, heavily on the textbook, which is why obtaining the which is why obtaining the book is necessary! book is necessary!
- You can use the textbook
You can use the textbook in the examination in the examination
Outline of the Course Outline of the Course
Design patterns 3 Design patterns 3 Section 6 Section 6 7. 7. Design patterns 2 Design patterns 2 Section 5 Section 5 6. 6. Package design Package design Section 4 Section 4 5. 5. Design patterns 1 Design patterns 1 Section 3 Section 3 4. 4. SRP, OCP, LSP, DIP, ISP SRP, OCP, LSP, DIP, ISP Section 2 Section 2 3. 3. Planning, testing, refactoring Planning, testing, refactoring Section 1 Section 1 2. 2. — — — — 1. 1. Topics Book Lecture
Programming in the 1940s and Programming in the 1940s and 1950s 1950s
- Programming = instructing the machine
Programming = instructing the machine
- perations
- perations
- machine language or assembler
machine language or assembler
- machine
machine-
- oriented programming
- riented programming
- Far from the way programmers (humans) think
Far from the way programmers (humans) think
- The problem domain remained close to the
The problem domain remained close to the machine world machine world
- making calculations, sorting data etc.
making calculations, sorting data etc.
- Main goals of design
Main goals of design
- enable the programmer to write the software
enable the programmer to write the software
- focus on the design of algorithms and data structures.
focus on the design of algorithms and data structures.
- Implementing the design was difficult