Programmering, grundkurs, 8 hp

Introduction to Computer Programming, 8 credits

TDDE44

Huvudområde

Datateknik, Datavetenskap

Utbildningsnivå

Grundnivå

Kurstyp

Programkurs

Examinator

Johan Falkenjack

Studierektor eller motsvarande

Anders Fröberg

Undervisningstid

Preliminär schemalagd tid: 66 h
Rekommenderad självstudietid: 147 h
VOF = Valbar / Obligatorisk / Frivillig
Kursen ges för Termin Period Block Språk Ort/Campus VOF
6CMED Civilingenjör i medicinsk teknik 2 (VT 2027) 1, 2 2, 1 Svenska Linköping, Valla O
6CYYY Civilingenjör i teknisk fysik och elektroteknik 2 (VT 2027) 1, 2 2, 1 Svenska Linköping, Valla O
6CTMA Civilingenjör i teknisk matematik 2 (VT 2027) 1, 2 2, 1 Svenska Linköping, Valla O
6KMAT Matematik, kandidatprogram 2 (VT 2027) 1, 2 2, 1 Svenska Linköping, Valla O

Huvudområde

Datateknik, Datavetenskap

Utbildningsnivå

Grundnivå

Fördjupningsnivå

G1N

Kursen ges för

  • Kandidatprogram i matematik
  • Civilingenjörsprogram i teknisk fysik och elektroteknik
  • Civilingenjörsprogram i medicinsk teknik
  • Civilingenjörsprogram i teknisk matematik

Rekommenderade förkunskaper

Elementär datorvana.

Lärandemål

Kursens syfte är att studenterna ska förvärva grundläggande kunskaper inom programmering och datavetenskap. Studenterna ska även utveckla grundläggande förmåga och färdigheter i att modellera och lösa problem med hjälp av programmering. Efter avslutad kurs ska studenterna kunna:

  • använda aktuella datorsystem för laborativ verksamhet
  • redogöra för grundläggande begrepp relaterade till datavetenskap, programmering och programspråk
  • lösa programmeringsrelaterade problem metodiskt med hjälp av ett interaktivt arbetssätt med implementering, testning och felsökning
  • konstruera abstraktioner med varierande grad av stöd i det underliggande programmeringsspråket
  • lösa programmeringsproblem genom att bryta ner det i delproblem
  • konstruera rekursiva och iterativa algoritmer

 

Kursinnehåll

  • Översiktlig introduktion till datavetenskap
  • Grunder i programmering: uttryck, grundläggande datatyper, variabler, funktioner och kontrollstrukturer, filhantering, filformat, moduler
  • Programspråket Python
  • Användning av öppna dataresurser från webben
  • Interaktiv och inkrementell programutveckling
  • Testnings- och felsökningsmetodik
  • Programkonstruktion enligt funktionella och procedurella principer
  • Dataabstraktion enligt objektorienterade principer

Undervisnings- och arbetsformer

Kursen består av föreläsningar, lektioner och laborationer. Föreläsningar och lektioner behandlar begrepp och dess tillämpningar. På lektioner och laborationer övas förmåga och färdigheter att lösa programmeringsuppgifter. Kursens upplägg förutsätter hög studentaktivitet och självstudier utanför schemalagda tillfällen. Det rekommenderas att studenten har tillgång till egen bärbar dator under kursens gång.

Examination

LAB2Data- och programabstraktion/ intro till objektorientering3 hpU, G
LAB1Grunder i programmering och användning av datorsystem3 hpU, G
DAT1Datortentamen2 hpU, 3, 4, 5

Betyg på delmoment/modul beslutas i enlighet med de bedömningskriterier som presenteras vid kursstart.

Betygsskala

Fyrgradig skala, LiU, U, 3, 4, 5

Övrig information

Påbyggnadskurser: Programmering - tillämpning och datastrukturer. Data- och programstrukturer.

Om undervisnings- och examinationsspråk

Undervisningsspråk visas på respektive kurstillfälle på fliken "Översikt". Examinationsspråk relaterar till undervisningsspråk enligt nedan:

  • Om undervisningsspråk är ”Svenska” kan kursen ges i sin helhet på svenska eller delvis på engelska. Examinationsspråk är svenska, men delar av examinationen kan ske på engelska.
  • Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. Examinationsspråk är engelska.
  • Om undervisningsspråk är ”Svenska/Engelska” ges kursen i sin helhet på engelska om studenter utan tidigare kunskap i svenska språket deltar. Examinationsspråk följer undervisningsspråk.

Övrigt

Kursen bedrivs på ett sådant sätt att likvärdiga villkor råder med avseende på kön, könsöverskridande identitet eller uttryck, etnisk tillhörighet, religion eller annan trosuppfattning, funktionsnedsättning, sexuell läggning och ålder.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt. 

Kursen är campusförlagd på den ort som anges för kurstillfället om inget annat anges under ”Undervisnings – och arbetsformer”. I en campusförlagd kurs kan dock enstaka moment på distans ingå.

Institution

Institutionen för datavetenskap

Kurslitteratur

Kompletterande litteratur

Böcker

  • Downey, Allen B., (2024) Think Python : how to think like a computer scientist. Third edition Sebastopol : O'Reilly, 2024
    ISBN: 9781098155438
    https://allendowney.github.io/ThinkPython/
  • Lutz, Mark, (2025) Learning Python : powerful object-oriented programming
    ISBN: 9781098171308, 1098171306
  • Miller, Bradley N., Ranum, David L., (2011) Problem solving with algorithms and data structures using Python. 2nd ed. 2011
    ISBN: 9781590282571, 1590282574
  • Punch, William, Enbody, Richard, (2017) The practice of computing using Python. Third edition Global edition Boston : Pearson, 2017
    ISBN: 9781292166629, 1292166622
  • Skansholm, Jan, (2019) Python från början. Studentlitteratur.
    ISBN: 9789144134932
  • Swaroop, C. H., (2018) A Byte of Python
    https://python.swaroopch.com/
  • Zelle, John M., (2017) Python Programming : An Introduction To Computer Science Third Edition. Franklin, Beedle & Associates, 2017.
    ISBN: 9781590282755, 1590282752
Kod Benämning Omfattning Betygsskala
LAB2 Data- och programabstraktion/ intro till objektorientering 3 hp U, G
LAB1 Grunder i programmering och användning av datorsystem 3 hp U, G
DAT1 Datortentamen 2 hp U, 3, 4, 5

Betyg på delmoment/modul beslutas i enlighet med de bedömningskriterier som presenteras vid kursstart.

Kompletterande litteratur

Böcker

Downey, Allen B., (2024) Think Python : how to think like a computer scientist. Third edition Sebastopol : O'Reilly, 2024

ISBN: 9781098155438

https://allendowney.github.io/ThinkPython/

Lutz, Mark, (2025) Learning Python : powerful object-oriented programming

ISBN: 9781098171308, 1098171306

Miller, Bradley N., Ranum, David L., (2011) Problem solving with algorithms and data structures using Python. 2nd ed. 2011

ISBN: 9781590282571, 1590282574

Punch, William, Enbody, Richard, (2017) The practice of computing using Python. Third edition Global edition Boston : Pearson, 2017

ISBN: 9781292166629, 1292166622

Skansholm, Jan, (2019) Python från början. Studentlitteratur.

ISBN: 9789144134932

Swaroop, C. H., (2018) A Byte of Python

https://python.swaroopch.com/

Zelle, John M., (2017) Python Programming : An Introduction To Computer Science Third Edition. Franklin, Beedle & Associates, 2017.

ISBN: 9781590282755, 1590282752

I = Introducera (utan examinationsmodul), U = Undervisa (kräver examinationsmodul), A = Använda (kunskap från tidigare kurs/er, ev. examinationsmodul)
I U A Moduler Kommentar
1. ÄMNESKUNSKAPER
1.1 Kunskaper i grundläggande matematiska och naturvetenskapliga ämnen (kurser på G1X-nivå)
X
Illustrationer och övningsuppgifter med enklare matematiska inslag
1.2 Kunskaper i grundläggande teknikvetenskapliga ämnen (kurser på G1X-nivå)
X
X
DAT1
LAB1
LAB2
Programmering/datavetenskap samt problemlösning med hjälp av datalogiskt tänkande.
1.3 Fördjupade kunskaper, metoder och verktyg inom något av: matematik, naturvetenskap, teknik (kurser på G2X-nivå)
X
Tillämpningar i tekniska områden används ibland som illustrationer i föreläsningarna.
1.4 Väsentligt fördjupade kunskaper, metoder och verktyg inom något av: matematik, naturvetenskap, teknik (kurser på A1X-nivå)
X
Tillämpningar inom avancerade tekniska områden presenteras ofta i föreläsningarna som fördjupningar av det aktuella ämnet.
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete
X
Hur programmering kan användas i forsknings- och utvecklingsarbete. T.ex. för prototypning, modellering, analys, datahantering, etc.
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT
2.1 Analytiskt tänkande och problemlösning
X
DAT1
LAB1
LAB2
Problemlösning med hjälp av datalogiskt tänkande mer generellt.
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning
X
LAB1
LAB2
Kursen organiserad kring laborativa och problemlösningsfokuserade programmeringsuppgifter.
2.3 Systemtänkande
X
Möjligheter och konsekvenser av automatisering med mjukvara.
2.4 Förhållningssätt, tänkande och lärande
X
X
DAT1
LAB1
LAB2
Programmering och problemlösning. Förhållningssätt och förmåga att använda referensdokumentation och söka efter kunskap på webben.
2.5 Etik, likabehandling och ansvarstagande
X
Konsekvenser av mjukvara som är felaktigt eller problematiskt specificerad, implementerad eller applicerad.
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA
3.1 Arbete i grupp
X
LAB1
LAB2
Laborationer genomförs i par
3.2 Kommunikation
X
LAB1
LAB2
Laborationer genomförs i par
3.3 Kommunikation på främmande språk
X
LAB1
LAB2
Engelska termer introduceras bredvid svenska termer och beskrivningar emedan kodexempel, inkl. kodkommentarer, oftast är skrivna på engelska. Kod, och dokumentation i koden, producerad under laborationer förväntas skrivas på engelska.
4. PLANERING, UTVECKLING, REALISERING OCH DRIFT AV TEKNISKA PRODUKTER OCH SYSTEM MED HÄNSYN TILL AFFÄRSMÄSSIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
4.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling
X
Effekter och möjligheter med mjukvara i ett digitaliserat samhälle.
4.2 Företags- och affärsmässiga villkor
X
Exempel under föreläsningar.
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system

                            
4.4 Att konstruera produkter och system
X
Introduktion till mjukvaruutvecklingsprocesser.
4.5 Att realisera produkter och system
X
X
LAB2
Laborationer som illustrerar användning av programmering i framtida yrkessituationer med hänsyn till effektivt resursutnyttjande.
4.6 Att ta i drift och använda produkter och system
X
Produktionsmiljöer och användbarhet introduceras i föreläsningarna när det är relevant för huvudämnet.
5. PLANERING, GENOMFÖRANDE OCH PRESENTATION AV FORSKNINGS- ELLER UTVECKLINGSPROJEKT MED HÄNSYN TILL VETENSKAPLIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV
5.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling inom forsknings- och utvecklingsprojekt
X
Effekter och möjligheter med mjukvara i ett digitaliserat samhälle. Konsekvenser av ineffektivt resursutnyttjande, t.ex. i relation till användning av generativ AI och AI-genererad mjukvara.
5.2 Ekonomiska villkor för forsknings- och utvecklingsprojekt

                            
5.3 Att identifiera behov samt strukturera och planera forsknings- eller utvecklingsprojekt

                            
5.4 Att genomföra forsknings- eller utvecklingsprojekt

                            
5.5 Att redovisa och utvärdera forsknings- eller utvecklingsprojekt

                            

Denna flik innehåller det material som är publikt i Lisam. Den information som publiceras här är inte juridiskt bindande, sådant material hittar du under övriga flikar på denna sida.

Det finns inga filer att visa.