Göm menyn

TDDE23 Funktionell och imperativ programmering, del 1

Kursinformation läsåret 2021/2022

Denna kursinformation är ett komplement till den mer officiella kursplanen. Syftet med kursen förtydligas och upplägget beskrivs i mer detaljer. Alla studenter förutsätts ha läst och känna till informationen på denna sida.

1. Syfte och mål

Det finns två syften med kursen. För det första ska ni få tillräckligt mycket erfarenhet av institutionens datorsystem för att underlätta framtida laborationer. För det andra ska ni börja lära er programmering i Python. Förkunskaperna kommer att skilja sig åt ganska mycket inom båda dessa områden, men tanken är att vi ska börja från början och om det är möjligt jämna ut skillnaderna något.


2. Innehåll

Kursen består i princip av två olika delar. Redan under nolleperioden ges en kort introduktion till de datorsystem som används på IDA och ni får träna på att använda dessa. När första läsperioden drar igång behandlas grundläggande programmering i programspråket Python. Detta moment fortsätter sedan i kursen TDDE24 Funktionell och imperativ programmering, del 2.

2.1. Datorsystem

I detta delmoment kommer ni att få praktiskt träning i att hantera de datorsystem som används på IDA. Detta kommer främst att kretsa kring hur man använder operativsystemsfamiljen Linux via kommandoskal. De uppgifter som ni ska lösa är helt webbaserade.

2.2. Programmering

I den här delen av kursen börjar vi titta på hur man programmerar. Vi kommer att använda programspråket Python och närmar oss det genom att ta avstamp i diskret matematik, som ni ju läser parallellt. Vi kommer dock inte enbart att arbeta teoretiskt med programmering, utan en stor del av arbetet kommer att vara praktiska laborationer.

Programmeringen fortsätter i kursen TDDE24 Funktionell och imperativ programmering, del 2. I båda dessa kurser kommer vi att fokusera mycket på läsbarhet. Program ska inte bara kunna förstås av datorer utan framför allt av våra kollegor. Naturligtvis lägger vi också stor vikt vid att programmen är korrekta och i viss mån också effektiva, men kraven på läsbarhet kommer i de flesta fall att väga tyngre.


3. Omfattning

Nedanstående tabell visar den schemalagda tiden för kursen.

Period Datorsystem Programmering
1Ht0 Föreläsningar: 4 h
Laborationer: 6 h
---
1Ht1 --- Föreläsningar: 2 h
Seminarier: 12 h
Laborationer: 28 h

Observera att föreläsningarna är inställda hösten 2020 och hösten 2021 på grund av coronapandemin. Istället är de förinspelade och du hittar filmerna i kursrummet i Lisam.

Utöver den schemalagda tiden tillkomer omkring 100 timmars eget arbete under period Ht1.


4. Examination

Kursen består av två poänggivande moment som examineras enligt nedan.

UPG1 (1 hp) består av obligatoriska uppgifter i datorintroduktion. För att bli godkänd på detta moment krävs att du är helt godkänd på ett antal webbaserade tester.

LAB1 (5 hp) består av den första delen av laborationsserien i Python. För att bli godkänd på detta moment krävs att de fem första laborationerna i labbserien i Python är redovisade och godkända.

Endast betygen U och G ges på kursen.

Det webbaserade kursmaterialet i datorintroduktionen, liksom laborationsuppgift 1-5 i Python ska utföras individuellt. Alla former av samarbete med examinerande uppgifter är förbjudet och kan leda till avstängning. Se även IDA:s standardregler för labbar längst ner på sidan. Inför laborationsuppgift 5 kommer ni att bilda par i vilka ni arbetar med resten av kursen (och även i nästa kurs).


5. Kurslitteratur

Zelle, John M. (2010) Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates Inc. ISBN 978-1-59028-241-0.

Detta är en bok som vi rekommendar till alla studenter som vill ha en bok. Det är en bra nybörjarbok i programmering och specifik Python. Vi kommer dock inte att följa den särskilt noga, så om du har programmerat förut och/eller inte vill ha en bok är det helt okej.


6. Personal

Följande personer utgör kursens administrativa ledning:


7. Information

Kursens webbplats har adressen http://www.ida.liu.se/~TDDE23 och där kan man hitta mer information om de olika delmomenten. Kompletterande information kommer att skickas till kursens e-postlista och viss information finns också i kursrummet i Lisam. Alla studenter som är registrerade är automatiskt med på denna lista.

Alla studenter förväntas läsa sin e-post och besöka kurswebben regelbundet.


8. IDA:s allmänna regler för laborationer

Regler för examinering av datorlaborationer vid IDA

Datorlaborationer görs i grupp eller individuellt, enligt de instruktioner som ges för en kurs. Examinationen är dock alltid individuell.

Det är inte tillåtet att lämna in lösningar som har kopierats från andra studenter, eller från annat håll, även om modifieringar har gjorts. Om otillåten kopiering eller annan form av fusk misstänks, är läraren skyldig att göra en anmälan till universitetets disciplinnämnd.

Du ska kunna redogöra för detaljer i koden för ett program. Det kan också tänkas att du får förklara varför du har valt en viss lösning. Detta gäller alla i en grupp.

Om du förutser att du inte hinner redovisa i tid, ska du kontakta din lärare. Då kan du få stöd och hjälp och eventuellt kan tidpunkten för redovisningen senareläggas. Det är alltid bättre att diskutera problem än att, t.ex., fuska.

Om du inte följer universitetets och en kurs' examinationsregler, utan försöker fuska (t.ex. plagiera, använda otillåtna hjälpmedel eller ej godkända AI-baserade assistenter) kan detta resultera i en anmälan till universitetets disciplinnämnd. Konsekvenserna av ett beslut om fusk kan bli varning eller avstängning från studierna.

Policy för redovisning av datorlaborationer vid IDA

För alla IDA-kurser som har datorlaborationer gäller generellt att det finns en bestämd sista tidpunkt, deadline, för inlämning av laborationer. Denna deadline kan vara under kursens gång eller vid dess slut. Om redovisning inte sker i tid måste, den eventuellt nya, laborationsserien göras om nästa gång kursen ges.

Om en kurs avviker från denna policy, ska information om detta ges på kursens webbsidor.


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2021-08-05