KTH
2D1953
Grafik och Interaktionsprogrammering
Nada
 
Förkunskaper Kurskrav Lärare Undervisning Schema
Laborationer Betygssättning Kurslitteratur Verktyg Kurssidan
 

OBS HEMSIDA KURSEN VÅREN 1998!
 

Förkunskaper

Motsvarande kursen 2D1356 Objektorienterad programkonstruktion eller 2D1357 Objektorienterad programkonstruktion med Smalltalk; kunskaper i Smalltalk krävs.

Kursanmälan

Anmälan görs genom att du ger kommandot
   res checkin grip98

Kurskrav

För att bli godkänd på kursen krävs att laboration 1-5 (moment LAB1, 2 poäng) och tentamen (moment TEN1, 2 poäng) är godkända. Mer information finns under avsnittet laborationer nedan.

Lärare

Kursledare är Björn Eiderbäck. Lämpligaste sättet att komma i kontakt med kursledarna är att skicka datorbrev, näst lämpligast är att lägga en lapp i postfacket på Nada, Osquars Backe 2, 4 tr eller skicka ett vanligt brev till Nada, KTH, 100 44 Stockholm. Kursledaren anträffbar efter överenskommelse.

De två övningsgrupperna leds av följande personer:

Grupp  Övningsledare  Datorpostadress 
Björn Eiderbäck bjorne@nada.kth.se
Gustav Taxen nv91-gta@nada.kth.se
Jiarong Li  li@nada.kth.se
Leif Lundgren d94-llu@nada.kth.se

Undervisning

Kursen omfattar 30 timmar föreläsningar, 18 timmar övningar och 15 timmar laborationer. Det betyder ca 5 timmar föreläsning, 3 timmar övning och drygt 2 timmar laborationer varje vecka.
Viss övningstid kommer användas till att förbereda för laborationerna. Eventuellt kommer tutorials eller liknande att genomföras i terminalsalar under någon av övningarna.

Schema 1998 Preliminärt

Ändring av salar

OBS! Vissa ändringar av salar i förhållande till schemat som delades ut på föreläsning 1.
Föreläsningarna på tisdagar vecka 4-5, i K1 (Teknikringen 56) och onsdagar vecka 4-8 i B2 (Brinellvägen 23).
OBS! Eventuellt kan vi av utrustningsskäl behöva göra något byte igen!!!! (om någon av gästföreläsarna behöver "finare" sal).

Period 3 (vecka 3-8)

VAD DAG TID GRUPP VECKA SAL
Föreläsning Mån 8-10 Alla 3-8 D2
Tis 15-17 Alla 3 D3
Tis
15-17
Alla
4-5
K1
Ons 10-12 Alla 3 D3
 
Ons
10-12
Alla
4-8
B2
Övning Mån 10-12 Alla 6, 7 F22-23
Ons 13-15 1 3-5 F45
Ons 15-17 2 3-5 F45
Ons
13-17
Alla
6
F45 + F53
Ons
13-17
Alla
8
D35 (13-15) D2 (15-17)
Terminalövning
Ons
17-20
2
4-8
Spel-,Sporthallen
Tor 15-18 1 7-8 Spel-,Sporthallen
Tor 17-20 1 4-6 Spel-,Sporthallen
Tentamen
Mån 2/3
14-19
Alla
10
D32-35
Omtentamen
Fr 17/4
8-13
Alla
16
E36

Obligatorisk närvaro

På övningarna vecka 8 är det obligatorisk närvaro på minst ett av tillfällena. Lämpligen vid det tillfälle då den grupp du tillhör redovisar lab 5 (Sic!). Kom gärna alla fyra timmarna men minst två timmars närvaro är obligatoriskt!

Preliminärt detaljschema

För föreläsningarna anges vilka kapitel i kurslitteraturen som gås igenom, alternativt vilka artiklar som behandlas. För övningarna anges huvudsakligt ämne. Schemat är preliminärt och kan vid behov stuvas om.
 

vecka 3

  • F1 Introduktion

  • Allmän översikt av kursen. Introduktion till grafikprogrammering. 
    Litteratur: Angel 1; Föreläsningsanteckningar. 
     
  • F2 Grafik, in- och utmatning grunder

  • Fysiska och logiska enheter. Rastergrafik, primitiver och attribut. Grafiska 2D-operationer och objekt (punkter, linjer, polygoner). VisualWorks (VW) portabla grafiska modell SPIM. 
    Litteratur: UG19; Angel 2.1-2.6 (översiktligt). 
     
  • F3 Interaktion och presentation, kort intro av OpenGL

  • Interaktion och grafik. Samplad respektive händelsestyrd interaktion. Frameworks. Presentations- och interaktionsdelarna av MVC i VW. Dubbelbuffring och gummibandsfigurer. 
    Gustav Taxen: Något om OpenGL. Kl 11.45-12.00
    Litteratur: Angel 2.1-3.2, 3.5, 3.9.1-3.9.2, 10.1-10.2, 10.5; Taxen: s 5-8; UG 19; CB 19-20. 
     
  • Ö1 Grafik, vyer och "kontrollers" i VW.

vecka 4

  • F4 Java. Applets. WWW.

  • Java snabb introduktion/repetition. Framework. Grafik: komponenter och interaktion. Applets. Något om WWW och HTML 
    Litteratur:  Föreläsningsanteckningar.
  • F5  Modeller för konstruktion av interaktiva tillämpningar

  • MVC, PAC, Seeheim och andra modeller. VWs och Javas stöd för konstruktion av interaktiva grafiska tillämpningar, bla beroenden, adaptorer, händelselyssnare och tekniker för att kontrollera layout av komponenter. 
    Litteratur: Lewis; Flanagan; UG 18.
  • F6 Gränssnittsbyggande

  • Historik. Grundläggande principer. Gränssnittsbyggare (eng. Interface Builders, IB). Exempel "från historien och nu" som HyperCard, VisualBasic, Delphi, VisualSmalltalk, VisualAge, Parts for Java. VisualWorks IB. 
    Litteratur: Shneiderman; Myers; Faulkner; UG; CB. 
     
  • Ö2 Applets med händelsehantering i Java.
  • Tö1 lab 1 påbörjas

vecka 5

  • F7 Geometriska objekt, visualisering, transformationer

  • Projektion. Perspektiv. Geometriska objekt och transformationer i 2D. Transformationer i 3D. Homogena koordinater. Syntetisk kamera. Något om borttagning av skymda ytor. 
    Litteratur: Angel 4-5. Taxen: 1-2.2.1, 4. 
     
  • F8 Interaktionens historia och framtid

  • Gästföreläsare Yngve Sundblad. 
    Litteratur: Gustafsson & Sundblad. 
     
  • F9 SCED, PovRay och belysningsmodeller

  • Gästföreläsare Anders Sandberg. 
    Litteratur:  Sandberg; Angel 6.1-6.5.
     
  • Ö3 VWs IB
  • Tö 2 lab 1 redovisas och lab 2 påbörjas/redovisas 
  • Lab 5 påbörjas (redovisas på övningarna vecka 8)

vecka 6

  • F10 Interaktionstekniker och tekniker för att återanvända interaktiva objekt

  • Komponenttänkande a la subcanvas, COM, OpenDoc, JavaBeans. Tekniker för att prenumerera på (beroenden) och kommunicera förändringar (validera, notifiera). Drag and drop. Något om design patterns. 
    Litteratur: Föreläsningsanteckningar. 
  • Ö4 VW IB + MVC
  • F11 Informationsergonomi och användargränssnitt

  • Gästföreläsare Nils-Erik Gustafsson. 
    Litteratur: Gustafsson & Sundblad. 
  • Ö5 + Ö6 Två olika grupper: en med fördjupning av VW + MVC och en med Java, JavaBeans.

  • En grupp kör Java och en grupp VisualWorks 13-15. Grupperna byter plats 15-17. 
  • Tö Lab2 redovisas. Lab 3 påbörjas
  • Lab 5 forsätter (redovisas på övningarna vecka 8)

vecka 7

  • F12 OpenGL

  • OpenGL. Belysning och skuggning. 
    Gästföreläsare Gustav Taxen. 
    Litteratur: Taxen och relevanta delar av Angel.
  • Ö7 Övningar i anslutning till Angel och Taxen.
  • F13 Grafiska primitiver och modellering

  • Rastergrafik. Klippning, borttagning av skymda linjer och objekt. Modellering i 3D. 
    Litteratur:Angel 7, 8.1-8.6 .
  • Tö Lab 3 redovisas. Lab 4 påbörjas. WWW-sidor för lab 5 publiceras.

vecka 8

  • F14 Virtual Reality (VR)

  • Gästföreläsare  Kai-Mikael Jää-Aro. 
  • Litteratur: 
  • F15 Diagram, visualisering av data och perceptuella aspekter

  • Gästföreläsare Lars Kjelldahl. 
    Litteratur:
  • Ö8 + Ö9 Redovisning lab 5. Klockan 13-17.
  • Tö Lab 4 redovisas

F = Föreläsning
Ö = Salsövning
Tö = Datorövning
UG = VisualWorks User's Guide
CB = VisualWorks Cookbook

Laborationer och betygssättning

Kursens examination består av två delar, LAB1 och TEN1, som omfattar 2 poäng vardera. Delarna godkänns var för sig, men bägge måste vara avklarade innan kursens slutbetyg inrapporteras. Momentet LAB1 omfattar obligatoriska laborationer. Momentet TEN1 är en skriftlig tentamen. Arbeta i grupper om två personer, förutom i lab 5 där ni arbetar i grupper om 4-6 personer.

Betygssättning

Laborationer

Godkänt eller icke godkänt.

Tentamen

Betyget 3, 4 eller 5.

LAB1 (Preliminära förslag)

  1. 2D-grafik i två miljöer
  2. Sced och Povray
  3. Interaktiv applikation
  4. 3D-grafik med OpenGL
  5. Utvärdering och konstruktion av WWW-sidor.

Redovisning av laborationer

Sker i spel- och sporthallen på schemalagda tider.
Registrera dig först med res checkin grip98.
Ta med labkvitto!

Kurslitteratur

Kurslitteraturen ska läsas på egen hand parallellt med kursen. Det är inte säkert att föreläsningar och övningar täcker allt som behövs för att klara laborationer och tentamen.

Kursbok

Kursbunt

Kursbunten består av kursöversikt (delas ut separat på första föreläsningen), laborationshäfte och utdrag ur böcker och tidskrifter enligt följande:
  1. Nils-Erik Gustafsson, Yngve Sundblad: Material om interaktion mellan människa och dator. NADA, KTH Aug 1997.
  2. Ben Shneiderman: Designing the User Interface. Utdrag ur kapitel 2. Addison Wesley 1998.
  3. Christine Faulkner: The Essence of Human-Computer Interaction. Delar av kapitel 7. Prentice Hall 1998.
  4. Brad Myers: State of the Art in User Interface Software Tools.
  5. Gustav Taxen: En kort introduktion till OpenGL. NADA, KTH Jan 1998.
  6. Kerstin Frenckner, Lars Kjelldahl: Ordlista för datorgrafik.
  7. David Flanagan: Java in a Nutshell. Kapitel 7. O'Reilly 1997.
  8. Lydelser och kvittensblad till laborationerna.
  9. Anders Sandberg: Sced, en enkel handledning. NADA, KTH, 1997.
  10. (UG ) VisualWorks User's Guide kapitel 11, 18-20
  11. (CB) VisualWorks Cookbook kapitel 2-6, 8-10, 18-20, 29-31.
  12. Lewis: The Art and Science of Smalltalk. Kapitel 9. Lewis. Prentice Hall 1995.
  13. Extentor 2 st 961102 och 970821.
Kursbunten säljs till en kostnad av xx skr på NADAs expediton.
Under kursens gång kommer också föreläsningsanteckningar och övningsmaterial delas ut.
På föreläsningarna kommer föreläsningsanteckningar och eventuellt annat kompletterande material delas ut.

Information om programmeringsverktygen som används på kursen

VisualWorks

En länk till ObjectShare som tillverkar VisualWorks.

Hemma

För att hämta hem VisualWorks fyll i formulär. (Observera servern som ger dig rätt att hämta hem VW kör för närvarande på ett temporärt konto och kan därför inte svara om kerberosbiljetterna tar slut, pga time out eller liknande. Detta skall dock åtgärdas snarast!) 

Java

Det finns gott om bra Java-material på WWW. Här är några trevliga länkar:

Hemma

Kan  hämtas från Sun här.

HTML

HTML nybörjarguide.

OpenGL

OpenGL:s www-center.
Aktuella OpenGL-länkar.
Gustav Taxéns hemsida.
Gustavs spelprojekt.

Hemma

Information kommer!

Rayshed och PovRay

Information.

Synpunkter på kursen

Vi är tacksamma för synpunkter på kursen, både under kursens gång och efteråt. En datorstödd kursutvärdering kommer att göras. Synpunkter kan lämnas till kursledaren eller övningsledarna.

^ Upp till kursens hemsida.


Sidansvarig: <bjorne@nada.kth.se>
Senast ändrad 13 Februari 1998