Course syllabus

Kurs-PM

TDA143 Programmerade system VT19 (7,5hp)

Kursen ges av Institutionen för Data- och Informationsteknik.

Kontaktuppgifter

Examinator: Jonas Duregård, jonas.duregard@chalmers.se, tfn: 031 772 1028

Kursens syfte

Kursen ska ge dels grundläggande kunskaper om objektorienterad programmering, dels en introduktion till datateknikområdet.

Kursen skall även träna upp kompetenserna problemlösning, modellering samt ingenjörsmässighet.

Efter genomgången kurs skall studenten känna till principerna för objektorienterad programutveckling och självständigt kunna konstruera enkla datorprogram. Den studerande skall vidare ha kännedom om centrala begrepp inom datateknikområdet.

Länk till kursplan med kursmål.

Schema

Finns i timeedit: 
https://cloud.timeedit.net/chalmers/web/public/ri157XQQ704Z50Qv97043gZ6y6Y7507Q5Y67Y5.html

Studenter förväntas inte delta på alla Datorövningar, utan vanligtvis något pass per vecka och mer om det behövs. Datorövningarna finns för att hjälpa studenterna lösa kursens labbuppgifter, och för att de ska kunna redovisa när de slutfört en uppgift. Redovisningarna innebär att alla studenter måste gå på minst ett par pass, men inget enskilt pass är obligatoriskt. 

Kurslitteratur

Skansholm: Java direkt med Swing, 8:e uplagan, 2014. Även upplaga 6 och 7, samt andra nybörjarböcker i Java går bra, exempelvis Java steg för steg av samma författare (Java steg för steg är närmare kursen i omfattning, medan Java Direkt innehåller en hel del material som är överkurs. 

Brookshear: Computer Science: An overview, 11:e upplagan, Addison-Wesley. Även 10:e och 12:e upplagan duger. Bra bok för den som vill ha en bred överblick över datavetenskap, men den innehåller en hel del ämnen som är överkurs. 

Föreläsnings-slides kommer publiceras på kurshemsidan. En student som är uppmärksam på föreläsningarna och aktiv på labbarna klarar sig väl med fritt tillgängligt material. 

Kursens upplägg

Kursen innehåller två delar: programmeringsteknik och översikt av datateknik.

Delen som behandlar programmeringsteknik består av föreläsningar och fyra laborationer. Föreläsningarna, tillsammans med kursboken Java direkt med Swing skall förmedla det teoretiska stoffet och laborationerna skall ge den praktiska erfarenheten av att programmera. För att lära sig att programmera är det helt nödvändigt att själv konstruera och provköra program. Denna del av kursen har därför ett stort inslag av problembaserad inlärning.

Delen som behandlar översikt av datateknik består av föreläsningar samt fyra inlämningsuppgifter. Föreläsningarna, tillsammans med kursboken Computer Science: An overview, ger en introduktion till ett antal delområden inom datateknik. Inlämningsuppgifterna skall ge fördjupad insikt i vissa frågeställningar.

Kursen avslutas med en skriftlig tentamen.

Förändringar sedan förra kurstillfället

Hjälpmedel på tentamen har ändrats, i år får man inte ta med några hjälpmedel, istället kommer en standardreferens tryckas up med tentan och även publiceras i förväg på kurshemsidan. 

Lärandemål

· Förklara och använda grundläggande begrepp inom objektorienterad programmering, speciellt såsom de realiseras i det programspråk som används i kursen.
· Använda de datastrukturer och styrstrukturer som finns inbyggda i programspråket, samt välja datastrukturer och styrstrukturer som passar för det aktuella problemet.
· Definiera klasser som modellerar enkla fenomen på ett objektorienterat sätt, med inkapslad data som avläses och uppdateras via publika metoder.
· Dela upp ett större problem i hanterliga delar.
· Känna till och använda befintliga klasser i klassbibliotek, t ex för att bygga enklare grafiska gränssnitt.
· Sätta sig in i ett givet program i syfte att felsöka, utvidga eller förbättra programmets beteende enligt givna anvisningar.
· Skriva enkla händelsestyrda program med grafiska användargränssnitt.
· Förklara, dokumentera och kommentera kod på ett användbart sätt.
· Redogöra för principerna för en dators uppbyggnad och funktion, samt kringutrustning.
· Redogöra för operativsystemets syfte, funktion och uppbyggnad.
· Redogöra för hur ett datornätverk är uppbyggt och funger, samt hur information överförs mellan datorer via datornätverk.
· Redogöra för den roll som algoritmer och datastrukturer spelar vid programmering, samt känna till ett antal vanligt förekommande datastrukturer och ett antal grundläggande algoritmer för sökning och sortering.
· Redogöra för principerna för databashantering.
· Redogöra för en programvaras livscykel och de särskilda problem som uppstår vid framtagning av stora komplexa programsystem.
· Redogöra för vikten av att inkludera människa-datorinteraktionsaspekter i utvecklingen av IT-produkter.

Examination

I kursen ingår en skriftlig tentamen, som sker i tentamensveckan efter period 3. Den skriftliga tentamen är uppdelad i två delar; del 1 som omfattar översikt av datateknik och en del 2 som omfattar programmering.

Laborationerna och inlämningsuppgifterna utförs i grupper om två studenter. Hur uppgifterna skall redovisas samt sista datum för inlämning och sista datum för godkännande framgår av respektive uppgifts-PM.

Laborationerna och inlämningsuppgifterna är obligatoriska och en del av examinationen. Båda medlemmarna i laborationsgruppen skall aktivt deltaga i genomförandet av laborationer och inlämningsuppgifter. Dessutom är det gruppen själv som på egen hand skall utför uppgifterna. Naturligtvis kan man diskutera med andra, men ni skall utarbeta era egna lösningar. Att kopiera en laboration/inlämningsuppgift, helt eller delvis, från någon annan betraktas således som fusk.

Vid tentamen ges graderade betyg vilka utgör slutbetyg för kursen. För godkänd kurs krävs dessutom att obligatoriska inlämningsuppgifter och laborationer blivit redovisade på datorövning, inlämnade och godkända. För momentet laborationer ges betygen godkänd och underkänd.

Course summary:

Date Details Due