Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006

Relevanta dokument
Kursanalys DD1312 hösten 2008

Kursanalys. Douglas Wikström 15 juni Problemlösning och programmering under press (DD2458) Högskolepoäng (hp): 9 Kursen gavs: Period 1-2, 2008

Formulär för kursansvarig. Kursanalysen utförs under kursens gång. Nomenklatur: F föreläsning, Ö övning, R räknestuga, L laboration, S seminarium)

Formulär för kursansvarig. Kursanalysen utförs under kursens gång. Nomenklatur: F föreläsning, Ö övning, R räknestuga, L laboration, S seminarium)

Kursledare och övriga föreläsare och övningsassistenter. Antal undervisningstimmar uppdelat på föreläsningar, övningar och andra undervisningsformer

Imperativ programmering

Kursanalys DA2003 höst 2017

Audio-, video- och multimediaproduktion, 2D1518, 5 poäng. Kursledare och övriga föreläsare och övningsassistenter

Kursanalys DA2003 sommar 2017

Spektrala Transformer. Kursanalys

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Allmänna frågor om kursen: Kursutvärderare: IT-kansliet/Christina Waller. 1. Vad är ditt allmänna omdöme om kursen? Antal svar: 30 Medelvärde: 3.

GRUNDKURS I C-PROGRAMMERING

ANVÄNDARCENTRERAD SYSTEMDESIGN Period 42, 2003 IT4

Formulär för kursansvarig. Kursanalysen utförs under kursens gång. Nomenklatur: F föreläsning, Ö övning, R räknestuga, L laboration, S seminarium)

Kursledaren: Serguei Shimorin. Övningsledarna: Daniel Zavala Svensson, Shiva Samieinia, Nils Dalarsson.

FK Numeriska metoder

Kursanalys DD100N hösten 2018

DD1361 Programmeringsparadigm Föreläsning 1: Intro

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

Kursanalys, Fakulteten för teknik- och naturvetenskap

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Nada Tentamensdag 2004 okt 18 Tentamen Programmeringsparadigm Skrivtid 5 h

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.

Kortfattad sammanfattning av studenternas synpunkter och förslag

Programmering, grundkurs

Denna analys bifogas kursutvärderingsrapporten inklusive (eventuellt redigerade) fritextsvar.

EDAA01 Programmeringsteknik - fördjupningskurs

Spektrala Transformer. Kursanalys

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Objektorienterad programmering

729G06 Föreläsning 1 Objektorienterad programmering

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04

Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare.

Start v. Programspråk. Poäng. 03 Institution Institutionen för datavetenskap 7.5. Antal registrerade (män/kvinnor) 59 (54/5)

Sammanställning av Kursvärdering Material och Design (CBGB04) Hållfasthetslära Lärare: Nils Hallbäck

Evaluation Summary - CD5570 DoA, distans VT 2004 Dan Levin

SF1513 (tidigare DN1212) Numeriska metoder och grundläggande programmering. för Bio3, 9 hp (högskolepoäng)

Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.

RAPPORT FÖR UTVÄRDERING AV AVSLUTAD KURS/DELKURS

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

Föreläsning 1 i Programmeringsparadigm

Objektorienterad Programmering (TDDC77)

DD1361 Programmeringsparadigm HT15

FYTA12 VT11 halvtid, kursutvärdering

1DV432 ST14. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

Introduktion till kursen och MATLAB

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

1. () Vad tycker Du om kursen som helhet?

2D1592 Bearbetning av rörliga bilder 6p Kursutvärdering

1. Hur många timmar per vecka har du i genomsnitt lagt ner på kursen (inklusive schemalagd tid)?

Evaluation Summary - CDT104 Grundläggande Webbdesign HT07 Dan Levin

Kursvärdering Analys 2

Elnät HT av :38. Kursutvärdering. Lägg till ett block

Introduktion till programmering. Programspråk och paradigmer

Kursutvärdering av Naturläkemedel och kosttillskott, 4 poäng, vt 2007

Del : Paradigmer allmänt.

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

MYCKET BRA (14/48) BRA (30/48) GANSKA BRA (3/48) INTE BRA (1/48)

Arbetsrapport CEQ, ETS170

TDDD73-funktionell och imperativ programmering i python

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

1. Flervalsfråga Andel

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Föreläsning [ ] i programmeringsparadigm. Om multiparadigm-språket OZ och en tjock bok.

Objektorienterad programmering och Java

TDP001/TDP002. Introduktionsföreläsning. Eric Elfving Institutionen för Datavetenskap (IDA)

Kursutvärdering GK1 struktur 7.5hp Ht16

TDIU01 (725G67) - Programmering i C++, grundkurs

Sammanfattning av kursutvärdering Design av informationssystem, moment 1, Programmeringens grunder, 7,5 hp, ht 2016

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Sammanställning kursvärdering

Hur tycker du kursen har varit? Tycker du att kursens upplägg har underlättat för dig att uppnå lärandemålen?

Föreläsning 16: Tentan, att förbereda sig

Program & programmering

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Kursanalys för Människa-Datorinteraktion, 2D poäng

1. Hur många timmar per vecka har du i genomsnitt lagt ner på kursen (inklusive schemalagd tid)?

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

TDDB68 - Processprogrammering och operativsystem

Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13

SKOLFS. beslutade den -- maj 2015.

TEII42 - Teknisk kommunikation på japanska II - del 2

1. Hur många timmar per vecka har du i genomsnitt lagt ner på kursen (inklusive schemalagd tid)?

Hur bedömer du som helhet det bemötande du fått som student under kursens gång? ( ), där 1 anger lägsta betyg och 5 anger högsta betyg)

Mall, Kursanalys, Fakulteten för teknik- och naturvetenskap

Kursvärdering Forskningsmetodik för logopedi

1. Hur många timmar per vecka har du i genomsnitt lagt ner på kursen (inklusive schemalagd tid)?

Deklarativt programmeringsparadigm

Prima G. Antal besvarade kursvärderingsenkäter 56% 27 (av 48) Kursens namn Introduktion till IT-design. Hp 7.5. Kurskod ISGA90

Studienämnden Data

Utvärdering av laboration i genteknik. för kemiingenjörer, VT 2002

Poäng 7.5. Försök se till att rätta uppgfter snabbare (men det är inte så lätt) Försök göra fler kodexempel och fler filmer.

Introduktionsmöte Innehåll

Studienämnden Data

Transkript:

Leif Kusoffsky 2005 - dec - 07 Nada KTH Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Kursdata Momentindelning Kursen genomförd Kursledare Kurslitteratur Antal studenter Lab1 G/U (2p), tenta 3/4/5 (3p) Period 1 2005/2006. Delar även under läsperiod 2. Föreläsningar 28 h Leif Kusoffsky Funktionell programmering: Graham Hutton: Utdrag ur Programming in Haskell Logikprogrammering: Paul Brna : Prolog Allmänt, syntaxanalys : Kompletterande eget material. 112 stycken som redovisat åtminstone någon av labb av 8 "riktiga" labbar. Gjort moment LAB1 lab 1-9 2005-dec-07 83 74% Gjort moment TEN2 05-dec-07 74 % (klarat tentan 83, 83/112 = 82 %, av dem som tentat 83/94 = 88%) Prestationsgrad 05-dec-07 (83*3+83*2) / (112*5) = 0.74 Examinationsgrad 05-dec-07 74 / 112 = 0.66

Mål Kursens mål är att en systematisk genomgång av de viktigaste programmeringsparadigmen, en systematisk genomgångav grundläggande programmeringsbegrepp och centrala programspråkselement, för att studenterna ska få ett bredare perspektiv på programmering, kunna bedöma vilket paradigm och vilket programspråk som är lämpligt för att lösa en viss uppgift, kunna använda adekvat programmeringsstil i valt programmeringsparadigm. Sammanfattning Kursen gavs fjärde gången, men utökad från 4 p till 5p med ny beteckning 2D1361. Kursen har som förut till stor del (motsvarande ca 3p av 5p)behandlat två för teknologerna nya paradigm: Funktionell programmering med ett modernt hårt typat funktionellt programmeringsspråk : Haskell Logikprogrammering i Prolog Syntaxanlysavsnittet (~1p av 5p) behandlar syntaxanlys med semantiska åtgärder med hjälp av rekursiv medgång i tre paradigmer; samma ide programmerad med ett domäns-specifikt-språk byggt i Haskell, med DCG (Prolog) och imperativt både i Java och med IO-monaden i Haskell. Som läroböcker har vi använt (av mig med tillstånd kopierat) material från nätet, och teknologerna verkar i regel tycka att dessa här på KTH tryckta böcker varit något så när, men de skrivna kommentarerna är kritiska. Jag tycker förstås att häfterna har sin brister jämför med "riktiga" böcker, men för de ca 2-3 veckor vi studerat varje paradigm har de dugt. Böckerna har varit billiga. På kursens startsida har "riktiga" böcker rekomennderats för intresserade. I Haskell har utdrag ur en ny, med författarens tillmötesgående kopierad, bok används. Jag tror som förut att studenterna efter denna kurs kan det väsentliga i funktionell programmering, dvs funktioner som värden och högre ordningens funktioner och även kan finesser som mönsterpassning, typklasser och typsystem för funktionella språk och kan diskutera skillnader mellan strikt och lat evaluering. Min förhoppning är att teknologerna därför vet att programmering kan vara något annat än att instruera en datorn med "satser", men även att de blivit bättre konventionella programmerare.

Prologdelen av kursen har gett kunskaper om grunderna för logikprogrammering : Fakta, regler, frågor, logisk och procedurell läsning (Byrd box-modell) av prolog-skript, unifiering och logiska variabler, backtracking, snitt ("cut),!) mm. Mer avancerad Prologprogrammering (assert, set_of mm) har bara nämts i förbigående. Många teknologer blir ganska roade av logikprogrammering. Skillnaden logikprogrammering- imperativ programmering upplevs som större än skillnaden funktionell programmering - imperativ programmering. Många av teknologerna som fått betyg 5 kan dock rätt mycket, många av dem hade säkert klarat en större och svårare kurs. De skrivna kommentarerna i kursenkäten är ofta negativa. Jag får mer kritik för föreläsningarna än tidigare år och för det jag skrivit. Kursen har en betoning på funktionell programmering, som kursledaren tycker är en paradigm som borde få större betydelse i framtiden och som även kan inspirera programmerare i den imperativ programmeringen och i OO-paradigmen. Min utgångspunkt har varit att funktionell programmering är en generellt användbar paradigm som kan användas för många olika programmeringsuppgifter. Den stora laborationsuppgiften i funktionell programmering, ett grafiskt schackspel, är vald och konstruerad för att visa detta. Jag har delvis inspirerats av Paul Hudak bok "The Haskell School of Expression, Learning Funktional Programming through Multimedia." En del kommentarer delar inte denna syn, och tycker att kursen skall göras om till nästa år. Jag har alltså inte övertygat dem om den fuktionella paradigmens förtjänster i den delen av kursen som omfattar 1.8p. Det var lättare i Luleå där vi 6-8p av utbildning omfattade funktionell programmering. Även på Chalmers spelar funktionell programmering stor roll i kurserna. Om kursen görs om till nästa år är säkert någon annan än jag lämpligare att göra detta och att hålla kursen. Examination 9 laborationer och tentan (som ger betyget) är examinationen. Kursenkät ~ 67 personer har svarat på enkäten på nätet. Kommentarerna innehåller både mycket ris och en del ros. Resultat av kursutvärdering: 27 frågor om Programmeringsparadigmer lp1 väntar på svar och en eller annan kommentar. 1. Upplever du kursen som lätt eller svår? 1. 4% (3 st) Mycket lätt. 2. 10% (7 st) Lätt. 3. 54% (36 st) Medel. 4. 27% (18 st) Ganska svår. 5. 4% (3 st) Mycket svår.

2. Fick du i början av kursen klart för dig vad kursens mål var? 1. 55% (37 st) Ja. 2. 27% (18 st) Tveksam. 3. 18% (12st) Nej. 3. Tycker du att kursen är intressant och meningsfull? 1. 16% (11 st) Ja, mycket. 2. 49% (33 st) Ja. 3. 13% (9 st) Neutral. 4. 15% (10 st) Inte särskilt. 5. 6% (4 st) Nej. 4. Tycker du att dina förkunskaper var tillräckliga när kursen startade? 1. 79% (53 st) Ja. 2. 16% (11 st) Tveksam. 3. 4% (3 st) Nej. 5. Vad tycker du om ur kursboken Hutton: Programming in Haskell 1. 3% (2 st) Mycket bra. 2. 16% (11 st) Bra. 3. 36% (24 st) Hyfsad. 4. 12% (8 st) Mindre bra. 5. 10% (7 st) Dålig. 6. 22% (15 st) Har inte använt den. 6. Vad tycker du om utdraget, längst bak i Hutton-häftet, ur Hudak et al : A gentle Introduktion to Haskell 98 1. 1% (1 st) Mycket bra. 2. 12% (8 st) Bra. 3. 13% (9 st) Hyfsad. 4. 9% (6 st) Mindre bra. 5. 0% (0 st) Dålig. 6. 64% (43 st) Har inte använt det. 7. Vad tycker du om kursboken Brna: Prolog Programming 1. 0% (0 st) Mycket bra. 2. 21% (14 st) Bra. 3. 37% (25 st) Hyfsat. 4. 12% (8 st) Mindre bra. 5. 13% (9 st) Dåligt. 6. 16% (11 st) Har inte använt den.

8. Vad tycker du om kurshäftet Kusoffsky: Lite grann om syntax, semantik och syntaxanalys 1. 3% (2 st) Mycket bra. 2. 28% (19 st) Bra. 3. 34% (23 st) Hyfsat. 4. 10% (7 st) Mindre bra. 5. 9% (6 st) Dåligt. 6. 15% (10 st) Har inte använt den. 9. Vad tycker du om föreläsningsanteckningarna 1. 15% (10 st) Mycket bra. 2. 25% (17 st) Bra. 3. 31% (21 st) Hyfsad. 4. 12% (8 st) Mindre bra. 5. 4% (3 st) Dålig. 6. 12% (8 st) Har inte använt dem. 10. Hur stor del av föreläsningarna har du varit på? 1. 13% (9 st) Mindre än 20%. 2. 15% (10 st) 20-40%. 3. 12% (8 st) 40-60%. 4. 16% (11 st) 60-80%. 5. 43% (29 st) Mer än 80%. 11. Vad tycker du om föreläsningarna pedagogiskt sett? (Förklaras stoffet bra? Talar och skriver läraren tydligt? Används stordia i lagom omfattning?) 1. 3% (2 st) Mycket bra. 2. 28% (19 st) Bra. 3. 27% (18 st) Acceptabelt. 4. 16% (11 st) Mindre bra. 5. 15% (10 st) Dåligt. 6. 6% (4 st) Har inte deltagit. 12. Förbereder du dig till föreläsningarna (läser igenom relevanta avsnitt i boken/kompendiet etc)? 1. 1% (1 st) Ja, alltid. 2. 3% (2 st) Ofta. 3. 25% (17 st) Ibland. 4. 25% (17 st) Sällan. 5. 42% (28 st) Aldrig.

13. Får du den hjälp du behöver på datorövningarna (är handledarna kunniga, lättillgängliga, vänliga)? 1. 42% (28 st) Javisst. 2. 43% (29 st) Javars. 3. 15% (10 st) Acceptabelt. 4. 0% (0 st) Sällan. 5. 0% (0 st) Aldrig. 14. Hur mycket tid ägnade du åt laboration 1 Introduktion till Haskell? 1. 73% (49 st) Mindre än 2 tim. 2. 16% (11 st) 2-4 tim. 3. 6% (4 st) 4-6 tim. 4. 3% (2 st) Mer än 6 tim. 15. Hur mycket tid ägnade du åt laboration 2 Ett program för schack: 1. 7% (5 st) Mindre än 6 tim. 2. 13% (9 st) 6-8 tim. 3. 24% (16 st) 8-10 tim. 4. 55% (37 st) Mer än 10 tim. 16. Bedöm hur lång tid du lägger ner på laboration 3 Komma igång med Prolog, släktrelationer: 1. 76% (51 st) Mindre än 2 tim. 2. 13% (9 st) 2-4 tim. 3. 9% (6 st) 4-6 tim. 4. 0% (0 st) Mer än 6 tim. 17. Bedöm hur lång tid du lägger ner på laboration 4 Listprogram, pargenerering : 1. 36% (24 st) Mindre än 2 tim. 2. 42% (28 st) 2-4 tim. 3. 18% (12 st) 4-6 tim. 4. 3% (2 st) Mer än 6 tim. 18. Bedöm hur lång tid du lägger ner på laboration 5 Tidernas knepigaste problem 1. 24% (16 st) Mindre än 2 tim. 2. 45% (30 st) 2-4 tim. 3. 18% (12 st) 4-6 tim. 4. 12% (8 st) Mer än 6 tim.

19. Bedöm hur lång tid du lägger ner på laboration 6 Stabila äktenskap 1. 31% (21 st) Mindre än 2 tim. 2. 30% (20 st) 2-4 tim. 3. 22% (15 st) 4-6 tim. 4. 15% (10 st) Mer än 6 tim. 20. Bedöm hur lång tid du lägger ner på laboration 7 Danska räkneord 1. 45% (30 st) Mindre än 2 tim. 2. 33% (22 st) 2-4 tim. 3. 15% (10 st) 4-6 tim. 4. 4% (3 st) Mer än 6 tim. 21. Bedöm hur lång tid du lägger ner på laboration 8 C-programmering 1. 33% (22 st) Mindre än 2 tim. 2. 40% (27 st) 2-4 tim. 3. 19% (13 st) 4-6 tim. 4. 4% (3 st) Mer än 6 tim. 22. Var någon/några av laborationerna mer givande än de övriga? (Du kan kryssa för flera alte rnativ.) 1. 12% (8 st) Laboration 1 2. 40% (27 st) Laboration 2 3. 15% (10 st) Laboration 3 4. 24% (16 st) Laboration 4 5. 40% (27 st) Laboration 5 6. 39% (26 st) Laboration 6 7. 27% (18 st) Laboration 7 8. 33% (22 st) Laboration 8 23. Hur tycker du att tentan speglade kursinnehållet? 1. 22% (15 st) Mycket bra. 2. 43% (29 st) Bra. 3. 19% (13 st) Hyfsat. 4. 10% (7 st) Mindre bra. 5. 3% (2 st) Dåligt. 6. 1% (1 st) Tentade inte.

24. Hur många andra kurser har du läst parallellt med den här kursen (i period 1)? 1. 3% (2 st) En. 2. 57% (38 st) Två. 3. 36% (24 st) Tre. 4. 4% (3 st) Fyra eller fler. 25. Hur stor del av din totala studietid under period 1 har du ägnat åt den här kursen? 1. 7% (5 st) Mindre än 15%. 2. 48% (32 st) 15-30%. 3. 37% (25 st) 30-50%. 4. 7% (5 st) 50-70%. 5. 0% (0 st) Mer än 70%. Denna sammanställning har genererats med ACE.