ID1213 Logikprogrammering, grundkurs 7,5 hp
Denna kurs är avvecklad.
Sista planerade examination: VT 2022
Avvecklingsbeslut:
Ingen information tillagdInnehå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
Utrustning
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
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
Möjlighet till plussning
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
Ges av
Huvudområde
Utbildningsnivå
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
Ö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.