Objektorienterad programmering med grafik, 2D1964, 4p, period 3, våren 1996
The course will be given during the period 3. For two years the course was given in English. This year we have decided to use Swedish as it has turned out to improve the communication (it is unappropriate that Swedish teachers speak English for Swedish students). Most of the course material (but not all of it) will however be available in English making it possible for English speaking students to participate in the course.
The course wants to give a deeper understanding of an object-oriented language, its class library and environment. We will especially investigate techniques to develop interactive graphical applications.
Grafik och interaktion programmering (GrIP) for D3
or Interaktiva Programmeringsmiljöer (IMG) for MD3
2) Investigation of a large object-oriented system its class library and framework. Object-oriented approaches to designing and programming of interactive graphical applications. Introduction to Design Patterns. Exemplification of creational patterns, structural patterns and behavioral patterns, as iterator, factory method, adapter, composite, decorator, observer, Model-View-Controller and alike.
Object-oriented analysis: Jiarong Li, email@example.com
Smalltalk: Björn Eiderbäck, firstname.lastname@example.org
There is a directory for the course /info/NADA-kurser/oopg, which will be used for different files that you may need. There will also be a WWW-page.
There is also a News group for Smalltalk: nada.apps.smalltalk
res checkin oopg96
Figure in parenthesis below is an estimate of the time needed for the assigment.
OOPG1: Participation in an experiment regarding stereoviewing (2h)
OOPG2: Write a short overview on a specific topic (9h)
OOPG3: Choice between assignment using e.g. Silicon Graphics hardware, using about visualization (using AVS), fractals, renderman, showplace, DIVE, program advanced algorithm, Rayshade, colour or something else that you propose (and I accept). more details will be given later (12h)
OOPG4: Smalltalk: Simple patterns
OOPG5: Smalltalk: Graphics, MVC, GUI, ValueHolders, etc.
OOPG6: Smalltalk: Interactive editor
OOPG7: Object oriented analysis (23h), deadline: 14/2
Delivery of assignments:
OOPG1: schedule at time table on board at sixth floor, at laser writer LW Nalen (near room of Björn Eiderbäck/Per Hägglund)
OOPG2-3: after agreement by email
OOPG4-6: scheduled sessions in lab rooms, schedule to be found in a file (pärm) outside >>svart sal>>, fifth floor
OOPG7: handed in mailbox of Jiarong Li, Osquars backe 2, floor 4
Time for the assignments will be decided in cooperation with the participants.
Written examination: A written exam in all the parts of the course.
Thursday 7 March, 8.00-13.00, room F21
Graphics: Foley, van Dam, Feiner, Hughes, Phillips (FvDm.fl): Introduction to Computer Graphics, Addison-Wesley, 1994
- Models and Tools in Computer Animation, tutorial notes, Daniel Thalmann, 41 pages
- Gerald Murch: Colour Graphics - Blessing or Ballyhoo?, Computer Graphics Forum, 1985, pp127-137
- Ray-Tracing, 22 pages
- Arie Kaufman, Volume Graphics, IEEE Computer, pp 51-64, July 1993
- Roehl, Bernie, Distributed Virtual Reality --- An Overview, 1995
- Cruz-Neira, Carolina AND Sandin, Daniel J. AND DeFanti, Thomas A, Surround-screen Projection-based Virtual Reality: The Design and implementation of the CAVE, SIGGRAPH:93
- Gossweiler, Laferriere, Keller, Pausch, An Introductory Tutorial for Developing Multi-User Virtual Environments
- Stoakley, Conway, Pausch, Virtual Reality on a WIM: Interactive Worlds in Miniature
Object-oriented analysis: The book:
Object-Oriented Modeling and Design by Rumbaugh, et al., Prentice-Hall, 1991, ISBN 0-13-630054-5
Home Heating System Requirements (2 sidor)
- Software Design Patterns: Common Questions and Answers, Jim Coplien
- VisualWorks Cookbook, Drag and Drop, pp 339-421 i.e. Chap 18
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Addison Wesley. October 1994. Chap 2, pp 33-77
- User's Guide, 223-271 (Chap 18 Application Framework)
- ECOOP93, Design Patterns: Abstraction and Reuse of Object-Oriented Design, 406-431, URL: http://st-www.cs.uiuc.edu/users/patterns/PapersBib.html (not in course set sold at NADA, to be handed out later)
- VisualWorks Cookbook, 375-421 (Chap 19 Custom Views + Chap 20 Custom Controllers), (not in course set sold at NADA, to be handed out later)
Lecture notes and completary material will be available in electronic form at the "home page".
The books can be bought in the book shop of the student union.
Additional papers will be copied to you later.
Copied course material can be bought at NADA for the price of 80 SKR.
L1 15/1 10-12 E2 Overview by all instructors, LK: colour,solid modelling
L2 15/1 13-15 E2 LK: illumination, fractals, advanced algorithms
L3 17/1 15-17 E3 JL: OMT initial analysis
L4 22/1 10-12 E2 BE: Repetition of Smalltalk. Design patterns. Fundamental
classes and some of their patterns, e.g. the classes Collection
and Stream and the patterns iterator and template method.
L5 22/1 13-15 E2 BE: Core graphical classes and objects. Dependents.
Introduction to MVC. Paint editor.
L6 24/1 15-17 E3 JL: OMT analysis
L7 29/1 10-12 E2 LK: raytracing, radiosity
L8 29/1 13-15 E2 LK: advanced algorithms, aliasing
L9 31/1 15-17 E3 BE: More about graphical classes. Decorators. Polling user
interfaces and MVC. Prototype as an interaction
technique. Drawing editor.
L10 5/2 10-12 E2 BE: Adapter. Interface builder. Event based interaction.
L11 5/2 13-15 E2 BE: Wrapper, composite part. "Interactive" design patterns
such as manipulator and command.
L12 7/2 15-17 E3 JL: OMT design
L13 12/2 10-12 E2 KMJA: Virtual reality, experimental studies in graphics
L14 12/2 13-15 E2 LK: volume visualization, animation, examples
L15 14/2 15-17 E3 JI: Visualization of scientific data
L16 19/2 10-12 E2 BE: More about the interface builder. Reusing and adopting
interfaces and objects. Patterns such as mediator, memento
L17 19/2 13-15 E2 BE: Programming with proxies. Communication with external
units with help of sockets and alike. Something about
L18 21/2 15-17 E3 JL: Discussion on OOPG7