Programmeringsteknik

2D1310 Programmeringsteknik

Sista omgången av denna kurs gavs våren 1995

Introduktion

Kursen, som ges av Instutitionen för Numerisk Analys och Datalogi, NADA, behandlar grundläggande programmeringsteknik och datorbegrepp samt orientering om moderna matematikprogram för numeriska beräkningar och formel-manipulation. Kursen består av tre obligatoriska delar: Laborationer, I-uppgift och Tentamen.

Senaste nytt

Denna kurs har utgått och ersatts med en liknande kurs, se kursomgångar.

Följande information kan du hitta nedan:

Specifik information för olika linjer:

Övrigt:

Mål

Eleverna ska lära sig att arbeta självständigt vid en dator. Eleverna ska efter kursen veta hur ett bra program ser ut och hur det konstrueras. Eleverna kommer inte att bli fullfjädrade programmerare utan endast ges en introduktion till datalogi för vidare studier. Kursen syftar till att ge en viss färdighet i programmering, kännedom om grundläggande datorbegrepp och färdigheter i ett programmeringsspråk. En orientering ges om några andra programspråk. Kursen ska ge en uppfattning om vad man kan göra med färdiga program och insikt om att man använder programmeringsspråk även om man inte programmerar!

Förkunskaper

Det förutsätts att eleverna känner till begrepp som operativsystem, filer och redigeringsprogram. Elever som inte gör det uppmanas att omedelbart läsa igenom kapitel 6 i kursboken upprepade gånger och ägna extra mycket tid åt kursen i början.

Schema 1994

Varje vecka hålls en föreläsning, en salsövning och ett redovisningstillfälle. För elever som missar att redovisa på ordinarie redovisning hålls det en extra redovisning på måndagkvällar. Observera att vid det ordinarie redovisningstillfället tas endast redovisningar av den laboration som är ordinarie för det tillfället emot. Extra redovisningar är till för redovisning av alla labbar, men inte I-uppgifter.

Studiedisposition

Detta är en högskola och eleverna förväntas läsa in kurserna på egen hand, men eftersom många elever är ovana att själva ta ansvar för sina studier följer här ett förslag till disposition av tiden: Kursen är på 4 poäng vilket motsvarar 4*40 = 160 timmar. 56 timmar används till föreläsningar, övningar och redovisningar samt 5 timmar till tentamen. Återstår 99 timmar för självstudier fördelade på:

Laborationer

Labbkursen består av sju laborationer som görs i grupper om två personer. Användarnamn till datorerna (konton) delas ut under första salsövningen. Första redovisningstillfället används för att ge en introduktion till det operativsystem och det redigeringsprogram som används i kursen och ger ingen bonuspoäng. Efter den första laborationen förväntas eleverna att klara sig själva i terminalsalarna. 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 sju labbarna måste samtliga göras om. Elever som vill jobba ensamma får det, men vid redovisningstillfällen har tvåpersonersgrupper företräde.

I-uppgift

I-uppgiften redovisas under kursens sista veckor. Redovisningen sker i tre steg: Anmälan till slutredovisninggörs under kursens gång via kommandot bok new <kursnamn>. Där <kursnamn> är prg<linje><år för kursen>. Exempelvis för Maskins kurs 1994 blir kommandot bok new prgm94. Observera att bok endast kan utföras från vissa datorer. Vilka det är framgår av meddelandet som kommer om du sitter på fel dator. Använd i så fall rlogin för att temporärt använda någon annan dator. Efter kursens slut finns det ytterligare tre redovisningstillfällen, andra måndagen i varje period. Regler för I-uppgiften finns i laborationshäftet.

Syftet med specifikationen är att eleverna ska tänka igenom problemet innan dom försöker lösa det. Syftet med granskningen är att genom att kritiskt granska en annans program få en ökad förståelse för hur man ska (och inte ska) programmera.

I-uppgifterna är graderade 1-5 i svårighetsgrad (uppgifter med svårighetsgrad 1-2 används inte på denna kurs). Graderingen är utförd av tidigare elever. Högre svårighetsgrad innebär förstås samtidigt att man lär sig mer.

Bonuspoäng

Ett bonussystem tillämpas för att uppmuntra eleverna att ligga i fas med undervisningen. För labb 2-7 erhålles 0,5 p per labb som redovisas på rätt labbtillfälle (eller på nästföljande måndagsredovisning, dock max tre redovisningar på måndagar ger bonus). För I-uppgiften erhålles 2p om lösningen godkänns före ordinarie tentamen. Summan av dessa poäng adderas till den på tentamen uppnådda poängsumman. Detta gäller ett kalenderår räknat från kursstart. För att få tillgodoräkna sig bonuspoängen måste man själv begära det vid tentan genom att skriva antalet poäng på tentaomslaget. Bonuspoäng kan endast fås det året som labbresultatet på någon av delarna rapporteras. När du är inloggaad kan du se vilka labbar du är godkänd på genom att ge kommandot: res show <kursnamn> Där <kursnamn> är prg<linje><år för kursen>. Exempelvis för Maskins kurs 1994 blir kommandot res show prgm94.

Redovisning av labbar

Vid redovisning av labbar ska de som redovisar kunna redogöra i detalj för programmen (om inte annat anges i lablydelsen). Kopiering av lösningar är inte tillåten, liksom försök till redovisning av labbar man inte har förstått och kan leda till förlust av bonuspoängen. Elever som saknar första sidan i labbhäftet får inget kvitto på utförd labb. Saknas första sidan under en måndagsredovisning rapporteras labben som sen.

Kontots varaktighet

Det konto som du får till NADAs datorer har tidsbegränsad giltighet. Ge kommandot: grep ^<ditt kontonamn> /etc/passwd så ser du två datum. Sista datum är städdatum. Kontakta kursledaren i god tid om du behöver få det förlängt. Exempel: grep ^prgl-001 /etc/passwd ger utskriften prgl-001:*:23304:30:Anonymous student account,PRGL,,,,931116,balter,950830,:/home/prgl-byse/prgl-001:/bin/tcsh Vilket betyder att kontot prgl-001 kommer att städas 950830.

NADAs terminalsalar

Eleverna har tillträde till terminalsalarna dygnet runt, men terminalsalarna är dagtid ofta bokade för andra kurser. Ge kommandot help tider så får du reda på när det är bokat. I början på terminen finns det en kod (help port) till dörrarna, senare kommer kårlegitimationen att användas.

Sektionens egna terminalsalar

Många sektioner har egna labbsalar som handhas av någon på sektionen. Eventuella problem som uppstår vid användningen av dessa salar hänvisas till den ansvarige på den sektionen. NADA har inget ansvar för program i dessa salar. För ytterligare information se K, L, T och V.

Kurslitteratur

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

Kursbok: Bälter: Programmeringsteknik med Pascal, ca 215:- på THS bokhandel, 292 sidor. Täcker denna kurs och lite till. Läsanvisning inför tentan finns. Ur "Kompendium i datorkunskap" (se nedan) kan frågor komma på avsnitt 2.2 och 3.1. (För den som föredrar engelsk litteratur kan Cooper's Condensed Pascal användas istället. En trevlig amerikansk bok på 644 sidor för 275:-. Saknar lösningar till övningarna.)

Kursbunt innehållandes:

Kursbunt kan köpas på NADA:s expedition som har öppet må-fre 9.30-11.15, må-to 12.30-14.15 i läsveckorna. Papper som delas ut under kursens gång finns också på expeditionen.

Köra hemma

Information om KTH:s modempool. Vill du veta hur du ska bete dig för att koppla upp dig med modem mot NADA's datorer hemifrån ska du när du är inloggad ge kommandot: telnet kthnet.kth.se och trycka på retur några gånger. När kthnet svarar ger du kommandot info. Till PC finns det en gratis Turbo-pascalkompilator på servern PROGBIB_KTH_SE. Osqdata säljer en Think-pascal kompilator för ca 1220:- inklusive manualer.

Hjälp

Hjälp finns att få (i prioritetsordning):
  1. Kurslitteraturen.
  2. Via datorn (man-blad och apropos för Unix och Emacs).
  3. Labgruppskamraten.
  4. Via datorbrev till övningsledaren.
  5. Av allmän handledare i terminalsalarna vardagar i läsveckor 11-13, 17-20.
  6. Under redovisningstillfällena.

Tentamen

Se kursomgångar för information om kommande tentatillfällen.

Tentamen består av en basdel om 16 poäng och en tillämpningdel om 34 poäng. För godkänt krävs minst 25 poäng (inklusive maximala 5.5 poäng labbonus) samt ett rätt svar på varje fråga på basdelen. Basdelen innehåller fyra frågor inom följande områden: Parametrar, Pekare, Funktions/Proceduranrop, Filer, Poster, Vektorer/Matriser. Varje basfråga består av en a och en b-del, där a eller b-delen måste besvaras rätt. Avsikten är att eleverna ska behärska hela kursen för att kunna bli godkända, det räcker inte med att kunna hälften väl. Elever som har minst 30 poäng, men misslyckas med en basdelsfråga, kan i vissa fall bli godkända efter komplettering. Kompletteringsuppgiften läggs i så fall in i den rättade tentan som kan avhämtas på NADAs expedition och ska redovisas senast tre veckor efter att tentamensresultatet har anslagits. Klagomål på rättning av tentamen lämnas in skriftligen till kursansvarige inom tre veckor från det att tentamensresultatet anslagits.

Synpunkter på kursen

Eftersom denna kurs kommer att ges för många elever under flera års tid är vi tacksamma för synpunkter på kursen. En datorstödd kursutvärdering kommer att göras. Synpunkter kan lämnas till övningsledarna och examinator Kerstin Frenckner, kfrenck@nada.kth.se.