Hoppa till huvudinnehållet

ID1213 Logikprogrammering, grundkurs 7,5 hp

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan ID1213 (HT 2021–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Kursen presenterar logik och logikprogrammering för programvaruutveckling. Kursen presenterar algoritmer över listor och träd, och även sökalgoritmer över grafer. Olika mera effektiva datastrukturer, såsom differensstrukturer introduceras. Vi visar hur tekniker från funktionell programmering passar in i logikprogrammeringens ramverk och kan uttryckas i programspråket Prolog. Slutligen presenterar kursen några AI-tillämpningar, som enkla expertsystem, och ger en kort översikt av aktuella metodologiska trender. Under denna kurs kommer studenterna att bekanta sig med teorin och de grundläggande designprinciperna inom logikprogrammering, medan de under senare projektkurser eller till exempel examensarbete, kan praktisera metoderna.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • beskriva ett problem som logiska påståenden, fakta och regler
  • uttrycka algoritmer som regler i Prolog
  • designa och/eller välja lämpliga datarepresentationer i ett logikprogram
  • använda Prologs mekanismer för att effektivisera sökningen i exekveringen av ett logikprogram

i syfte att

  • behärska logikprogrammering som metod att utveckla programvara.

Kurslitteratur och förberedelser

Särskild behörighet

  • Slutförd kurs ID1018 Programmering I eller DD1393 Mjukvarukonstruktion, eller motsvarande. 
  • Slutförd kurs ID1020 eller DD1338 Algoritmer och datastrukturer, eller motsvarande. 
  • Slutförd kurs SF1624 eller IX1303 Algebra och geometri, eller motsvarande.
  • Slutförd kurs SF1610 eller IX1500 Diskret Matematik, eller motsvarande.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • TEN1 - Tentamen, 7,5 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Skriftlig examen.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

En kurs om Artificiell Intelligens. Kurser om formell semantik, logiska metoder inom programvarudesign, t.ex. programanalys eller programverifiering.

Ett projekt baserat på denna kurs kan med fördel genomföras som examensarbete på grundnivå (kandidat, eller högskoleingenjör) eller också på avancerad nivå ("civilingenjörsexjobb" eller "mastersuppsats").

Kontaktperson

Thomas Sjöland

Övrig information

Innehållet sammanfaller med ID2213 som ges på engelska samtidigt. ID2213 innehåller en projektkurs också.

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.