Stockholms universitet logo, länk till startsida
Go to this page on our english site

Kandidatprogram i datavetenskap

  • 180 hp

En dator kan göra massor men gör absolut ingenting som den inte har blivit instruerad att göra av en människa. Kandidatprogrammet i datavetenskap gör dig till en utmärkt mjukvaruutvecklare. Du får lära dig hur en dator fungerar och hur man skapar program med olika verktyg, språk och problemlösningsmodeller.

Vi lever i en värld där datorer hanterar allt från samtal, bilder, musik och film till handel och pengar. Men oavsett om det handlar om en mobiltelefon, en GPS eller en modern tvättmaskin, så kan dessa inte fungera utan mjukvaran – programvaran – som låter oss chatta, ringa, e-posta, komprimera musik, navigera eller tvätta. Sökmotorer på internet och operativsystem är andra exempel på mjukvara som förekommer i miljoner människors vardag. Det stora flertalet program har inget "gränssnitt" och syns inte alls utan verkar bakom kulisserna och får samhället att fungera genom att växla rätt på tunnelbanan eller styra en pacemaker.

Programmet förutsätter inte att du har teknisk kunskap om datorer och programmering innan du börjar. Upplägget är både teoretiskt och praktiskt med många programmeringsuppgifter som du löser både själv och tillsammans med andra i en modern datormiljö. Om du är en kreativ person som gillar utmaningar och har förmågan att lösa problem, är detta program någonting för dig.

Jämfört med kandidatprogrammet i data- och systemvetenskap ger det datavetenskapliga programmet dig djupare kunskaper i mjukvaruutveckling - hur man konstruerar program, verifierar en design och skriver program som körs över många maskiner samtidigt över Internet. Efter att ha gått kandidatprogrammet i datavetenskap har du kompetens att jobba med programutveckling, oavsett om det gäller stora system, internetlösningar eller att utforma användargränssnitt.

Med kompetens från kandidatprogrammet i datavetenskap väntar en framtid med stora möjligheter eftersom din kompetens kommer efterfrågas inom många olika sorters verksamheter.

  • Programöversikt

    Mer detaljerad kursinformation, litteraturlista, schema och datum för kursstart hittar du i kurser och scheman. Välj termin i drop-down menyn och sök på kursens namn.

    År 1

    Termin 1 (Ht)

    Introduktion till data- och systemvetenskap 7,5 hp
    Kursen är en introduktion till ämnet data- och systemvetenskap. Under kursens gång får du lära dig grundläggande begrepp inom bland annat datorarkitektur, operativsystem, datornätverk, programvaruteknik och databaser. Den innehåller även en introduktion till programmering. Kursen ger en god grund för fortsatta studier i data- och systemvetenskap.

    Människa-datorinteraktion 7,5 hp
    Kursen syftar till att ge dig grundläggande kunskaper om grundbegrepp inom området människa-datorinteraktion och användningsprocessens psykologi. Kursen ger dig verktyg att identifiera faktorer som påverkar kommunikationen människa och dator positivt eller negativt och visar designmetoder som förbättrar kommunikationen mellan människa och dator.

    Objektorienterad analys och design 7,5 hp
    Kursen behandlar objektorienterad analys och design, i synnerhet hur grafiska modeller kan användas för att analysera verksamheter (organisationer) och designa datoriserade informationssystem. En central del är praktisk tillämpning av grafiska modeller och praktisk utformning av en kravspecifikation för ett informationssystem.

    Programmering 1 7,5 hp
    Kursen täcker grunderna inom imperativ och objektorienterad programmering. Efter avklarad kurs kan du självständigt designa och implementera mindre program i programspråket Java. Programmering är ett av data- och systemvetenskaps grundläggande ämnen och läses därför av majoriteten av kandidatstudenterna på DSV.

    Termin 2 (Vt)

    Abstrakta maskiner och formella språk 7,5 hp
    Kursen går igenom grundläggande begrepp och metoder rörande automatteori, rekursionsteori och matematisk lingvistik. Du studerar egenskaper och beräkningsförmåga för olika modeller. Föreläsningarna behandlar bland annat olika typer av ändliga automater, formella grammatiker och egenskaper hos formella språk.

    Databasmetodik 7,5 hp
    Kursen ger grundläggande kunskaper och färdigheter i databasmetodik, inklusive kunskaper om begrepp, metoder och verktyg som används vid utformning och implementering av relationsdatabaser. Målet med kursen är att förmedla kunskaper om logisk och fysisk design av databaser för relationsmodellen. Baserat på användarkrav definierar vi och implementerar en normaliserad relationsdatabasmodell i ett relationsdatabashanteringssystem.

    Programmering 2 7,5 hp
    Kursen fördjupar dina kunskaper inom objektorienterad programmering genom att gå igenom arv, klasshierarkier och dynamisk polymorfism. Dessutom fördjupas dina allmänna programmeringskunskaper genom introduktion av händelsestyrd programmering och grafiska användargränssnitt och datastrukturer. Vi använder Java som programmeringsspråk. Du får också programmera med komponentbibliotek (API), i det här fallet Javas standardbibliotek.

    Datorsystem 7,5 hp
    Kursen ger en orientering i moderna datorsystem inom områdena hårdvaruarkitektur, operativsystem och nätverk. Kursen ger grundläggande förståelse för datorsystemets komponenter och principer och deras betydelse. På kursen får du en grundläggande förståelse för operativsystem och kommunikationsnätverk och dess funktionalitet.

    År 2

    Termin 3 (Ht)

    Introduktion till testning av IT-system 7,5 hp
    Kursen diskuterar hela testcykeln från enhetstest till systemtest. Fokus ligger på verktyg och testdesigntekniker för programmerare. Det finns därför ett stort praktiskt inslag i kursen där du implementerar och på ett strukturerat sätt testar kod.

    Logik för datavetare 7,5 hp
    Kursen förklarar de grundläggande begreppen inom satslogik och predikatlogik. Kursen går igenom begrepp som sanningsvärdestabeller, semantiska tablåer och användande av resolutionsmetoden. Du lär dig dessutom att använda Prolog för att modellera system och analysera modeller.

    Programmering i C och C++ 7,5 hp
    Kursen lär ut en användbar delmängd av programmeringsspråket C/C++. Du får kunskap att läsa och förstå C/C++-kod, uttrycka lösningar på programmeringsproblem i C/ C++ och att kunna sätta dig in i och använda komponentbibliotek för C/C++.

    Programspråk och programmeringsparadigmer 7,5 hp
    Att lära sig nya programmeringsspråk handlar mer om att lära sig nya tankesätt och problemlösningsstrategier än att lära sig en ny syntax. Åtminstone om det nya språket skiljer sig mycket från de språk du redan känner till. Kursens mål är att ge dig förståelse för hur programmeringsspråk kan konstrueras och implementeras och erfarenhet av att använda olika språk, framförallt från andra grupper än den objektorienterade och imperativa.

    Termin 4 (Vt)

    Algoritmer och datastrukturer 7,5 hp
    Algoritmer och datastrukturer utgör grunden för alla program. Därför är det viktigt att programmerare kan använda dem och göra korrekta val. Kursen går igenom de algoritmer och datastrukturer som är vanligast och diskuterar deras för- och nackdelar. Kursen ger också en introduktion till algoritmanalys och till ordo-begreppet.

    Diskret matematik 7,5 hp
    Kursen ger nödvändiga baskunskaper och förståelse av matematiska begrepp som kan tillämpas inom IT-området. Diskret matematik innefattar mycket av den typ av matematik som datavetenskap bygger på. Kursen innehåller särskilt användbara ämnesområden som kombinatorik, mängder, relationer, rekursion, induktion, grafer, träd, boolesk algebra och kodning.

    Projektarbete med programvaruteknik 7,5 hp
    Kursen är en projektkurs där du arbetar tillsammans med en grupp av studenter där ni producerar ett arbete från ax till limpa. Studentgruppen väljer en idé och utvecklar den till en färdig produkt, eller en prototyp av den färdiga produkten, med all efterfrågad funktionalitet.

    Vetenskapligt skrivande 7,5 hp
    På kursen skriver du en vetenskaplig uppsats, ungefär lika omfattande som ett examensarbete på kandidatnivå, utifrån en simulerad datainsamling med tillhörande beskrivning. Vi diskuterar akademiskt språkbruk, berättartekniskt upplägg och grundläggande vetenskapliga forskningsstrategier. I ditt examensarbete kommer du tillämpa ett vedertaget vetenskapligt referenssystem till källor som demonstreras i den här kursen.

    År 3

    Termin 5 (Ht)

    Terminen kan bytas ut mot breddningsstudier eller utbytesstudier (information om utbytesstudier)

    Vetenskaplig metodik och kommunikation 7,5 hp
    Kursen behandlar vetenskaplig metodik och kommunikation av vetenskapliga resultat inom data- och systemvetenskap med särskilt fokus på planering, utförande och analys av en vetenskaplig undersökning.

    Valbara kurser ur kurspoolen 22,5 hp
    Kurspoolen HT

    Termin 6 (Vt)

    Valbara kurser ur kurspoolen 15 hp (eller praktik 15 hp)
    Kurspoolen VT

    Starkt rekommenderade kurser att välja:

    Parallell och distribuerad programmering 7,5 hp
    Kursen presenterar programspråkkonstruktioner för skapande av parallella respektive distribuerade program. Du lär dig konstruera parallella och distribuerade program i ett eller flera lämpliga språk och att redogöra för grundläggande begrepp och modeller inom parallell respektive distribuerad programmering.

    Artificiell Intelligens 7,5 hp
    Kursen är en översiktlig introduktion där vi tillsammans undersöker området artificiell intelligens ur ett tillämpat perspektiv varvid en hel del programmering förväntas av kursdeltagarna. Exempel på nyckelord från kursen är: söktekniker, maskininlärning, intelligenta agenter, tekniker för AI i spel, beslutsalgoritmer och behandling av naturligt språk.

    Praktik 15 hp (eller valbara kurser ur kurspoolen 15 hp)
    Kursen syftar till att ge kunskaper om hur olika data- och systemvetenskapliga teorier och metoder praktiskt används inom näringsliv, offentlig förvaltning eller annan organisation samt till att ge intryck och kontakter som hjälp i det framtida yrkesvalet. Mer information om praktik 15 hp

    Examensarbete 15 hp
    Mer information om examensarbete

  • Arbetsmarknad och karriär

    Efter examen kan du exempelvis arbeta som programmerare, systemutvecklare eller projektledare. Du kan också välja att studera vidare till en masterexamen.

  • Kontakt