Programmeringsteknik för M1 info till handledare
KTH
2D1310 Programmeringsteknik
Särskild information för M
Nada

^ Upp till allmänna kurssidan.

Senaste nytt Lärare Kurslitteratur Förkunskaper Schema
Tentamen M:s datorsalar Detaljschema Studiedisposition Laborationer I-uppgift
Hemuppgifter Betyg Hjälp och handledning Hederskodex Synpunkter på kursen Länkar

Senaste nytt


Lärare

Kursledare är Staffan Romberger. Lämpligaste sättet att komma i kontakt med kursledaren ä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. Vill man träffa kursledaren personligen går det bra på mottagningstiden.

De sex övningsgrupperna leds av följande personer:

Grupp Övningsledare Datorpostadress
1 Thomas Larsson m94_las@nada.kth.se
2 Erik Forslin d93-efo@nada.kth.se
3 Josefin C. Lindh v95_lie@nada.kth.se
4 Ulf Bourelius dharynn@nada.kth.se
5 David Bezjak b96_bed@b.kth.se
6 Staffan Romberger srom@nada.kth.se

Kursanmälan

Från och med hösten 1998 gäller att endast de teknologer som delfakulteten lagt in i Ladok (betygsdatasystemet) som studerande på en kurs får läsa kursen. Om du inte är M-98 måste du därför be kansli MMT om tillstånd att läsa kursen.

Kurslitteratur

Kurslitteraturen ska läsas på egen hand parallellt med kursen. Föreläsningar, övningar och laborationer täcker endast en del av kursmaterialet.

Programmeringsteknik med Pascal Kursbok: Bälter: Programmeringsteknik med Pascal, upplaga 2, pris ca 225 kr, 292 sidor. Täcker denna kurs och lite till. Läsanvisning inför tentan finns både till första och andra upplagan.

Condensed Pascal (För den som föredrar engelsk litteratur kan Coopers Condensed Pascal användas istället. En trevlig amerikansk bok på 644 sidor, pris ca 295 kr. Saknar lösningar till övningarna.) Läsanvisningar till Condensed Pascal finns också.

Båda böckerna finns att köpa på kårens bokhandel.

Kursbunt innehållandes:

Kursbunt kan köpas på elevexpeditionen. Papper som delas ut under kursens gång finns också att hämta i bokhyllan utanför expeditionen.

Förkunskaper

Kursen förutsätter att man känner till begrepp som operativsystem, filer och redigeringsprogram. Den som inte gör det uppmanas att läsa igenom kapitel 7 (kap 6 i upplaga 1) i kursboken och ägna extra mycket tid åt kursen i början. Vissa föreläsningar anordnas speciellt som stöd för den som behöver det.

Schema

Under kursens första period ges två föreläsningar per vecka, utom sista veckan då blott en föreläsning ges. Efter ordinarie tentamen hålls dessutom tre repetitionsföreläsningar (för att ge den som missade tentan en chans att komma ifatt).

Under de första åtta veckorna av kursen hålls en salsövning per vecka.

Varje vecka finns ett redovisningstillfälle för laborationer. Observera att vid det ordinarie redovisningstillfället prioriteras redovisningar av den laboration som är ordinarie för det tillfället. För elever som missar att redovisa på ordinarie redovisningstillfälle hålls det en extra redovisning veckan därpå. Maximalt tre redovisningar kan göras på måndagar utan förlust av betygspoäng. Extra redovisningar är till för redovisning av alla labbar, men inte I-uppgifter.

I-uppgiften redovisas under kursens andra period.

Period 2

Vad Vecka Dag Tid Grupp Sal
Föreläsning 44­50 9­11 Alla Q1
44-49 ti 9-11 Alla F2
Övning 44-50 12-14 Alla E31-36
Datorlab 44-49 ti 12-14 1-2 Butter, Glader, Prosit
44-49 to 16-18 5-6 Butter, Glader, Prosit
44-49 fr 10-12 3-4 Kloker, Toker, Trötter
50 on 12-14 3-4 Butter, Glader, Prosit
50 on 14-16 5-6 Butter, Glader, Prosit
50 on 16-18 1-2 Butter, Glader, Prosit

Period 3

Vad Vecka Dag Tid Grupp Sal
Repetitionsföreläsning 3 on 16­18 (*) E2
3 to 16­18 (*) E3
3 fr 15­17 (*) E2
Övning 3 12­14 Alla E31­36
Datorlab 3 14­16 1­2 Toker (gr. 1), Glader (reserv), Prosit (gr. 2)
4 12­14 1­2 Toker (gr. 1), Kloker (reserv), Prosit (gr. 2)
5­8 12­14 1­2 Toker (gr. 1), Glader (reserv), Prosit (gr. 2)
3­7 ti 16­18 3­4 Toker (gr. 3), Glader (reserv), Prosit (gr. 4)
8 ti 16­18 3­4 Toker (gr. 3), Glader (reserv), Kloker (gr. 4)
3­8 on 14­16 5­6 Toker (gr. 5), Glader (reserv), Prosit (gr. 6)
4­8 fr 15­17 Alla Toker, Glader, Prosit

(*) Föreläsningarna i period 3 är repetition, och är inte för dem som redan klarat tentan.

Tentamen

Ingen tentaanmälan krävs. Alla är välkomna till tentan. På ordinarietentor sätts placeringslistor upp vid tentasalarna.
Tentan består av sex uppgifter. På varje uppgift finns en a- och en b-del, där a- eller b-delen måste besvaras rätt. (Avsikten är att man ska behärska alla moment för att bli godkänd; det räcker inte med att kunna hälften väl.) På tentan ges bara betyget Godkänd/Underkänd.

Hjälpmedel är en Pascalbok.

Tentaresultatet anslås på institutionens anslagstavla på plan 3 (rakt under elevexpeditionen). Klagomål på rättning av tentan lämnas in skriftligen till den kursansvarige inom tre veckor från det att tentaresultatet anslagits.
Observera att du inte får ta med dig tentan från expeditionen om du vill klaga på rättningen.

Ordinarie tenta ges lördagen den 19 december kl. 14­17 i sal F11­15, 22­25, 31­34 och 41­45.
Omtenta lördagen den 10 april kl. 14­17 i sal F11­15.


M:s datorsalar

På M finns sex datorsalar på Brinellvägen 64, 2 trappor: Butter, Trötter, Kloker, Toker, Glader och Prosit.
Nada har inget ansvar för programvara i dessa salar.
Vid problem med datorerna – kontakta Mimers Bar, Osquars backe 20, tfn 790 9300, mimer@midgard.kth.se

Preliminärt detaljschema

För föreläsningarna anges vilka kapitel i kurslitteraturen som gås igenom, för övningarna förslag på övningsuppgifter. Schemat är preliminärt och kan vid behov stuvas om.
 

vecka 44

  • F1 Grunderna i programmering (PT1: Kap 0, 1.1-1.3, 1.5; PT2: Kap 1, 2.1; BP: 1, 2)
  • Ö1 PT1: Uppg 1.1, 1.5, 1.6, 1.10; PT2: Uppg 1.5, 1.7, 2.4, 1.11
  • FX2 Hur fungerar ett program?
  • Dat1 Introduktion till programmeringsmiljön

vecka 45

  • Hemtal 1 lämnas in senast fredagen den 30 oktober kl. 13.00
  • F3 Procedurer och funktioner, val (PT1: Kap 1.4 (ej avsnittet om parameterfunktioner/procedurer), 2.1; PT2: Kap 2.1-2.3(ej avsnittet om parameterfunktioner/procedurer), 3.1)
  • Ö2 PT1: Uppg 1.12, 1.13, 1.19, 2.1; PT2: Uppg 2.6, 2.7, 2.12, 3.1
  • F4 Styrstrukturer, parameteröverföring (PT1:Kap 1.4, 2.2, 2.3; PT2: Kap 2.3, 3.2, 3.3; BP: 3.8)
  • Dat2 Introduktion till Pascal

vecka 46

  • Hemtal 2 lämnas in senast fredagen den 6 november kl. 13.00
  • F5 Sammansatta datatyper, rekursion (PT1: Kap 3 (utom 3.1.8 och 3.2.3), 2.2.4; PT2: Kap 4, 3.2.4; BP: 4.2)
  • Ö3 PT1: Uppg 1.16, 2.4 (med vektor), 3.1, 3.2; PT2 Uppg 2.13, 3.4 (med vektor), 4.1, 4.3, 4.5
  • FX6 Indexerade variabler, Dynamiska strukturer
  • Dat3 Stålmannen (Slingor, funktioner och procedurer)

vecka 47

  • Hemtal 3 lämnas in senast fredagen den 13 november kl. 13.00
  • F7 Dynamiska strukturer (PT1: Kap 4.1, 7.1.2; PT2 Kap 5.1, 8.1.2)
  • Ö4 PT1: Uppg 4.18, proc till lab 5; PT2: Uppg 5.18, proc till lab 5
  • F8 Filer (PT1: Kap 5 dock ej 5.3.2; PT2: Kap 6 dock ej 6.3.2; BP: 3.4, 3.6)
  • Dat4 Bokstavsräkning (vektorer)

vecka 48

  • Hemtal 4 lämnas in senast fredagen den 20 november kl. 13.00
  • F9 Stora program, Grafiska användargränssnitt (PT1: Kap 7 dock ej 7.4; PT2: Kap 8 dock ej 8.4)
  • Ö5 PT1: 5.11 (med filer); PT2: 6.10 (med filer).
  • F10 Komplexitet, Sökning och sortering (PT1: Kap 8.1, 8.2.1, 8.3.1, 8.3.2, 3.1.6; PT2: Kap 9.1, 9.2.1, 9.3.1, 9.3.2, 4.1.5)
  • Dat5 Molekyler (länkade listor)

vecka 49

  • F11 Felhantering, Specskrivning, Talsystem, Datordelar (PT1: Kap 7.2.6, 7.3; PT2: Kap 8.2.6, 8.3; BP: 5)
  • Ö6 Datastrukturövningar, sökning och sortering.
  • F12 Andra programspråk, Matlab (PT1: Kap 7.4; PT2: Kap 8.4)
  • Dat6 Kryptering

vecka 50

  • F13 Förberedelser inför tentan
  • Ö7 Extentaräkning
  • Dat7 Uppsamling

vecka 51

  • Tentamen lördagen den 19 december kl. 14­17 i sal F11­15, 22­25, 31­34 och 41­45

vecka 3

  • Ö8 Specskrivningshjälp
  • Lab8 I-uppgiftshjälp
  • FR1
  • FR2
  • FR3

vecka 4

  • I-uppgiftshjälp Inlämning spec senast måndag kl. 18.00

vecka 5

  • I-uppgiftshjälp

vecka 6

  • I-uppgiftshjälp, Prototypredovisning

vecka 7

  • Redovisning av I-uppgifter

vecka 8

  • Redovisning av I-uppgifter

F = Föreläsning
Ö = Salsövning
Dat = Datorövning
FX = Extraföreläsning till stöd för nybörjare
FR = Repetitionsföreläsning för den som missade tentan
PT1 = Programmeringsteknik med Pascal, upplaga 1
PT2 = Programmeringsteknik med Pascal, upplaga 2
BP = En introduktion till Borland Pascal

Studiedisposition

Detta är en högskola och du förväntas själv ta ansvar för dina studier, men eftersom många är ovana att planera sina studietimmar följer här ett förslag till disposition av tiden:
Kursen är på 4 poäng vilket motsvarar 4*40 = 160 timmar. 42 timmar används till föreläsningar och övningar samt 3 timmar till tentamen. Återstår 115 timmar för självstudier och redovisningar fördelade på:

Laborationer

Labbkursens första del, LAB1, består av sex laborationer som görs i grupper om två personer. Det är tillåtet att jobba ensam, men vid redovisningstillfällen har tvåpersonersgrupper företräde.

I den första laborationen ingår en introduktion till det operativsystem och det redigeringsprogram som används i kursen. Efter första laborationen förväntas du klara dig själv i datorsalarna.

Endast gruppmedlemmar som är närvarande vid redovisningar kan godkännas. Enstaka labbar får inte sparas till annan kursomgång. Fullgörs inte alla sex labbarna i LAB1 fram till nästa kursstart måste du göra en helt ny labbkurs (detta beroende på att datorer och system byts ut och uppgraderas årligen och detta medför att labbar inte längre går att utföra).


I-uppgift

Labbkursens andra del, LAB3, är en större, individuell programmeringsuppgift. Regler för I-uppgiften finns i laborationshäftet. I-uppgiften redovisas under kursens sista veckor.
Redovisningen sker i tre steg:
Specifikation
Innan programmet skrivs ska en datorskriven specifikation (mall finns på kursbiblioteket) lämnas in till din övningsledare som kommenterar den, och ger den betyget godkänd/underkänd. Blir du underkänd måste en ny specifikation lämnas in. Syftet med specifikationen är att du ska tänka igenom problemet innan du försöker lösa det.
Prototyp
Två veckor efter det att specen lämnats in ska du redovisa en prototyp, dvs en körbar version av ditt program där endast vissa procedurer och funktioner (du föreslår själv vilka i specen) finns med och fungerar. Syftet med prototypen är att du ska komma igång med programmeringen.
Granskning
Innan det färdiga programmet kan godkännas ska det testas av en elev. Eleven får du välja själv, men för din egen skull bör det vara någon ovän, eller kritisk person. Vid testen ska testeleven kritiskt granska ditt program, testköra det och föra ett besiktningsprotokoll. Denna granskning är ett obligatoriskt moment. Varje kursdeltagare måste granska en uppgift. Syftet med granskningen är att du genom att kritiskt granska en annans program ska få en ökad förståelse för hur man ska (och inte ska) programmera.
Tips! Välj granskare först när du är klar att redovisa, och välj då någon som också är klar med sitt program, så att ni kan granska varandra. Om allt annat fallerar kan du vända dig till kursledaren för att utföra en särskild granskning.
Slutredovisning.
Du tilldelas en tid för slutredovisning. Specifikationen, besiktningsprotokollet och granskaren ska medföras till slutredovisningen.

I-uppgifterna är av olika svårighetsgrad. Högre svårighetsgrad ger fler betygspoäng (se Betyg nedan), men tar givetvis också längre tid att göra. Betygspoängen finns angiven på I-uppgiften. Efter kursens slut kan I-uppgifter endast redovisas i omtentaperioder. Eftersom datorsystemen byts eller uppgraderas årligen så bör du vara medveten om att tiden du har på dig att redovisa din I-uppgift är begränsad. Samtidigt som bonuspoängen försvinner så kan lydelsen till din I-uppgift behöva bytas ut. Du måste då ta kontakt med kursledaren. Vi reserverar oss för att byten av datorsystem kan medföra att vissa eller samtliga I-uppgifter inte går att utföra i framtiden. Du kan alltså bara vara säker på att det går att redovisa din I-uppgift fram till nästa kursstart.


Hemuppgifter

Under kursens gång har du möjlighet att göra ett antal hemuppgifter. Meningen med dessa är att uppmuntra till att läsa i förväg i kurslitteraturen. Den som lämnar in hemuppgifterna i tid kommer att få bonuspoäng. 50 % av hemuppgifterna ger 1p och 75 % ger 2p. Alternativt kan dessa poäng intjänas genom att klara tentamen vid det ordinarie tillfället. Hemuppgifterna ska lämnas in i förväg och den som har lämnat in ska vara beredd på att redovisa sitt lösningsförslag vid tavlan på kommande övning. Observera att talet inte behöver vara korrekt löst för att ge poäng, det räcker med ett ärligt försök.

Betyg

För att bli godkänd på kursen måste man klara av de tre momenten LAB1 (inledande labbar som tar ca 3-12 timmar var att göra), TEN2 (tentamen) och LAB3 (I-uppgiften) samt ha samlat ihop tillräckligt många betygspoäng. Slutbetyget i kursen ges av betygspoängsumman DIV 10. Betygspoäng ges för följande moment:
I-uppgiftens betygspoäng (17­52 poäng)
Bonuspoäng för att ha redovisat lab 1­6 i tid (max 6 poäng)
Bonuspoäng för att ha lämnat in specifikationen i tid (2 poäng)
Bonuspoäng för att ha redovisat prototypen i tid (2 poäng)
Bonuspoäng för att ha redovisat I-uppgiften i tid (4 poäng)
Bonuspoäng för att ha klarat tentan vid ordinarie tillfälle (2 poäng), alternativt kan dessa två poäng förtjänas genom att lämna in hemuppgifterna.
Betygsgränserna är följande under 1998­1999:
30­39 poäng ger betyg 3
40­49 poäng ger betyg 4
50 poäng eller mer ger betyg 5

Betyget ges alltså av I-uppgiftens poäng och de bonuspoäng som är giltiga när du redovisar I-uppgiften. Observera att samtliga bonuspoäng försvinner ett år efter kursstart, exakt datum anges på kvittensbladet för labbarna. Lydelser och betygsgränser hänger samman. Det är alltid innevarande års version som gäller, fram till nästa kursstart.

Hjälp och handledning

Hjälp finns att få (i prioritetsordning):
  1. Kurslitteraturen.
  2. Via datorn.
  3. Labgruppskamraten.
  4. Via datorbrev till övningsledaren.
  5. Av allmän handledare i Nadas datorsalar vardagar i läsveckor kl. 11­13, 17­20.
  6. Under redovisningstillfällena.

Hederskodex

Grundregeln är att det jobb du gör i kursen på labbar och tenta ska du göra själv, förutom att labbarna kan göras i tvåmannagrupper. Vid redovisning av labbar ska båda i gruppen kunna redogöra i detalj även för vad labbkompisen skrivit.

Ibland, speciellt när man skriver program, kan det vara nödvändigt att fråga någon annan (en kamrat eller en handledare) om hjälp med att hitta fel. Detta är tillåtet förutsatt att du uppfyller följande villkor.

Varje annan form av samarbete och utnyttjande av andras lösningar betraktas som ett brott mot hederskodexen och kan t ex resultera i att du förlorar alla bonuspoäng, får göra en ny uppgift och så kan ärendet lämnas till KTHs jurist som avgör eventuell avstängning.
För denna kurs gäller speciellt att det alltid är tillåtet att diskutera lösningar med andra, men inte att skriva av eller kopiera andras lösningar. För I-uppgiften gäller att alla delar ska lösas individuellt. Observera att alla lösningar till I-uppgifter lagras och att nya lösningar jämförs med de gamla för att motverka kopiering.

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, övningsledarna eller examinator Kerstin Frenckner kfrenck@nada.kth.se

Intressanta länkar


^ Upp till allmänna kurssidan.