Kursplan för Introduktion till funktionell programmering

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnIntroduction to functional programming
  • KurskodTDA555
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKDAT
  • UtbildningsnivåGrundnivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 49131
  • Sökbar för utbytesstudenterNej
  • Endast studenter med kurstillfället i programplan.

Poängfördelning

0104 Laboration 3 hp
Betygsskala: UG
3 hp0 hp0 hp0 hp0 hp0 hp
0204 Tentamen 4,5 hp
Betygsskala: TH
4,5 hp0 hp0 hp0 hp0 hp0 hp
  • 30 Okt 2019 em L
  • 07 Jan 2020 em SB_MU
  • 18 Aug 2020 fm J

I program

Examinator

  • Thomas Hallgren
Gå till kurshemsidan (Öppnas i ny flik)

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.

Syfte

Detta är en introduktionskurs i programmering som använder det funktionella programmeringsspråket Haskell. Det primära syftet är att lära ut grundläggande datavetenskapliga begrepp, samtidigt som studenterna lär sig skriva realistiska (små) program. Sekundära mål är att ge en grund för kommande kurser (specifikt datastrukturer, algoritmer, digitala kretsar, formella metoder och kurser i programspråk), samt att ge en inblick i karriärsmöjligheter inom data genom inbjudna talare.

Lärandemål (efter fullgjord kurs ska studenten kunna)

  • beskriva grundläggande begrepp inom modern funktionell programmering, såsom: datatyper, funktioner inklusive högre ordningens funktioner, lat evaluering, oändliga datastrukturer
  • beskriva en grundläggande uppsättning av programmeringstekniker, såsom: rekursion, testning, användning av datatyper för modellering och problemlösning
  • skriva små funktionella program för olika tillämpningar
  • strukturera program så att de blir lätta att förså och förändra, genom lämplig användning av datatyper, abstraktion, och återanvändbar kod
  • genomföra effektiv testning av funktionella program med hjälp av lämpliga verktyg
  • visa färdigheter att i olika programmeringssammanhang bedöma vilka programmeringstekniker som lämpar sig bäst för att lösa det aktuella problemet

Innehåll

Detta är en introduktionskurs i programmering som använder ett funktionellt programmeringsspråk. Det primära syftet är att lära ut grundläggande datavetenskapliga begrepp, samtidigt som studenterna lär sig skriva små program. Sekundära mål är att ge en grund för kommande kurser (specifikt datastrukturer, algoritmer, formella metoder och kurser i programspråk).

Specifika ämnen som behandlas i kursen är:
  • värden, typer och funktioner
  • sammansatta datastrukturer (listor, tupler, användardefinierade typer)
  • högre ordningens funktioner
  • användning av abstraktionsmekanismer för att undvika repetitiv programmering
  • rekursion och rekursiva datatyper
  • effektiva och ineffektiva program
  • input-output
  • verifiering med hjälp av testning

Organisation

Undervisningen består av föreläsningar, gruppmöten samt handledda programmeringsövningar. Kursen kan komma att ges på svenska eller engelska. Studenter som redan har programmeringskunskaper uppmuntras att välja DIT143/TDA452 Funktionell programmering istället. Kursen kan inte ingå i en examen där kursen DIT143/TDA452 ingår, inte heller i en examen som baseras på en annan examen där DIT143/TDA452 ingår.

Litteratur

Se kurshemsidan för detaljer.

Examination inklusive obligatoriska moment

Kursen examineras genom en individuell skriftlig salstentamen, samt ett antal obligatoriska laborationer som normalt genomförs i grupp om 2-3 studenter.

Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2019-04-08: Examinator Examinator ändrat från David Sands (dave) till Thomas Hallgren (hallgren) av Viceprefekt
      [Kurstillfälle 1]
  • Ändring gjord på tentamen:
    • 2019-09-12: Plats Plats ändrat från Johanneberg till SB Multisal av grunnet
      [2020-01-07 4,5 hp, 0204]