Kursplanen innehåller ändringar
Se ändringarKursplan fastställd 2019-02-21 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnFunctional programming
- KurskodTDA452
- Omfattning7,5 Högskolepoäng
- ÄgareTKITE
- UtbildningsnivåGrundnivå
- HuvudområdeDatateknik, Informationsteknik
- InstitutionDATA- OCH INFORMATIONSTEKNIK
- BetygsskalaTH - Fem, Fyra, Tre, Underkänd
Kurstillfälle 1
- Undervisningsspråk Engelska
- Anmälningskod 52130
- Max antal deltagare120
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0111 Laboration 3 hp Betygsskala: UG | 3 hp | ||||||
0211 Tentamen 4,5 hp Betygsskala: TH | 4,5 hp |
|
I program
- MPALG - DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 1 (valbar)
- MPALG - DATAVETENSKAP - ALGORITMER, PROGRAMSPRÅK OCH LOGIK, MASTERPROGRAM, Årskurs 2 (valbar)
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 1 (valbar)
- MPCSN - DATORER, NÄTVERK OCH SYSTEM, MASTERPROGRAM, Årskurs 2 (valbar)
- TIDAL - DATATEKNIK, HÖGSKOLEINGENJÖR, Årskurs 3 (obligatoriskt valbar)
- TKITE - INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 2 (valbar)
- TKITE - INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
Examinator
- David Sands
- Proprefekt, Data- och informationsteknik
Ersätter
- TDA450 Functional programming
- TDA451 Functional programming
Behörighet
För kurser på grundnivå inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program där kursen ingår i programplanen.Kursspecifika förkunskaper
Kursen förutsätter tidigare programmeringserfarenhet och grundläggande kunskaper om datastrukturer och algoritmer. Kursen får inte inkluderas i en examen som innehåller (eller som är baserad på en annan examen som innehåller) antingen kursen TDA555 (Introduktion till funktionell programmering) eller kursen TDA451 (Functional programming).Syfte
Den här kursen introducerar ett funktionellt programmeringsspråk och relaterade koncept för studenter som redan har en del kunskap inom programmering. Det främsta målet är att göra det möjligt för studenterna att skriva realistiska (små till mellanstora) program, och att samtidigt introducera några grundläggande koncept inom datavetenskap.
Lärandemål (efter fullgjord kurs ska studenten kunna)
- skriva små till mellanstora funktionella program inom olika tillämpningar,- utnyttja olika programmeringstekniker som är vanliga inom funktionell programmering såsom: användandet av rekursion,
modellering med rekursiva datatyper, abstraktion och kodåteranvändning med hjälp av högre ordningens funktioner och monader,
- värdera styrkorna och möjliga svagheter inom det funktionella programmeringsparadigmet.
Innehåll
I den här kurser kommer studenten att lära sig om funktionell programmering genom programmeringsspråket Haskell. Exempel på ämnen som bemöts i kursen är:
- funktioner som första klassens värden
- datastrukturer (listor, tupler, användardefinierade datatyper)
- rekursion och rekursiva datatyper
- datastrukturer (listor, tupler, användardefinierade datatyper)
- rekursion och rekursiva datatyper
- polymorfi och typklasser
- rena funktioner vs input-output
- moduler och abstrakta datatyper
- rena funktioner vs input-output
- moduler och abstrakta datatyper
- testning av funktionella program
- lat evaluering och oändliga objekt
- monader
Organisation
Undervisningen består av föreläsningar och självstudieövningar, med möjlighet till hjälp online och vid utsatta kontorsbesökstider.
Litteratur
Se kursens webbsida.Examination inklusive obligatoriska moment
Skriftlig examination och obligatoriska labbar.Kursplanen innehåller ändringar
- Ändring gjord på kurstillfälle:
- 2019-04-08: Examinator Examinator ändrat från Thomas Hallgren (hallgren) till David Sands (dave) av Viceprefekt
[Kurstillfälle 1]
- 2019-04-08: Examinator Examinator ändrat från Thomas Hallgren (hallgren) till David Sands (dave) av Viceprefekt
- Ändring gjord på tentamen:
- 2020-03-31: Tentamensdatum Tentamensdatum ändrat från 2020-04-07 Eftermiddag till 2020-05-02 Förmiddag av Beslut Grulg
[2020-04-07 4,5 hp, 0211]
- 2020-03-31: Tentamensdatum Tentamensdatum ändrat från 2020-04-07 Eftermiddag till 2020-05-02 Förmiddag av Beslut Grulg