Objektorienterad programmering och Java, 7 hp

Object Oriented Programming and Java, 7 credits

TDDE30

Huvudområde

Datateknik Datavetenskap

Utbildningsnivå

Grundnivå

Kurstyp

Programkurs

Examinator

Jonas Kvarnström

Studierektor eller motsvarande

Peter Dalenius

Undervisningstid

Preliminär schemalagd tid: 66 h
Rekommenderad självstudietid: 121 h
VOF = Valbar / Obligatorisk / Frivillig
Kursen ges för Termin Period Block Språk Ort VOF
6CDDD Civilingenjör i datateknik 2 (VT 2018) 1, 2 1+3, 1 Svenska Linköping O

Huvudområde

Datateknik, Datavetenskap

Utbildningsnivå

Grundnivå

Fördjupningsnivå

G1X

Kursen ges för

  • Civilingenjör i datateknik

Särskild information

Kuren kan ej ingå i examen samtidigt som TDDD78.

Förkunskapskrav

OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.

Rekommenderade förkunskaper

Grundläggande begrepp inom programmering. Konkreta programmeringskunskaper i Python, motsvarande t.ex. kurserna Funktionell och imperativ programmering del 1 och del 2.

Lärandemål

Efter avslutad kurs ska studenten kunna:

  • Förklara och applicera fundamentala begrepp inom objektorienterad programmering, t.ex. klasser, instanser/objekt, metoder, polymorfism och inkapsling.
  • Förstå och rita klassdiagram enligt UML-standarden.
  • Applicera olika aspekter av datatyper i både objektorienterade och icke objektorienterade språk, såsom manifest respektive latent typning, uppräkningsbara typer, och felhantering med undantag.
  • Implementera objektorienterade program i Java.
  • Redovisa resultat och slutsatser i en språkligt korrekt skriftlig rapport.

Kursinnehåll

 

  • Programmeringsspråket Java och viktiga skillnader från Python.
  • Objektorienterad programmering i allmänhet och i Java. Objekt, klasser, instansvariabler, metoder, arv, polymorfism.
  • Fundamentala programmeringsbegrepp som uppträder i många objektorienterade språk.  Manifest typning, statisk typkontroll, typkonvertering och uppräkningsbara typer.  Pekare och referenser. Identitet och likhet. Variablers livstid. Organisation och namnrymder. Felhantering med undantag (exceptions). Texthantering och teckenkodning. Generisk programmering.
  • Designprinciper, till exempel användningen av polymorfism samt arv kontra delegering.
  • De mest centrala klassbiblioteken i Java, inklusive programmering av enklare grafiska användargränssnitt.

 

Undervisnings- och arbetsformer

Kursen består av laborationer och ett programmeringsprojekt.
Kursen pågår hela vårterminen.

Examination

UPG1Skriftligt moment1 hpU, G
LAB1Laborationer3 hpU, G
PRA1Projekt3 hpU, 3, 4, 5

Betygsskala

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

Övrig information

Om undervisningsspråk

Undervisningsspråk visas på respektive kurstillfälle på fliken "Översikt".

  • Observera att även om undervisningsspråk är svenska kan delar av kursen ges på engelska.
  • Om undervisningsspråk är Svenska/Engelska kan kursen i sin helhet ges på engelska vid behov.
  • Om undervisningsspråk är Engelska ges kursen i sin helhet på engelska. 

Övrigt

Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.

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. 

Institution

Institutionen för datavetenskap

Studierektor eller motsvarande

Peter Dalenius

Examinator

Jonas Kvarnström

Undervisningstid

Preliminär schemalagd tid: 66 h
Rekommenderad självstudietid: 121 h

Kurslitteratur

Övrigt

  • En bok om Java och objektorienterad programmering.  Böcker att välja på kommer att anges inför kursstart.

    Föreläsningsanteckningar och annat material kommer att finnas tillgängligt på nätet.

Kod Benämning Omfattning Betygsskala
UPG1 Skriftligt moment 1 hp U, G
LAB1 Laborationer 3 hp U, G
PRA1 Projekt 3 hp U, 3, 4, 5

Övrigt

En bok om Java och objektorienterad programmering.  Böcker att välja på kommer att anges inför kursstart.

Föreläsningsanteckningar och annat material kommer att finnas tillgängligt på nätet.

I = Introducera, U = Undervisa, A = Använda
I U A Moduler Kommentar
1. ÄMNESKUNSKAPER
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen
X
Grundläggande diskret matematik är en förutsättning för programmering
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen
X
X
LAB1
PRA1
U: Objektorienterad programmering, A: Generella programmeringskunskaper
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen

                            
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen

                            
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete

                            
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT
2.1 Analytiskt tänkande och problemlösning
X
X
LAB1
PRA1
U: Objektorienterad programmering, A: Generella programmeringskunskaper
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning

                            
2.3 Systemtänkande

                            
2.4 Förhållningssätt, tänkande och lärande
X
X
LAB1
PRA1
U: Objektorientering => konceptualisering, abstraktion, A: Programmering => konceptualisering, abstraktion
2.5 Etik, likabehandling och ansvarstagande

                            
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA
3.1 Arbete i grupp
Arbete i grupp är möjligt, men man kan även arbeta ensam.
3.2 Kommunikation
X
X
X
UPG1
Skriftlig kommunikation på svenska.
3.3 Kommunikation på främmande språk

                            
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

                            
4.2 Företags- och affärsmässiga villkor

                            
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system
X
PRA1
Måste planera projektet, men vi undervisar inte i det
4.4 Att konstruera produkter och system
X
X
PRA1
Design av en "produkt" i projektet
4.5 Att realisera produkter och system
X
X
PRA1
Implementation av en "produkt" i projektet
4.6 Att ta i drift och använda produkter och system

                            
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 för kunskapsutveckling

                            
5.2 Ekonomiska villkor för kunskapsutveckling

                            
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.