Den här sidan är utskriven från Högskolan i Halmstads webbplats (www.hh.se). Texten uppdaterades senast den . Besök webbplatsen om du vill vara säker på att läsa den senaste versionen.

Advanced Object Oriented Programming, 7.5 credits

Administrative information
Syllabus (pdf)external link  
Study period: 3
Course code: DB2005
Programme: The course is included in the Computer Engineer Programme 180 credits.
Schedule: Link to TimeEdit scheduleexternal link
Course responsible: Jan Duraczexternal link
Other members of faculty: Adam Duraczexternal link
Examiner: Veronica Gaspesexternal link

Note

The information in this site will be updated as the course moves forward. You can follow the links below to get lecture notes, excercises and project descriptions.

Course book

Object-Oriented Design and Patternsexternal link, Cay Horstman (2nd Edition)

Other links

Java™ Platform, Standard Edition 6 API Specificationexternal link

Online material on programming in Javaexternal link

Course outline
When What Content Where
Week 12      
March 20 13:15 - 15:00 LecturePDF (pdf, 1 MB) Administrivia, introduction to the contents of the course and Java recap: classes and objects, mutable and immutable types, representation invariants. D315
March 22 10:15 - 12:00 Labexternal link Click the link on the left for the list of exercises. Note that you have to show exercises 3 and 4 to your teaching assistant. D208
  Reading This lecture does not go through chapters 1 and 2, but these chapters are useful as a complement, depending what parts of Java you do not remember when doing the exercises.  
Week 13    
March 26 8:15 - 10:00 Lectureexternal link Interfaces and the composite pattern as tools for building frameworks. We use the android framework for user interfaces to illustrate the concepts. Android activities, programs and resources. D215
March 28 8:15 - 10:00 Labexternal link Click the link on the left for the list of exercises. Note that you have to show exercises 1 and 2 to your teaching assistant. D208
  Reading The book deals with interfaces in chapter 4 an with the composite pattern in sections 5.4 and 5.5.  
Week 16      
April 17 13:15 - 15:00 LecturePDF (pdf, 639.7 kB) Class design, Interfaces and Polymorphism. D215
April 19 10:15 - 12:00 Labexternal link Click the link on the left for the list of exercises. Note that you have to show exercises 1 and 4 to your teaching assistant. D208
  Reading Chapters 3 and 4 from the course book. The part of chapter 3 dealing with contracts and unit testing will be done in a future lecture.  
Week 17      
April 24 13:15 - 15:00 LecturePDF (pdf, 669.8 kB) Design Patterns part 1. Observer, Strategy, Composite and Template Method. Wigforssalen
  Reading Chapter 5 and sections 3 and 4 of Chapter 6.  
Week 18      
May 3 13:15 - 15:00 LecturePDF (pdf, 785.1 kB) Design Patterns part 2. Adapter, Command, Factory Method, Proxy, Singleton and Visitor. Wigforssalen
May 4 13:15 - 15:00 Labexternal link Click the link on the left for the exercise. Note that you have to show the exercises to your teaching assistant. D208
  Reading Chapter 10.  
Week 19      
May 8 13:15 - 15:00 LecturePDF (pdf, 317.8 kB) Programming by Contract and Unit Testing. Course project overview. Haldasalen
  Reading Sections 6 and 7 of Chapter 3. Project and evaluation descriptions.  
Week 20      
May 16 15:15 - 17:00 LecturePDF (pdf, 317.8 kB) Programming by Contract and Unit Testing continued from last lecture. D208
May 16 10:15 - 12:00 Labexternal link Click the link on the left for the exercise. Last opportunity to present mandatory exercises from previous labs to the lab assistant! D205
  Reading Sections 6 and 7 of Chapter 3.  

Acknowledgement

This course is based on software and educational material developed by Veronica Gaspesexternal link.

Files available for download
File type icon Filename File size File upload date
PDF lecture1.pdf 1 MB  3/18/2012 9:44 PM
PDF lecture3.pdf 639.7 kB  4/17/2012 11:42 AM
PDF lecture4.pdf 669.8 kB  4/22/2012 2:26 PM
PDF lecture5.pdf 785.1 kB  5/3/2012 3:25 AM
PDF lecture6.pdf 317.8 kB  5/8/2012 2:34 AM
Updated
  Tried to load aspect MetadataBean for non-existing object 4.70cf2e49129168da0158000108468.1
Tried to load aspect MetadataBean for non-existing object 4.70cf2e49129168da0158000108468.1
LimeparkMenu: Sidan null har felaktigt metadatavärde i "menu_origin". Värdet måste vara en sida högre upp i hierarkin än sidan självt.