Matematisk-datalogiska linjens datalogiinriktning årskurs 3, 25 poäng
(NA8650)

(Study Programme in Mathematics­Computer Science,
Computer Science Branch, third year, 25 credits)


Kursplanen är fastställd av matematisk-naturvetenskapliga fakultetsnämnden 1995-06-29, ändrad 1999-06-02 och 2000-05-24, samt ändrad av naturvetenskapliga fakultetsnämnden 2003-xx-xx.

Placering i utbildningen och förkunskapskrav

För tillträde till kursen krävs godkänt resultat på moment motsvarande minst 60 poäng på matematisk-datalogiska linjens två första år.

Mål

Kursen syftar till att ge
  • fördjupade kunskaper om programmering,
  • en grundlig förståelse för uppbyggnad och hantering av databassystem,
  • en grundlig förståelse för mjukvaruutvecklingens livscykel samt tillhörande kvalitetssäkringsfrågor,
  • färdigheter i att i grupp praktiskt arbeta under arbetslivsliknande förhållanden,
  • förtrogenhet med skrivprocessen, såsom planering och bearbetning, träning i planering och genomförande av muntlig framställning, samt förmåga att skriva rapporter avpassade för en tänkt läsekrets,
  • förtrogenhet med typografiska begrepp och angreppssätt för layout och grafisk formgivning av dokument med hjälp av datorstöd, samt kännedom om tumregler för illustrationer,
  • färdigheter i att klassificera problem efter deras beräkningskomplexitet,
  • en grundlig förståelse för de teoretiska grunderna för objektorienterade program- och designspråk.
    
    

    Innehåll

    Kursen består av följande obligatoriska moment om totalt 25 poäng.

  • Databasteknik, 5 poäng
    Modellering och informationsstrukturering enligt "Entity-Relationship"- modellen. Normalisering. Relationsalgebra, tupelkalkyl, domänkalkyl. Frågespråk, särskilt SQL. Lagrings- och åtkomstmetoder.

  • Mjukvarukonstruktion, 4 poäng
    Vattenfallsmodellen för livscykeln vid mjukvaruutveckling. Dokumentation av livscykeln enligt industristandard. Kvalitetssäkringsaspekter såsom formella metoder.

  • Projektarbete, 4 poäng
    I större grupp utföra praktisk konstruktion av mjukvara. Projektadministration.

  • Praktisk svenska med datorstödd dokumentframställning, 2 poäng
    Textplanering och -bearbetning. Fackspråk, språknormer. Muntlig framställning; planering och genomförande. Rapportskrivning.
    Typografins grundläggande terminologi och tumregler. Tumregler för illustrationer. Exempel på datorstöd för framställning av matematiska formler i dokument.

  • Algoritmer och komplexitet, 5 poäng
    Exempel på beräkningsproblem och tekniker för att konstruera effektiva algoritmer. Komplexitetsklasserna P och NP. NP-fullständighet och oavgörbarhet.

  • Teoretiska grunder för objektorientering, 5 poäng
    Abstrakta och språkoberoende modeller för konstruktioner i objektorienterade program- och designspråk. Floyd/Hoarelogik (logik för sekvensiell kod), processalgebra (logik för trådar och distribuerade tillämpningar), abstrakta datatyper (logik för klasser och typer), typteori (logik för arv, överlagring och polymorfi).
    
    

    Undervisning

    Undervisningen består av föreläsningar, lektioner, övningar och laborationer och projektarbete. Deltagande i datorlaborationer är obligatoriskt. Annan obligatorisk undervisning kan också förekomma. Om särskilda skäl föreligger kan examinator, efter samråd med kursansvarig lärare, medge den studerande befrielse från skyldigheten att delta i vissa obligatoriska moment.
    
    

    Examination

    Examinationen utgörs av tentamina, datorlaborationer, inlämningsuppgifter och muntliga redovisningar. Studerande som godkänts på tentamen får ej undergå förnyad tentamen för högre betyg. Studerande som underkänts i ordinarie tentamen har rätt att delta vid ytterligare tentamenstillfällen. Studerande som underkänts på tentamen två gånger har rätt att begära att annan lärare än den kursansvarige utses för att bestämma betyg på kursen. Framställan härom ska göras till institutionsstyrelsen. Som betyg på kursen används något av uttrycken underkänd, godkänd eller väl godkänd.
    
    

    Litteratur

    Kurslitteratur fastställs av institutionsstyrelsen.
    Se aktuell litteraturlista.
    
    

    Övrigt

    Kursen får ej tas med i examen tillsammans med kurserna Datalogi grundkurs II, 10 poäng (NA2030), Datalogi fortsättningskurs I, 10 poäng (NA2160), Datalogi fortsättningskurs II, 10 poäng (NA2050) samt Algoritmer och kompexitet, 5 poäng (NA4110).
    
    

    Kursinformation (om sådan finns tillgänglig)

    Databasteknik
    Mjukvarukonstruktion
    Projektarbete
    Praktisk svenska med datorstödd dokumentframställning
    Algoritmer och komplexitet
    Teoretiska grunder för objektorientering

    Kursplanen som den såg ut t.o.m. lå 03/04.

    
    
    ^ Upp till kursplaner; innehållsförteckning.


    Senast ändrad 04-07-06 <svl-su@nada.kth.se>