2D1350, Programmeringsparadigm, 4 poäng

Läsperiod 1 (ca 3.2 p) och läsperiod 2 (ca 0.8 p) hösten 2004


Omtenta fredag 2005 augusti 26 klockan 12.00

Kom till mitt rum 1514 plan 5 Osquars Baque 2.

Leif K.

Kursen är fr o m hösten 2005 på 5 p och

har beteckningen 2D1361.


Kursenkät för läsperiod 1 & kursanalys.

Kursanalys (pdf) (ps)

Tryck här för att hämta kursenkäten:

Om du vill ha bonus för steg 9 i schacklabben så skall den redovisas före tentan. Kolla med res show progp04 att labbarna stämmer.

Kursen fortsätter i läsperiod 2

med tre föreläsningar och labbar
om C-programmering (Alexander Baltatzis lärare)
om internet-programmering (Björn Eiderbäck lärare )

Hederskodex mm

Hederskodex för nada-kurser

Studiehandbokstexten på svenska och engelska .

Lärare: Leif Kusoffsky lky@nada.kth.se

Kursbunt (med kursboken i kursdelen logikprogrammering) : Finns till försäljning på Nadas studieexpedition.

Alternativa böcker för kursdelen om funktionell programmering :

Övrigt tryckt material (för särskilt intresserade) : Extra material som jag kan trycka upp om intresse finns.

Laborationer : (I kursbunten):

Tentamina :

Skriftlig efter läsperiod 1.

Tillåtna hjälpmedel:

Fokker : Functional programming eller M.M.T.Chakravarty, eller G. C. Keller : An Introduction to Computing

Brna : Prolog Programming

Tentamen 2002 oktober med preliminära svar : (pdf) (ps)

Tentamen 2003 januari med preliminära svar : (pdf) (ps)

Tentamen 2003 augusti med preliminära svar : (pdf) (ps)

Tentamen 2003 oktober med preliminära svar : (pdf)

Tentamen 2004 januari med preliminära svar : (pdf) (ps)

Tentamen 2004 augusti med preliminära svar :(pdf) (ps)

Tentamen 2004 oktober med preliminära svar : (pdf) (ps)

Tentamen 2005 januari med preliminära svar : (pdf) (ps)

Slutbetyg grundat på tentamen. Betygsgänser för betyg 4 och 5

påverkas av om man gjort hela schacklabben.

Kursdelarna i läsperiod 2 examineras preliminärt med labbarna.

Föresläsningar:

Sept01 onsdag : Introduktion till kursen. Paradigm allmänt, imperativ och OOoch funktionell-programmering.(pdf) (ps)

Sept 02 torsdag : Mer funktionell programmering och elementär Haskell.Inför första labben.(pdf) (ps)

Sept 08 onsdag : Abstrakta Data Typer, mm. Introduktion till schacklabben. (pdf) (ps)

Sept 09 torsdag: Högre ordningens funktioner, listomfattning, lamda-notation. (pdf) (ps)

Sept 15 onsdag Haskelltips. IO i Haskell. Schacklabben 3 <= steg <= 9. (pdf) (ps)

Sept 16 torsdag Fler HOF : until, foldr foldl. Övningar, tentauppgifter aug 2002 (se ovan). pdf (ps)

Sept 22 onsdag : Typklasser. Avslutande om Funktionell programmering. Oz. (pdf) (ps)

Sept 23 torsdag : Introduktion till logikprogrammering.(pdf) (ps)

Sept 29 onsdag : Mer Prolog. Unifiering. Delvis material från sept 23. (pdf) (ps)

Sept 30 torsdag : Mer Prolog.Byrd-Box från Sept 29. append , multi-use.(pdf) (ps)

Okt 06 onsdag 13: Delvis material från sept 30. not, snitt mm. Exempel. Avslutande om prolog.(pdf) (ps)

Okt 07 torsdag 10 E1 : Ev avslutande om prolog. Inför tentan. Repetition av kursen.

Färdiga program: Många av kursledarens program från föreläsningarna kommer att finnas på /info/progp03/ eller

på /info/progp02/

Haskell på nätet: Startsida för material om Haskell på nätet och emacs för Haskell. I schack-labben använder vi ett

grafikpaket SOEGraphics (från boken Paul Hudak: The Haskell School of Expression),som tyvärr är inkompatibelt med sista versionen av hugs. Med hjälp av nedastående kommentar hoppas att den som vill köra på andra datorer än skolans kan få det att fungera.

Note: The SOEGraphics library is slightly incompatible with the latest release of Hugs, so I am currently recommending the use of the previous release of Hugs until we can straighten things out. You can download SOEGraphics (and other SOE code) and the previous release of Hugs from here:

http://cvs.haskell.org/Hugs/pages/downloading-Nov2002.htm

(Detta är en "previous release", jag (lky) fattade inte det förut. Gissar att man också måste ladda

The School of Expression example code.

Includes the Graphics library, so in addition to this, you only need to have Hugs installed to use it.

för att få tillgång till SOEGraphics, som vi använder i schacklabben. Lycka till)

Sorry for the inconvenience,

Paul Hudak February, 2004

Senaste versionen av hugs finns här : downlodading hugs and SOE (graphics). Interpretern hugs . Kompilator och interpreter ghc . Haskellsystem med Tcl/Tk htk .

Sictus Prolog på nätet: Startsida för Sictus prolog Härifrån kan du bland annat komma åt manualen för sictus-systemet och användbara länkar för Prolog i allmänhet. Krånglar Netscape, använd Mozilla.

Böcker/artiklar om funktionell programmering (OBS, ej obligatorisk kurslitteratur, för extra intresserade):

Böcker om logik programmering (OBS, ej obligatorisk kurslitteratur, för extra intresserade) :

Böcker om paradigmer (OBS, ej obligatorisk kurslitteratur, för extra intresserade) :


Läsperiod 2


Det imperativa paradigmet: programmering i C

Föreläsningar

Det ges två föreläsningar som introduktion till språket C. Inga föreläsningsanteckningar läggs upp på nätet, vill ni läsa på egen hand så täcker C-häftet allt material.

Litteratur

Det finns ett C-häfte att köpa i expeditionen som täcker denna del av kursen. En klassisk välskriven bok är "The C Programming Language" av Brian W. Kernighan, Dennis Ritchie. Denna bok fanns i svensk översättning på bokrean för ett tag sedan.

Att jobba hemma

Linuxanvändare har redan det material de behöver. PC-användare kan installera cygwin som även finns på KTH-CD.

Examination

Denna del av kursen redovisas med en laboration som ska redovisas för handledare i labsal. Programmet är ett enkelt terminalbaserat menysystem som ett typiskt exempel på imperativ programmering.

C-programmet innehåller minneshantering och pekarhantering. Förutom C-programmeringen krävs att man till viss del sätter sig in i preprocessorn och byggandet (make) samt att man kan läsa man-sidor.

En del elever kan behöva skriva module add gcc för att få tillgång till C-kompilatorn.

Laboration

Här är labben

Redovisa labben i tid!