2D1310 Programmeringsteknik T

Resultat av kursutvärdering


    Detta formulär innehåller frågor om kursuppläggning, föreläsningar, övningar, laborationer, kurslitteratur, kurshemsida och tentamen. Det är tack vare dina svar och framför allt kommentarer som kursen och lärarna kan förbättras!


    Kursuppläggning

  1. Upplever du kursen som lätt eller svår?

    1. 7% (4 st) Mycket lätt
    2. 17% (9 st) Lätt
    3. 52% (28 st) Medel
    4. 20% (11 st) Ganska svår
    5. 4% (2 st) Mycket svår

  2. Hur har kursen uppfyllt uppställda mål?

    1. 41% (22 st) Bra
    2. 41% (22 st) Ganska bra
    3. 7% (4 st) Mindre bra
    4. 2% (1 st) Dåligt
    5. 9% (5 st) Vet ej vad målet är

    Ev kommentar (gärna konstruktiv):

    Jag har ju faktiskt förstått java fast på en grundläggande nivå (inte proffs precis men ganska bra)
    ---
    Kusren är alltså bra, men tidpunkten är mycket illa vald ( diff
    och Mekanik käns som lite viktigare ämnen.)

    ---
    större förståelse nås endast genom eget initiativ till
    egenstudier. detta är synd. labbarna tar aldeles för
    lång tid (ca 10 timmar på vissa), och ät dessutom för svåra..
    bör vara lättare och kanske i fler steg (små steg)..

    ---
    Kursen var inte teoretiskt svår tycker jag. Det gällde mest att jobba mycket med det. Kul kurs som kontrast till andra rent plugginriktade kurser.
    ---
    Den gav den insikt i programering som behövdes
    Bra för oss som alldrig programerat.

    ---
    Vissa labbar var för lätta medan andra var svåra
    (typ grafikanpassning av monsterspelet).
    Annars var det skojj.

    ---

    ---
    MAn har fått en bra inblick i hur programkonstruktion fungerar.
    ---
    Hur? Nja, typ som jag trodde. Nu skall jag göra extrauppgift!
    ---
    Super roooooooooligt med programering
    ---
    Jag hade aldrig programmerat innan och denna kurs har gavt en liten inblick i vad just grund programmering ser ut och hur man tänker...

  3. Tycker du att kursen är meningsfull?

    1. 44% (24 st) Ja, mycket
    2. 46% (25 st) Ja
    3. 9% (5 st) Neutral
    4. 0% (0 st) Inte särskilt
    5. 0% (0 st) Nej

  4. Förkunskapskraven för kursen är kännedom om operativsystem, filer och något redigeringsprogram (t ex en ordbehandlare). Tycker du att dina förkunskaper var tillräckliga när kursen startade?

    1. 76% (41 st) Ja
    2. 15% (8 st) Tveksam
    3. 9% (5 st) Nej

  5. Vi har valt att undervisa programmeringsteknik med Java som programspråk. Skulle du hellre vilja lära dig ett mindre språk (t ex Pascal) i stället?

    1. 4% (2 st) Jag skulle hellre lära mig ett mindre språk.
    2. 93% (50 st) Jag tycker att det är bra som idag.


    Föreläsningar

  6. Hur många föreläsningar var du närvarande vid?

    1. 11% (6 st) 0-25%
    2. 13% (7 st) 26-50%
    3. 17% (9 st) 51-75%
    4. 57% (31 st) 76-100%

  7. Hur lyckades föreläsaren förmedla ämnet?

    1. 11% (6 st) Bra
    2. 61% (33 st) Ganska bra
    3. 20% (11 st) Mindre bra
    4. 6% (3 st) Dåligt

    Ev kommentar (gärna konstruktiv):

    Det kanske var en lite trög start men blev snabbt bättre
    ---
    Lite många 'ö' 'typ' 'defualt' och andra ord som kunde störa lite, en del personer låg och sov men jag hängde med hela tiden så jag tycker det var bra.
    Skulle behöva en till föreläsning i grafikhantering till annars bra disposition.

    ---
    Föreläsningarna var obegripliga i början, med för många nya termer och fakta, tex instansvariabel referens och skillnaden mellan dessa. Det var mycket lättare att förstå föreläsningarna i slutet av kursen.
    ---
    Jag vet inte! Det kanske inte är det lättaste ämnet att föreläsa i.
    ---
    Det var på gränsen: vissa förläsningar var helt abstrakta
    ( ofta de utan bra exempel), medan andra var ok ( då det fanns
    bra exempel)

    ---
    OH-bilder som föreläsaren står och skriver på bör
    undvikas. Hellre då en projektor som visar en data-
    skärm med aktuell kod.

    ---
    kändes som om föreläsaren inte riktigt var på det
    klara med hur lite kursdeltagarna kunde innan.
    det var stundom nivåer lagda för programmerare och
    inte för nybörjare (språkligt, termer, grunder)

    ---
    Det var mycket svåra ord, som förklarades lite dåligt.
    ---
    Inte så bra i början, men det tog sig ganska snart.
    Det blev mer praktiskt användbara saker, vilket jag
    uppskattade.

    ---
    Lite mycket ritningar av lådor m.m.
    ---
    Jag tycker att föreläsningarna var ganska sega. Jag förstår att det måste vara så med tanke på skiftande datorvana. Jag kollade istället hellre på internet och på förelläsningsmaterialet där (väldigt bra att det fanns).
    ---
    Det ger mest mest att sitta själv och prova!
    Stene skulle behöva bättre OH-bilder.

    ---
    Mer körbar kod på föreläsningarna. Bara några få rader
    ger inte ett helhetsintryck och man vet inte var de ska
    användas i praktiken.

    ---
    Det var lite svårt i början, med tanke på att det är så pass många som aldrig har sysslat med programmering förut. Fler realistiska exempel på hur programmering kan användas hade varit bra (mycket för att motivera varför man ska lära sig programmera för oss oinvigda...
    ---
    kinde kanske ha visat mer på datorn och tagit mer om grafik
    ---
    Blev bättre med tiden.
    ---
    Trevande i början, men det släppte efter ett tag och blev bra.
    ---
    Föreläsningarna kunde ha varit bättre förberedda av
    föreläsarn.

    ---
    Dåligt förberedd, dåligt tempo i föreläsningarna
    ---
    Sten Andersson--har örnkoll på hela Java!
    ---
    Stene rules!
    ---
    tog sig på slutet
    ---
    Började på alldeles för svår nivå. Många hade aldrig programmerat förut!
    ---
    I början var det svårt med obekant terminologi, såsom exekvering m m. Blev dock bättre och bättre med kursens gång.
    ---
    Pedogogik, vad är det??
    ---
    I början av kursen kändes föreläsningarna inte så förgenomarbetade, men detta blev bättre under tidens gång.
    När det kom till att programmera så fick man mycket bra hjälp, och det är ju det som är det viktiga.

    ---
    *fråga 5 får ej att svara på då man ej vet nåt annat
    *Fattade ingenting på föreläsningarna men fick 5:a

    ---
    Pinsamt påhopp av pappa-Pons
    ---
    Hade velat haft mer undervisning i själva tankegången vid programmering, färre detaljer
    ---
    Bästa förmedlingen av ämnet fick man i praktiken
    ---
    Har läst java tidigare... kände att föreläsningarna inte gav så mycket för mig men det var det bra för de med mindre kunskap inom ämnet
    ---
    Man lär sig i alla fall bäst med laborationerna, men förelääsningarna behövdes för att lösa dem!

  8. Hur var föreläsningarnas innehåll?

    1. 20% (11 st) Bra
    2. 63% (34 st) Ganska bra
    3. 11% (6 st) Mindre bra
    4. 4% (2 st) Dåligt

  9. Vad tycker du om att ha föreläsningsanteckningarna på www?

    1. 83% (45 st) Bra
    2. 13% (7 st) Ganska bra
    3. 2% (1 st) Mindre bra
    4. 0% (0 st) Dåliga

    Ev kommentar (gärna konstruktiv):

    Mycket aktuell och information som jag söka fanns nästan alltid....
    ibland kom föreläsningsanteckningarna upp lite sent skulle helst vilja ha dom innan så jag kan anteckna och förbereda lite med dom.
    Bra att ha UNDER föreläsningingen annars utmärkt

    ---
    Det är lättare att lyssna på föreläsaren om man inte behöver anteckna allt.
    ---
    Det var väldigt bra att ha dem, de hjälpte mycket, man behövde inte anteckna precis allt heller, vilket man ändå inte hann när programmen började bli lite längre.
    ---
    Det är säkert bra, men utnyttjade det aldrig. Mina egna anteckningar är tillräckligt bra!!!
    ---
    Hitta på mer enkla och pedagogiska exempel.Det är det som
    gör att man förstår.

    ---
    Bra att man kan gå tillbaka till anteckningarna när man gör labbarna
    ---
    Jag skulle velat ha föreläsningsanteckningarna i förväg att anteckna på.
    ---
    Tack Sten!
    ---
    Det var bra att kunna gå tillbaka och titta på exempel.
    ---
    Jättebra att kunna gå tillbaks till och titta i
    ---
    Mycket bra!!
    ---
    bra att man kunde lada ner förläsning anteckningarna
    men det hade varit ännu bättre om man kunde laddat ner dom innan
    föreläsningens början.

    ---
    Kunde gärna ha lagts in innan föreläsningen, eftersom det är bra sammanfattningar av föreläsningen.
    ---
    Kunde ha gett ut anteckningarna på föreläsningen så att
    man kunde anteckna på dom.

    ---
    Man behövde inte anteckna utan kunde följa tankegången under
    föreläsningen. Mycket bra

    ---
    Underlättar förståelsen om man kan undvika antecknande under föreläsning
    ---
    Jätte-Bra
    ---
    Mycket bra. Överskådliga och gav lagom mycket information. Hjälpte en ofta över en "problemtröskel" utan att hjälpa till för mycket.
    ---
    Mycket possitivt! Jag använde dem mycket när jag satt och programmerade.
    Enklare än att titta i föreläsningsanteckningarna.
    Och på föreläsningarna kunde man sitta och försöka förstå, istället för att
    skriva av tavlan.

    ---
    Men inget slår boken (även om den inte var perfekt)
    ---
    Lägg gärna upp en länk där man kan spara ner ALLA anteckningar till datorn.
    Bra om anteckningarna finns innan föreläsningstillfället

    ---
    Det som tog 2 timmar att gå genom på föreläsning kunde jag läsa genom på en kvart mha anteckningarna på www. perfekt.
    ---
    Det vore bättre om anteckningarna
    fanns uppsatta en vecka tidigare.

    ---
    Kommentar till 8: för det mesta var innehållet bra (på de föreläsningar jag var på) men ibland kunde mycket tid ägnas åt ganska irrelevanta saker (t ex hur webben fungerar).
    Eventuleet kunde mer tid läggas på att förklara vad ett objekt var och vad finessen med objektorienterad programmering är. Skulle kanske vara bra att förklara lite mer ingående innan labb 4 (?).

    ---
    En mycket bra sammanfattning (och bra om man missat en föreläsning....)

  10. Vad tyckte du om repetitionsföreläsningarna efter tentan för de som inte klarade tentan?

    1. 4% (2 st) Mycket bra
    2. 11% (6 st) Bra
    3. 6% (3 st) Acceptabelt
    4. 0% (0 st) Mindre bra
    5. 0% (0 st) Dåligt
    6. 74% (40 st) Har inte deltagit

    Ev kommentar (gärna konstruktiv):

    Jag var bara med på en, dessutom klarade jag tentan.
    ---
    Bra med möjlighet för snabb omtenta för de som inte klarade sig.
    ---
    Klarade tentan första gången.
    ---
    Grundligt, lite väl nästan.
    ---
    de var nog bra... =)


    Övningar

  11. Vilken övningsassistent har du varit hos mest?

    1. 39% (21 st) Sten Andersson
    2. 30% (16 st) Matthias Palmer
    3. 13% (7 st) Sima Baymani
    4. 19% (10 st) Johan Lilja

  12. Hur många övningar närvarade du vid?

    1. 13% (7 st) 0-25%
    2. 7% (4 st) 26-50%
    3. 17% (9 st) 51-75%
    4. 63% (34 st) 76-100%

  13. Hur var övningarnas innehåll?

    1. 48% (26 st) Bra
    2. 44% (24 st) Ganska bra
    3. 6% (3 st) Mindre bra
    4. 2% (1 st) Dåligt

  14. Hur var övningsassistenten kunskapsmässigt?

    1. 76% (41 st) Bra
    2. 22% (12 st) Ganska bra
    3. 2% (1 st) Mindre bra
    4. 0% (0 st) Dåligt

  15. Hur var övningsassistenten pedagogiskt?

    1. 44% (24 st) Bra
    2. 48% (26 st) Ganska bra
    3. 6% (3 st) Mindre bra
    4. 2% (1 st) Dåligt

    Ev kommentar (gärna konstruktiv):

    Stene gjorde ett regält lyft man förstod verkligen hur allt hängde ihop!!!
    Mycket bra på att svara på frågor han förstod vad som var problemet och tog sig tid att förklara för oss

    ---
    Jättebra!!
    ---
    På gränsen: när bra exempel fanns, då var det bra.
    Annars mindre bra (då exempel saknades)

    ---
    matthias har stått för den värdefullaste delen
    av den lärarledda undervisningen, mycket nöjd!

    ---
    Man lärde sig mer på övningarna och labbarna
    än på föreläsningen.

    ---
    För mycket tid av lektionerna gick åt till att bara skriva kod. Kanske skulle det vara bättre om man hade koden på dator och visade steg för steg på OH.
    ---
    Mattias behärskade java. Tack Mattias
    ---
    Härligt att försöka förklara nya begrepp med lite
    egna metoder

    ---
    Bra kommplement till föreläsningarna.
    ---
    En mycket bra kille, ham kunde förklara det som man ville veta
    ---
    stabilt
    ---
    Liksom föreläsaren så repeterar de alldeles för lite.
    Man måste få höra samma ord med förklaring fler gånger
    för att lära sig funktionen.
    Om man lär sig ett vanligt språk så tjatas ju betydelsen
    in betydligt mer effektivt, eller så är det bara jag som
    har ett ovanligt dåligt minne..... om detta tvistar de lärde!

    ---
    lite väl övertydlig för min del, men tydligen inte enligt andra.
    ---
    Johan var bra med att komma med sina egna exempel som han hade skrivit och som vi kunde testa sjävla i efterhand


    Laborationer

  16. Hur var laborationerna innehållsmässigt?

    1. 39% (21 st) Bra
    2. 46% (25 st) Ganska bra
    3. 15% (8 st) Mindre bra
    4. 0% (0 st) Dåligt

  17. Hur bra anknöt laborationerna till kursen?

    1. 52% (28 st) Bra
    2. 35% (19 st) Ganska bra
    3. 7% (4 st) Mindre bra
    4. 4% (2 st) Dåligt

  18. Var någon/några av laborationerna mer givande än de övriga? (Du kan kryssa för flera alternativ.)

    1. 6% (3 st) Laboration 1: Introduktion till datormiljön
    2. 6% (3 st) Laboration 2: Experiment med Java
    3. 15% (8 st) Laboration 3: Klasser, variabler och metoder
    4. 35% (19 st) Laboration 4: Instanser, variabler och metoder
    5. 37% (20 st) Laboration 5: Textbaserad mini-j-uppgift
    6. 30% (16 st) Laboration 6: Grafikanpassning av mini-j-uppgift
    7. 67% (36 st) J-uppgiften

  19. Hur var labbhandledarnas kompetens?

    1. 50% (27 st) Bra
    2. 44% (24 st) Ganska bra
    3. 6% (3 st) Mindre bra
    4. 0% (0 st) Dålig

    Ev kommentar (gärna konstruktiv):

    Ganska varierande kvalitet
    ---
    Vissa är bra andra MYCKET sämre, ibland fick man egentligen ingen hjälp alls.
    ---
    Simon va jättebra!!
    ---
    Kompetens var inte fel på. Men en del assistenter hjälpte
    bra ( ibland behövde man mycket hjälp och ibland lite)
    , medan andra sade bara: läs i boken...vilket jag tycker vid detta
    stadiet är det dummaste man kan säga!

    ---
    Det var ett stort hopp i svårighetsgrad mellan labb
    4 och labb 5&6.

    ---
    stark variation, vissa mycket bra men sämre inslag fanns
    ---
    Bra med många labbtillfällen med möjlighet att få hjälp.
    ---
    Det är svårt att sätta sig in i någon annans kod. Det tycker jag
    att de har gjort bra.

    ---
    Kändes som att labbarna tog upp aldeles
    för lång tid. Men man lärde sig mycket.

    ---
    Labbarna var lite väl tidskrävande om man saknade förkunskaper, har tagit alldeles för mycket tid relaterat till antal studiepoäng. Fler assistenter vore önskvärt.
    ---
    Behövde inte så mycket hjälp
    ---
    Vissa var bra, andra var svåra att kommunicera med.
    ---
    Om laborationerna:
    Lab 6, var alldelses för svår och tar för lång tid.

    ---
    Det måste vara svårt att sätta sig in i allas olika kod!
    ---
    Stor variation i handledarnas kunskaper. Lite tveksam till om det är bra att ha tex d-99:or som assar..
    ---
    Det varierade mycket. En del ändrade i källkoden
    för mycket, ibland var man ett stort frågetecken efter
    man fått hjälp.

    ---
    Jag förstår inte hur ni kan sätta er in i andras
    program så snabbt.. BRAVOO!

    ---
    Labbarna var alldeles för tidskrävande för oss noviser
    ---
    Mycket varierad kompetens

  20. Vad tyckte du om J-uppgiften?

    1. 57% (31 st) Mycket bra
    2. 30% (16 st) Bra
    3. 13% (7 st) Acceptabel
    4. 0% (0 st) Mindre bra
    5. 0% (0 st) Dålig
    6. 0% (0 st) Har inte gjort den

    Ev synpunkter på J-uppgiften:

    Viktigt att TYDLIGT förklara att man måste läsa igenom uppgiften innan man börjar fundera hur man ska lösa den!
    Det gjordes naturligtvis men en sak går in i ena örat och ut ur andra du vet hur det är med teknologer =)

    ---
    När man väl hade fått grepp om det var det jättekul!!
    ---
    Jättebra att man får arbeta med programmeringen på
    egen hand. Att arbeta i labbpar medför ofta att endast
    en av laboranterna arbetar med uppgiften. Oftast den
    som kan mest, då. Vilket gör att den som inte är lika
    kunnig har svårt att följa med.

    ---
    starkt varierande svårighetsgrad även för samma poäng
    (för tex grundläggande 17) lite för begränsade i
    extrauppgifter. utrymme borde finnas.

    ---
    Dålig information om att man kan få sexa som betyg.
    ---
    Kolla över juppgiftslydelserna, vissa var lite svåra att förstå så
    de gav vissa problem.

    ---
    Otroligt kul!!!!!
    ---
    Här lärde man sig 50% av kursen
    ---
    Svår, ganska tung

  21. Hur många timmar har du sammanlagt fått handledning i datorsal (hjälp av handledare) ?

    1. 37% (20 st) mindre än 1
    2. 19% (10 st) 1-2
    3. 22% (12 st) 2-4
    4. 11% (6 st) 4-8
    5. 2% (1 st) 8-16
    6. 7% (4 st) 16-32
    7. 2% (1 st) Mer än 32 timmar

    Kurslitteratur

  22. Hur var kurslitteraturen anpassad till din kunskapsnivå?

    1. 24% (13 st) Bra
    2. 41% (22 st) Ganska bra
    3. 19% (10 st) Mindre bra
    4. 11% (6 st) Dålig

  23. Hur var kursboken (Java - Software Solutions)?

    1. 11% (6 st) Bra
    2. 13% (7 st) Ganska bra
    3. 17% (9 st) Mindre bra
    4. 22% (12 st) Dålig
    5. 35% (19 st) Har inte använt den

    Vad tycker du är bra med boken?

    Allt var begripligt och lätt att använda OBS!!!!
    Boken gjorde INTE ALLS som vi skulle göra det är viktigt att
    ni tar upp detta jag använde boken mycket lite eftersom den inte alls gör på samma sätt t.ex inläsning av data från tangentbord.

    ---
    Den var väl ganska bra, men frågan är om man inte kanske skulle kunna använda en svensk bok eftersom det finns sådana.
    ---
    De förklarar från början.
    ---
    Den har med mycket kommandon.
    ---
    snygg layout
    ---
    Jag använde nästan bara "Java Direkt" av Jan Skansholm.
    Den var mer grundläggande och dessutom på svenska,
    vilket kan vara bra när man läser ett helt nytt ämne.

    ---
    inget, byt!
    ---
    Den förutsätter inga speciella förkunskaper.
    ---
    inget just!
    ---
    Finns inget bra med den boken. Skaffa Java Direkt
    av Jan Skansholm istället. Både billigare, bättre
    och på svenska. Har använt den jättemycket.

    ---
    bra med exempel
    ---
    Den ger exempel på det mesta
    ---
    Bra exempel
    ---
    Hade ingen bok...
    ---
    INGET- 650 SPÄNN ÅT H-VETTE
    ---
    Lättöverskådlig. Bra som uppslagsverk.
    Tog programmeringen från början. (bra för mig som inte programmerat annat än miniräknare tidigare)

    ---
    Lätt förstådd
    ---
    Inget

    Vad tycker du kan förbättras i boken?

    Helt klart är det viktigt att man har samma kurs/föreläsningar/labbar som den information som finns i boken!
    ---
    Den var inte så överskådlig.
    ---
    översätt den...
    ---
    Bättre exempel på hur olika kommandon skall användas,
    istället för så mycket förklarande text runt kommandona.

    ---
    språket är ej anpassat till nybörjare, exeplen är
    författarnas egna små språkligt varierande snuttar
    utan någon som helst anknytning till den första koden
    man själv försöker prestera. behöver vara presenterade i
    ett sammanhang.

    ---
    Har nog använt den för lite för att kunna uttala mig.
    ---
    allt
    ---
    Byt bok!
    ---
    Opedagogiskt och ologiskt uppplagt på många sätt. Inte speciellt innehållsrik. Boken kändes inte riktigt nödvändig. I alla fall inte till det priset.
    ---
    En annan författare och gärna på svenska!
    ---
    tyckte den var bra till den nivå kursen låg på
    ---
    Skulle kunna vara på svenska
    ---
    Det skrivs för lite om själva koden, man tar bara upp det omkringliggande. Exemplen var dåliga, då man tex importerar kod man skriver flera sidor fram i kapitlet.
    ---
    För mycket snack! Bygger dessutom på att man använder sig av författarnas förskivna klasser och metoder
    ---
    ALLT. VÄLJ HELLRE JAVA DIREKT
    ---
    Inbillar mig att det finns svenskspråkig litteratur som är både billigare och mer pedagogiska
    ---
    Mindre jidder på amerikanskt maneer!
    Mer info om det som är svårt i java ,,
    nämligen typ (objekt) (konstruktor) (new) osv.
    If for och liknande fattar ju en potensiell gammelmormor

    ---
    Byt till Svensk bok utan tekniskt mumbojumbo som teknologen bara tycker är irriterande
    ---
    tycker den inte är lika bra som andra böcker jag läst i ämnet. Tex så saknas kapitel om trådar vilka är rätt så fundementala för ordentlig programmering.
    ---
    java direkt är bättre. på svenska och lättare att förstå.

  24. Hur var Javaintroduktionshäftet (blått häftet i kursbunten)?

    1. 59% (32 st) Bra
    2. 35% (19 st) Ganska bra
    3. 2% (1 st) Mindre bra
    4. 2% (1 st) Dålig
    5. 2% (1 st) Har inte använt det

    Vad tycker du är bra med häftet?

    Hade det viktigaste
    ---
    Lättläst, tar upp det mesta
    ---
    Kortfattat, på svenska.
    ---
    Lättsamt språk.
    ---
    Här fanns det mycket bättre konkreta exempel än i
    kursboken. Jag hade mycket större nytta av häftet än
    av någon annan bok. Mycket bra och ganska kort. Inte
    så mycket onödig text som i böckerna. Vi på vår nivå
    har ändå inte någon användning utav den.

    ---
    Det stod kortfattat och grundläggande om det mesta
    vi använde i labbarna.

    ---
    Man kunde hitta olika tecken så som && || m.m.
    ---
    /** Min Minröjare av Magnus Lundin 811230-0135
    * t00_lus@t.kth.se
    * Uppgift nr: 168, Minröjare
    * Roejare.java
    */



    //Import av diverse paket för grafik.

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class Roejare extends JFrame implements ActionListener{

    //Tre Paneler. En med spelplanen, en med meny och en som innhåller dessa båda paneler.
    private JPanel mitt, meny, hela;

    //Två knappar till menyn för omstart och inställningar och
    //Två knappar till inställningsrutan: ok och cancel.
    private JButton omstart, instKnapp, ok, cancel;

    //Dialogruta för inställningar.
    private JDialog inst;

    //Själva spelet.
    private Roejare ram;

    //Matrisen som innehåller alla rutor.
    private Ruta[][] plan;

    //Standardtalen för bredd, höjd, antal minor samt antalet rensade rutor..
    private int b = 10;
    private int h = 10;
    private int m = 20;
    private int rensade;

    //Textfält i inställningsrutan.
    private TextField x2, x5, x8;

    //Gränser för inställningarna (bredd och höjd).
    final private int undreBredd = 5;
    final private int oevreBredd = 20;
    final private int undreHoejd = 5;
    final private int oevreHoejd = 20;

    //Bakgrundfärgen definieras (grå).
    private Color bGrnd = new Color(132,132,132);

    //Bildvektor som innehåller rutornas ikonbilder.
    private static ImageIcon[] bilder = new ImageIcon[12];




    //Skapar spelet, läser inte bilder och anropar startInstaell.

    public static void main (String[] args) {

    //En instans av klassen skapas
    Roejare ram = new Roejare();

    //Här läses de tolv bilderna in till bildvektorn "bilder".
    //1-8 = antal angränsande minor.
    //9 = mina, 10 = aktiv och 11 = klar.
    for(int i = 0 ; i < 12 ; i )
    bilder[i]= new ImageIcon("" i ".gif");
    ram.startInstaell();
    }




    //Tar hand om händelser från rutor och knappar.

    public void actionPerformed(ActionEvent evt){

    Object kaella = evt.getSource();

    //Här tas händelser från knapparna omstart, inst., ok och cancel om hand.
    if(kaella == omstart)
    omstart();
    if(kaella == instKnapp)
    instUpp();
    if(kaella == cancel)
    inst.dispose();
    if(kaella == ok)
    staellOm();

    //Går igenom varje ruta och kontrollerar vilken som trycks på.
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta rut = (Ruta) plan[i][j];
    if(kaella == rut){
    //Anropar död om man går på en mina.
    if(rut.mina)
    doed();
    //Röjer runt omkring minan om antalet angränsande minor är noll.
    else if(rut.antal == 0)
    roej(i,j);
    //Röjer(deaktiverar) minan annars.
    else {
    rut.setEnabled(false);
    rut.setBackground(bGrnd);
    rensade ;
    }
    }
    }
    }

    //Anropar klar om kvarvarande rutor är lika med antalet minor.
    if( (((b*h) - rensade) == m) )
    klar();
    }




    //Visar alla rutor på spelplanen när man gått på en mina.
    //Minor visas som en "sprängbild" (standard inaktiv ikon för minor).

    private void doed() {
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta rut = (Ruta) plan[i][j];
    rut.setEnabled(false);
    rut.setBackground(bGrnd);
    }
    }
    }




    //Visar ett dialogfönster med inställningar (inst).

    private void instUpp() {

    //Skapr dialogfönstret.
    //Denna innehåller två paneler där den första (och största) får ett rutnät.
    inst = new JDialog(ram, "Inställningar", true);
    JPanel instPanel1 = new JPanel();
    JPanel instPanel2 = new JPanel();
    instPanel1.setLayout(new GridLayout(3,3));

    //Skapar 6 etiketter och 3 textfält i huvudpanelen (instPanel1).
    Label x1 = new Label("Bredd:"); x2 = new TextField("" b); Label x3 = new Label(undreBredd "-" oevreBredd);
    Label x4 = new Label("Höjd:"); x5 = new TextField("" h); Label x6 = new Label(undreHoejd "-" oevreHoejd);
    Label x7 = new Label("Minor:"); x8 = new TextField("" m); Label x9 = new Label("1 < antal < area");
    instPanel1.add(x1); instPanel1.add(x2); instPanel1.add(x3);
    instPanel1.add(x4); instPanel1.add(x5); instPanel1.add(x6);
    instPanel1.add(x7); instPanel1.add(x8); instPanel1.add(x9);

    //Skapar två knappar i den undre panelen. Fortsätt och ångra.
    //Lägger till lyssnare till knapparna och läggeer till dessa på panel två.
    ok = new JButton("Fortsätt");
    cancel = new JButton("Ångra");
    ok.addActionListener(this);
    cancel.addActionListener(this);
    instPanel2.add(ok);
    instPanel2.add(cancel);

    //Ställer in utseendet på dialogrutam och lägger till de båda panelerna.
    inst.getContentPane().setLayout(new BorderLayout());
    inst.getContentPane().add("Center", instPanel1);
    inst.getContentPane().add("South", instPanel2);
    inst.setSize(270,150);
    inst.setResizable(false);
    inst.setVisible(true);
    inst.pack();
    }




    //Visar alla minor med en glad bild där det är minor.

    private void klar() {
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta rut = (Ruta) plan[i][j];
    if(rut.mina()) {
    rut.setDisabledIcon(bilder[11]);
    rut.setBackground(bGrnd);
    rut.setEnabled(false);
    }
    }
    }
    }




    //Returnerar hur många minor som finns runt rutan (i,j).
    //Kommentera mera???

    private int kollaRunt(int i, int j) {
    int k = 0;
    for(int r = (i-1) ; r <= (i 1) ; r ) {
    for(int s = (j-1) ; s <= (j 1) ; s ) {
    if((r >= 0 && r < h) && (s >= 0 && s < b)) {
    Ruta rut = (Ruta) plan[r][s];
    if(rut.mina())
    k ;
    }
    }
    }
    return(k);
    }




    //Skapar själva upplägget.

    private void läggUt() {

    //Skapar tre paneler. Hela som innehåller de två andra,
    //meny som har två knappar (omstart och inst.) och mitt som rymmer spelplanen.
    hela = new JPanel();
    meny = new JPanel();
    mitt = new JPanel();

    //Ger panelen hela en "borderlayout". Skapar de två menyknapparna.
    //Ger dessa lyssnare och lägger till dem på meny-panelen.
    hela.setLayout(new BorderLayout());
    omstart = new JButton("Omstart");
    instKnapp = new JButton("Inställningar");
    omstart.addActionListener(this);
    instKnapp.addActionListener(this);
    meny.add(omstart);
    meny.add(instKnapp);

    //Lägger till de två panelerna mitt och meny på hela.
    hela.add("North", meny);
    hela.add("Center", mitt);
    mitt.setLayout(new GridLayout(h,b));

    //Anropar mineraren och rutFixaren. Samt visar fönstret.
    mineraren();
    rutFixaren();
    setContentPane(hela);
    show();
    }




    //Lägger till m antal minor på slumpmässiga platser på planen.

    private void mineraren() {
    for(int i = 0 ; i < m ; i ) {
    Ruta rut = (Ruta) plan[(int) (Math.random() * h)][(int) (Math.random() * b)];
    if(rut.mina())
    i--;
    else
    rut.minera();
    }
    }




    //Rensar alla rutor från information samt anropar mineraren och rutFixaren.
    //Ställer räknaren rensade till noll.

    private void omstart() {

    rensade = 0;
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta kalle = (Ruta) plan[i][j];
    kalle.rensa();
    }
    }
    mineraren();
    rutFixaren();
    }




    //Röjer rutor omkring (i,j).
    //Anropar sig själv om antalet angränsande minor är noll.

    private void roej(int i, int j) {
    for(int r = (i-1) ; r <= (i 1) ; r ) {
    for(int s = (j-1) ; s <= (j 1) ; s ) {
    if((r >= 0 && r < h) && (s >= 0 && s < b)) {
    Ruta rut = (Ruta) plan[r][s];
    if(rut.isEnabled()) {
    rut.setEnabled(false);
    rensade ;
    rut.setBackground(bGrnd);
    if(rut.antal == 0)
    roej(r,s);

    }
    }
    }
    }
    }




    //Konstruktor för uppskapande av en instans av klassen Roejare.

    private Roejare(){
    super ("Min Minröjare");
    }



    //Lägger in alla rutor i mittpanelen, ställer in storlek och
    //ställer in bilderna mha "l" från kollaRunt.

    private void rutFixaren() {
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta kurt = (Ruta) plan[i][j];
    kurt.setPreferredSize( new Dimension(25,25) );
    mitt.add(kurt);
    if(!kurt.mina()) {
    int l = kollaRunt(i,j);
    kurt.staellIn(l);
    }
    else {
    kurt.staellIn(9);
    }
    }
    }

    }




    //Skapar en matris (plan[][]) efter dimensionerna och fyller den med nya rutor.

    private void skapa() {
    plan = new Ruta[h][b];
    for(int i = 0 ; i < h ; i ) {
    for(int j = 0 ; j < b ; j ) {
    Ruta rut = new Ruta(this, bilder);
    plan[i][j] = rut;
    }
    }
    }



    //Ställer in fönstret med fönsterlyssnare, storlek, etc.
    //Anropar sedan skapa och läggut.

    private void startInstaell() {
    WindowListener wl = new WindowAdapter() {
    public void windowClosing(WindowEvent e){
    System.exit(0);
    }
    };
    addWindowListener (wl);
    setResizable(false);
    setVisible(true);
    pack();
    setSize( b*25, h*25 45);
    skapa();
    läggUt();
    }





    //Ändrar spelets inställningar.

    private void staellOm() {

    //Sätter b,h och m till de inskrivna värdena och
    //kontrollerar att dessa ligger inom gränserna.
    int b1 = 0;
    int h1 = 0;
    int m1 = 0;

    try {
    b1 = Integer.parseInt(x2.getText());
    h1 = Integer.parseInt(x5.getText());
    m1 = Integer.parseInt(x8.getText());
    }
    catch(NumberFormatException nfe){
    //felmedd();
    }

    if( (b1 >= undreBredd && b1 <= oevreBredd) && (h1 >= undreHoejd && h1 <= oevreHoejd) && ( m1 > 0 && m1 < b1*h1) ) {

    //Rensar "mitt", skapar nya rutor, ställer in mitts rutnät och startar om.
    b = b1;
    h = h1;
    m = m1;
    mitt.removeAll();
    skapa();
    mitt.setLayout(new GridLayout(h,b));
    omstart();

    //Stänger dialogrutan, ställer in och ändrar storleken på fönstret.
    inst.dispose();
    setSize( b*25, h*25 45);
    pack();
    setContentPane(hela);
    Bra upplagt med förklaringar och sedan exempel.

    ---
    Allt, bra grundläggande sammanfattning
    ---
    GAV ALL INFO MAN BEHÖVDE FÖR LABBAR OCH TENTA
    ---
    Det var bra att få se exempel på allt som togs upp!
    ---
    Det är lätt att slå upp i. De vanligaste kommandona
    finns med. Kanonbra!

    ---
    ej använt det så mycket
    ---
    korta tips som var använbara
    ---
    det som stod var kortfattat och enkelt och gav insikt
    ---
    snabba beskrivningar med exempel på de mest använda metoderna.
    ---
    Lättläst
    ---
    Fokus på det mest användbara
    ---
    Det mesta
    ---
    TYDLIGT ENKELT
    ---
    Bra nivå.
    ---
    det mesta..
    ---
    Vackert blå och hygglig info
    ---
    Många bra funktioner beskrivna och förklarade.
    Häfter var mycket bättre än boken

    ---
    täckte kursen väl. svensk text är alltid trevligt.
    ---
    kort och konsist! När man hittade det man letade efter var det bra förklaringar...

    Vad tycker du kan förbättras i häftet?

    kanske utökas lite i omfattning
    ---
    Viss information som charAt och annat skulle kanske vara bra att ha kort om
    ---
    Gärna mer programexempel
    ---
    Det var mycket man letade efter som inte fanns med
    ---
    Det skulle kunna ta upp applets lite bättre
    ---
    Vet inte.
    ---
    Möjligen skulle det kunna vara längre och då ersatta kursboken (software solutions)
    ---
    Mer exempel på anvädningar
    ---
    mer exempel på användbara medoder.
    ---
    Kan utökas
    ---
    Gör häftet lite mer omfattande och använd det som kurslitteratur
    ---
    omslaget var ju moderatblått! USCH!
    ---
    lite hyggligare info
    ---
    Kanske på något sätt förklara hur man använder JAVA's API
    som många bra programmerare använder sig mycket av.

    ---
    Göra något som gör det enklare att hitta

  25. Hur speglar kurslitteraturen kursinnehållet?

    1. 22% (12 st) Bra
    2. 48% (26 st) Ganska bra
    3. 15% (8 st) Mindre bra
    4. 6% (3 st) Dåligt


    Kurshemsidan

  26. Hur ofta har du använt kurshemsida (webben)?

    1. 26% (14 st) Vid varje datorpass
    2. 61% (33 st) Flera gånger
    3. 13% (7 st) Någon enstaka gång
    4. 0% (0 st) Aldrig

  27. Hur mycket information tycker du det finns på kurshemsidan?

    1. 2% (1 st) På tok för mycket
    2. 2% (1 st) För mycket
    3. 93% (50 st) Lagom
    4. 4% (2 st) För lite
    5. 0% (0 st) Vet inte, har inte använt den

  28. Hur ofta hittade du något användbart på kurshemsidan?

    1. 15% (8 st) Varje gång
    2. 69% (37 st) Flera gånger
    3. 17% (9 st) Någon enstaka gång
    4. 0% (0 st) Aldrig
    5. 0% (0 st) Använde inte kurshemsidan

    Vad tycker du borde förändras på kurshemsidan?

    Lite mer överskådligt
    ---
    Granskningsprotokollet borde läggas upp tidigare.
    ---
    Kan inte komma på något. All info om kursen fanns ju
    där, vilket var bra.

    ---
    Det kanske vore bra med lite utförligare föreläsningsanteckningar.
    ---
    Att kunna anmäla sig till J-upg redovisning tidigare
    ---
    Länkarna till referenserna och stenes
    föreläsningsanteckningar var tokbra.

    ---
    Ev. ska man kunna printa ut alla kursanteckningar från en föreläsning på en gång.
    ---
    STRUKTUR...EV EN FINDER
    ---
    nja.. kunde vara lite svårt att hitta dit man ville ibland. layouten skulle kunna förbättras alltså
    ---
    Layouten kanske

    Tentamen

  29. Hur motsvarade tentamen kursinnehållet?

    1. 37% (20 st) Bra
    2. 50% (27 st) Ganska bra
    3. 13% (7 st) Mindre bra
    4. 0% (0 st) Dåligt

  30. Hur återspeglades föreläsningarna på tentamen?

    1. 31% (17 st) Bra
    2. 46% (25 st) Ganska bra
    3. 17% (9 st) Mindre bra
    4. 2% (1 st) Dåligt

  31. Hur återspeglades kurslitteraturen på tentamen?

    1. 15% (8 st) Bra
    2. 41% (22 st) Ganska bra
    3. 24% (13 st) Mindre bra
    4. 7% (4 st) Dåligt

  32. Hur var svårighetsgraden på tentamen?

    1. 30% (16 st) Lätt
    2. 52% (28 st) Rätt så lätt
    3. 15% (8 st) Ganska svår
    4. 4% (2 st) Svår

    Ev kommentar (gärna konstruktiv):

    Pilar och annat var väldigt främmande, egentligt först sista veckorna innan visste vi mera om detta trots att stene talat en del om detta.
    Hur ritar man upp lådorna? Lite mera under föreläsningarna gärna om möjligt.
    Sista övningarna som bara ägnades åt detta var OVÄRDERLIGA! tack Stene

    ---
    Hur svår tentan uppfattas beror på hur mycket man pluggar. För endast ett kurspoäng bör inte en alltför stor arbetsinsats krävas. Hade jag pluggat lika mycket som till mattetentan (6p) hade jag klarat Java-tentan lätt.
    ---
    Att man är tvungen att ha ett rätt på varje del tycker
    inte jag är ett speciellt bra system. Då kan det räcka
    att endast ta 5 poäng medan en annan person som tar
    8 poäng inte får godkänt om han inte klarar en uppgift
    på varje del. Det var det som gjorde tentan svår.
    Vidare är väl inte minnesuppritningarna speciellt
    nödvändiga att känna till. Det ger visserligen lite
    extra förståelse, men behöver inte vara med på tentan.

    ---
    lätt då man har tillgång till exakt lika
    extentor. annars mycket svår (tror jag)

    ---
    Jag tycker att tentamen var lite smågrinig med väldigt små saker som gav 0 poäng.
    ---
    SYND ATT MAN SKA BEHÖVA FALLA PÅ PYTTEDETALJER...
    ---
    Alldeles för lika dom gamla tentorna
    ---
    Lite väl lätt tenta. Gör nog att folk knappt öppnar boken inför den...
    ---
    PÅ DE SÄTT SOM TENTAN ÄR TYCKER JAG INTE ATT MAN RIKTIGT VISAR ATT MAN KANN PROGRAMERA, UTAN ATT MAN ÄR BRA PÅ ATT TITTA PÅ GAMLA TENTOR.
    ---
    knepigt att skriva tenta på programmering! det är ju ett hantverk!
    ---
    Rita lådor och annat är väl inget för en karl
    ---
    vet inte om man ska ha tentamen i ett sånt här ämne.. tycker det räcker med J-uppgiften.
    ---
    Om man tränade med ex-tentor och hade följt med under kursens gång (gjort labbarna samt varit på föreläsningarna) så var det ingen svårighet att klara tentan.

  33. Hur många timmar ägnade du åt att läsa till tentan ?

    1. 37% (20 st) mindre än 4
    2. 37% (20 st) 4-8
    3. 15% (8 st) 8-12
    4. 7% (4 st) 12-16
    5. 4% (2 st) 16-20
    6. 0% (0 st) 20-24
    7. 0% (0 st) 24-28
    8. 0% (0 st) Mer än 28


  34. Ytterligare kommentarer om kursen:

    Labbstatistiken är inte särskilt uppmuntrande ibland tog det mycket längre tid än vad som medelvärdet gav.
    Nada har varit fullbokat men mycket trevligt
    =)

    ---
    Laborationerna tog tre gånger så lång tid som det stod att de skulle ta, men J-uppgiften tog endast en fjärdedel av den beräknade tiden.
    ---
    Det var en rolig kurs. Men laborationerna fanns det dåligt med
    tid till att hinna med. Datorerna var för få.
    Vidare var de som godkände labbarna väldigt ojämna
    i bedömning. Vissa tittade snabbt på uppgiften och
    andra gick in i minsta detalj och begärde en förklaring .
    De kanske borde få en mer konkret mall att gå efter
    då de tittar på labbarna. Det handlar ju trots allt
    om poäng och stora orättvisor vid bedömningarna är inte
    bra.Att få göra en J-uppgift var det mest givande i
    kursen. Det är något man lär sig mycket på.

    ---
    Jag tycker att vi skulle ha börjat att använda
    grafik på en lägre nivå. Nu grafikanpassades
    en av den svåraste labbarna, vilket gjorde att grafiken
    kändes jättekrånglig. Det vore bättre om man kunde
    börja med lite grafik i någon av de enklare labbarna
    för att sedan göra svårare saker.

    ---
    Byt kurs bok till Java direkt av Jan Skansholm
    ---
    En bra kurs tycker jag.
    ---
    Kul intro till programmering.
    ---
    Jag tycker att det vore bra att ha med både applet
    och frame. Dessutom var det lite väl mycket att
    grafikanpassa lab 5. Det är lättare att skriva om helt
    från början ju!

    ---
    Det gick mycket tid åt att lämna in labbar varje vecka
    i period 3. Annars är programering konstruktivt om man
    jämnför med andra kurser på KTH. Man ser att det händer saker
    och att man skapar något. Det är roligt.

    ---
    Knepigt att man bara går igenom applets för att visa
    grafik. Det fick mig att tro att det var enda sättet
    att lösa den frågan. Man borde labbat med frames också.
    Annars är jag nöjd med kursen. Kan ibland vara lite svårt att
    få tag i datorer dock.

    ---
    Labbarna tog väldigt mycket tid och det gav inte så mycket att skriva program på papper vid övningarna
    ---
    Det är bra att kompletteringstillfället finns, men det hade varit ännu bättre om man hade haft två (åreresan var bokad sen länge....)
    ---
    Väldigt rolig!!
    ---
    Rolig. En välbehövlig frisk fläkt på något sätt bland matte och mekanikkurser. Dock mycket tidskrävande.
    ---
    Mycket trevlig. Finns det någon fortsättningskurs?
    Och föresten, jag vill kunna göra *.exe - filer av mina javaprogram!
    Finns det någon sådan kompilator? Annars kanske man skulle skriva en.. ;)
    Finns det någon sådan, så skicka gärna ett mejl och berätta. ( t00_tes@t.kth.se )

    ---
    Intressantast i år
    ---
    Blev överraskad av vad man enligt tentan skulle lagt vikt
    vid att förstå. Det var inte vad jag trodde. Efter Tentapluggandet
    klarnade dock mycket

    ---
    Undervisningen borde delas in i grupper baserade på kunskapsnivå. Man borde få välja mellan grundläggande eller mer djupgående undervisning.
    ---
    kul kurs


stene@nada.kth.se

Denna sammanställning har genererats med ACE.