Kursplan för Grundläggande programvaruutveckling

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2019-02-21 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnIntroductory software development
  • KurskodTDA548
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKITE
  • UtbildningsnivåGrundnivå
  • HuvudområdeInformationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

  • Undervisningsspråk Svenska
  • Anmälningskod 52122
  • Sökbar för utbytesstudenterNej
  • Endast studenter med kurstillfället i programplan.

Poängfördelning

0116 Laboration 3 hp
Betygsskala: UG
3 hp0 hp0 hp0 hp0 hp0 hp
0216 Tentamen 4,5 hp
Betygsskala: TH
4,5 hp0 hp0 hp0 hp0 hp0 hp
  • 30 Okt 2019 em SB_MU
  • 07 Jan 2020 fm M
  • 19 Aug 2020 fm J

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Ersätter

  • TDA375 Grundläggande objektorienterad programvaruutveckling
  • TDA545 Objektorienterad programvaruutveckling

Behörighet

För kurser på grundnivå inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program där kursen ingår i programplanen.

Kursspecifika förkunskaper


Syfte

Den här kursen är en introduktion till imperativ programmering och programvaruutveckling. Kursen syftar till att ge grundläggande färdigheter i programmeringsmässig problemlösning med imperativa metoder, och ge en första inblick i programmerandet som hantverk.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Kunna slutföra enkla programmeringsuppgifter. Detta betyder att studenten ska veta hur man:
  • läser programmeringuppgifter
  • bryter ner programmeringsuppgiften i mindre lättare deluppgifter
  • konstruerar en lösning till den ursprungliga uppgiften med att lösa mindre deluppgifter
  • skriver testprogram som hjälper med programmeringen och som kontrollerar kvaliteten av den färdiga lösningen
Förklara och använda sig av grundläggande begrepp inom imperativ och objektorienterad programmering. Detta betyder att studenten ska kunna förklara och använda sig av:
  • skillnaden mellan primitiva typer och referenstyper, och illustrera detta med principskisser över minnesceller med värden och referenser
  • hur en- och flerdimensionella fält deklareras, skapas och används
  • skillnaden mellan statiska metoder/variabler och instansmetoder/variabler
  • skillnaden mellan en metod som returnerar ett värde och en metod med resultattypen void
  • hur parameteröverföring sker vid anrop av metoder
  • skillnaden mellan en klass och ett objekt
  • begreppet subklass och beskriva hur en sådan deklareras
  • vad ett interface är och vad som menas med att en klass implementerar ett interface
  • begreppen datainkapsling och informationsdöljande
  • enkla grafiska och händelsestyrda program

Konstruera metoder med utnyttjande av programspråkets datatyper och styrstrukturer. Detta betyder att studenten ska kunna:
  • definiera statiska metoder och instansmetoder, med lämpliga val av parametrar och resultattyp
  • utnyttja styrstrukturer som for-, while-, och if -satser på ett strukturerat sätt
  • hantera såväl en- som flerdimensionella fält
  • använda standardklasser för att konstruera listor
  • läsa indata som matas in av en användare
  • presentera utdata för användaren och utföra enkel redigering av utdata
  • utnyttja undantag för att signalera och ta hand om eventuella fel
  • lösa enkla problem med rekursion
Självständigt konstruera imperativa och enkla objektorienterade program som använder färdiga standardklasser och enkla egenhändigt konstruerade klasser. Detta betyder att studenten ska kunna:
  • definiera enkla klasser som beskriver konkreta begrepp såsom tärningar, bankkonton, etc.
  • skriva program där man använder standardklasser som Integer, Double, Scanner, String, StringBuilder, Arrays, Color, System, ArrayList m.fl.
  • dokumentera program med kommentarer
  • använda kodningsstandard
  • testa sina program

Innehåll

I kursen används programspråket Java. Följande moment behandlas:
  • variabler, uttryck och satser, prioritet, metoder, parameteröverföring, rekursion
  • fält och inläsning från en användare
  • enkla typer och referenstyper, typomvandling
  • grundläggande objektorienterade begrepp såsom klasser, objekt, metoder och instansvariabler
  • olika tester på likhet, kanonisk form för klasser
  • grundläggande arv och gränssnitt (interfaces)
  • standardklasser för grafiska användargränssnitt
  • händelser och lyssnare
  • felhantering med hjälp av undantag
  • sökning på Internet efter dokumentation för standardklasser
  • några av klasserna i Javas API

Organisation

Undervisningen ges i form av samverkande gruppövningar och föreläsningar, samt handledning i samband med obligatoriska programmeringsuppgifter (laborationer).

Litteratur

Information om aktuell litteratur ges på kursens hemsida.

Examination inklusive obligatoriska moment

Skriftlig tentamina samt obligatoriska inlämningsuppgifter (laborationer).

Kursplanen innehåller ändringar

  • Ändring gjord på tentamen:
    • 2019-09-12: Plats Plats ändrat från Johanneberg till M av grunnet
      [2020-01-07 4,5 hp, 0216]
    • 2019-09-09: Plats Plats ändrat från Johanneberg till SB Multisal av grunnet
      [2019-10-30 4,5 hp, 0216]