Differences between revisions 9 and 10
Revision 9 as of 2008-02-12 01:57:17
Size: 6495
Editor: JunHu
Comment:
Revision 10 as of 2008-10-03 20:20:23
Size: 6525
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
||<^> [[TableOfContents]] ||<^> attachment:barkdifferent.jpg || ||<^> <<TableOfContents>> ||<^> {{attachment:barkdifferent.jpg}} ||
Line 5: Line 5:
  * ["/200802"]   * [[/200802]]
Line 7: Line 7:
  * ["/200702"]
  * ["/200603"]
  * ["/200509"]
  * ["/200503"]
  * [[/200702]]
  * [[/200603]]
  * [[/200509]]
  * [[/200503]]
Line 57: Line 57:
 * [http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/ms_visio/ Download MS Visio from TU/e]
 * [http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/borland_jbuilder/ Download Jbuilder 2005 from TU/e]
 * [http://java.sun.com/docs/books/tutorial/ The Java Tutorial]
 * [http://www.javaworld.com/javaworld/jw-04-2001/jw-0406-java101.html Object-oriented language basics]
 * [http://www.uml.org/ Official OMG UML site], but do not try to read the entire UML specification.
 * {OK} [http://bdn.borland.com/article/0,1410,31863,00.html Borland's UML Tutorial]
 * {OK} [http://odl-skopje.etf.ukim.edu.mk/uml-help/ UML Tutorial in 7 days] by Slobodan Kalajdziski;
 * {OK} [http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/intro_rdn.pdf Introduction to the Unified Modeling Language] (PDF) by Terry Quatrani;
 * {OK} [http://www2.ing.puc.cl/~jnavon/IIC2142/patexamples.htm Non-Software Examples of Software Design Patterns]
 * [http://www.holub.com/goodies/uml/ Allen Holub's UML Quick Reference]
 * [http://www.phruby.com/stencildownload.html UML 2.0 stencils for Visio 2003]
 * [http://www.objectcentral.com/oobook/oobook.htm Essense of Object Oriented Programming]
 * [http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/ Object-Oriented Analysis and Design using CRC Cards]
 * [[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/ms_visio/|Download MS Visio from TU/e]]
 * [[http://w3.tue.nl/en/services/dienst_ict/organisatie/groepen/wins/campus_software/borland_jbuilder/|Download Jbuilder 2005 from TU/e]]
 * [[http://java.sun.com/docs/books/tutorial/|The Java Tutorial]]
 * [[http://www.javaworld.com/javaworld/jw-04-2001/jw-0406-java101.html|Object-oriented language basics]]
 * [[http://www.uml.org/|Official OMG UML site]], but do not try to read the entire UML specification.
 * {OK} [[http://bdn.borland.com/article/0,1410,31863,00.html|Borland's UML Tutorial]]
 * {OK} [[http://odl-skopje.etf.ukim.edu.mk/uml-help/|UML Tutorial in 7 days]] by Slobodan Kalajdziski;
 * {OK} [[http://www3.software.ibm.com/ibmdl/pub/software/rational/web/whitepapers/2003/intro_rdn.pdf|Introduction to the Unified Modeling Language]] (PDF) by Terry Quatrani;
 * {OK} [[http://www2.ing.puc.cl/~jnavon/IIC2142/patexamples.htm|Non-Software Examples of Software Design Patterns]]
 * [[http://www.holub.com/goodies/uml/|Allen Holub's UML Quick Reference]]
 * [[http://www.phruby.com/stencildownload.html|UML 2.0 stencils for Visio 2003]]
 * [[http://www.objectcentral.com/oobook/oobook.htm|Essense of Object Oriented Programming]]
 * [[http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/|Object-Oriented Analysis and Design using CRC Cards]]

Object Oriented Animals

barkdifferent.jpg

Ongoing

Completed

Assignment Describtion

Assignment Introduction

So you have done Java A and even B. Congratulations. Have you also found that Java offers something that is more than just a programming language? Do you know that Java can also make a dog bark and a cat scared? More, as a designer, you might also be able to make your ingenious design dance and sing? Better, the thinking behind Java may help you think differently.

Target Competency Area(s), Competencies and Level(s)

  • Integrating technology.
  • Design and Research processes
  • Analyzing complexity.

Entrance Level :Level of Prior Competency Development (Optional)

Completed Java A and B.

Learning Objectives

Master object orientation and design patterns as ways of analyzing user requirements and complex products, as tools for communication with other designers and engineers, not just as a programming principle.

With this assignment, we will try to wrap up your knowledge about Java, or any other object-oriented programming language you know (Java, C++, Object Pascal, Python, Ruby ...), to get the essence of object oriented design, to turn yourself from a craftsman back to a designer: Use object oriented principles as a tool to slice the complex into the simple, and put them together back again in a structured way.

Learning Activities

  • Tutorials (20 hours)
    • Java Z (week 1-5, 10 hour hands-on workshops ) We start simple. So we will first run hands-on workshops to program some dogs and cats, to lift your Java B to Java Z. Then by looking at the dogs and cats, we will find many patterns arising from the ways they behave and the ways we want them to behave. Simple principles emerge. That is object-oriented design.
    • Object-oriented design and UML(week 6-8, 6 hour lectures/workshops) We will sum up the object-oriented principles we learnt from the dogs and cats, put them together to see how these principles can help us in designing a system, from requirement analysis, system design, implementation to testing and delivery. The students will find a Swiss army knife to be handy: UML (unified modelling language), de facto tool for object-oriented design.
    • Introduction to design patterns (week 9-10, 4 hour lectures). Problems appear often in a pattern, so do the solutions. If you have heard of Java Listeners, you know something about it already. We will explore a bit more.
  • Literature (10 hours)
  • Individual Java Z (30 hours)
  • UML design case (20 hours)

Deliverables

  • Your favourite animals in Java
  • Report on the UML design case

References

Online Resources

References

JunHu: ObjectOrientedAnimals (last edited 2008-10-03 20:20:23 by localhost)