Till startsida
Webbkarta
Till innehåll Läs mer om hur kakor används på gu.se

Obligatoriska kurser, HT13-HT16

I tabellen nedan visas en översikt över obligatoriska kurser. 

Du får 15 hp per studieperiod och 15 hp för ditt kandidatarbete. Kurser i fetstil ges två gånger per år, och du kan välja vid vilket tillfälle du vill läsa respektive kurs.

Informationen i tabellen nedan gäller för dig som startade utbildningen mellan HT13-HT16.
Från och med HT17 gäller informationen som finns här.

Det språk kursnamnet är angivet på indikerar vilket språk kursen ges på.

År 1
Studieperiod
1
Studieperiod
2
Studieperiod
3
Studieperiod
4
Diskret matematik för datavetare
(7.5 hp)
Linjär Algebra
(7.5 hp)
Matematisk analys
(7.5 hp)
Finite automata theory and formal languages
(7.5 hp)
Introduction to functional programming
(7.5 hp)
Imperativ programmering med grundläggande objektorientering
(7.5 hp)
Objektorienterad programmering och design
(7.5 hp)
Data structures
(7.5 hp)
År 2
Studieperiod
1
Studieperiod
2
Studieperiod
3
Studieperiod
4
Principles of Concurrent Programming
(7.5 hp)
Testing,
debugging and
verification

(7.5 hp)
Principles of Concurrent Programming
(7.5 hp)
Matematisk
modellering o problemlösning

(7.5 hp)
År 3
Studieperiod
1
Studieperiod
2
Studieperiod
3
Studieperiod
4
Algorithms
(7.5 hp)
Valfri
Kandidatarbete
(15 hp)
 Valfri Valfri   Valfri  Algorithms
(7.5 hp)

Diskret matematik för datavetare (DIT980)

Kursen ger grundläggande kunskaper om diskreta matematiska strukturer som behövs som förkunskapskrav för fortsatta högskolestudieri datavetenskap och datorteknik. I kursen understryks matematikens viktiga roll inom studentens framtida studier och inom data-området som helhet.

Kursen ger också en konkret bild och framåtblick av såväl de stora klassiska grundläggande frågor inom datavetenskapen (t.ex. Halting problemet, P vs. NP), som de stora aktuella utmaningarna inom dataområdet (t.ex. "big data", multi-core revolutionen), och vilken roll matematiken spelar i dessa frågor.

Linjär algebra (MMGD20)

Kursen behandlar grundläggande begrepp inom linjär algebra. Linjära ekvationer och system förekommer i alla linjära modeller inom naturvetenskap, teknik och ekonomi (numeriska ekvationer, differentialekvationer, etc). Linjär algebra ger en samlad kraftfull formalism för alla sådana ekvationer.

Matematisk analys (MMGD30)

Tillsammans med övriga matematikkurser i programmet ger kursen en generell matematisk grund som är användbar både i dina fortsatta studier och i yrkeslivet. Kursen behandlar envariabelanalys, komplexa tal och differentialekvationer.

Finite automata theory and formal languages (DIT321)

The course presents both the theory of finite automata, pushdown automata and a short introduction to Turing machines. Finite automata (and regular expressions) are one of simplest model of computations, and they are widely used in applications such as traffic light, lexical analysis, pattern search algorithm, etc. Pushdown automata are finite automata with stacks. The theory is more complex, but has important applications in parsing and analysis of context-free languages. Turing machines were described in 1937 and they are a powerful model of computation since they help computer scientists understand the limits of mechanical computation by providing a precise definition of an ’algorithm’ or ’mechanical procedure’.

Introduction to functional programming (DIT440)

Kursen är en introduktionskurs i funktionell programmering, med Haskell som undervisningsspråk. Det primära målet är att studenterna ska lära sig att skriva realistiska (små) program för verkliga applikationer, och att samtidigt introducera några av de grundläggande begreppen i datavetenskap. Sekundära mål är att ge vägledning om kommande kurser (särskilt datastrukturer, algoritmer, digitala kretsar, formella metoder och programmeringskurser) och att, med hjälp av inbjudna talare, ge en inblick i karriärmöjligheterna inom data.

Imperativ programmering med grundläggande objektorientering (DIT012)

Kursens behandlar imperativ programmering och algoritmer i ett objektorienterat programmeringsspråk. I den första delen av kursen presenteras imperativa tekniker och koncept: programmering med tillstånd. I kursens andra del ges en kort introduktion till den objektorienterade omgivningen. Kursen tar dessutom upp arbetssätt, idiom, grundläggande kvalitetsaspekter samt testning och felsökning.

Objektorienterad programmering och design (DIT953)

Kursen presenterar det objektorinterade programmeringsparadigmet och lägger stor vikt vid programkonstruktion (design) och testning. För att beskriva designen används elementära delar av the Unified Modelling Language (UML).

Data Structures (DIT961)

The course studies common abstract data types; data structures such as arrays, lists, trees, hash tables and how these can be used to implement abstract data types such as stacks, queues, priority queues, dictionaries and graphs; standard algorithms for these data structures and their resource demands,focusing both on object-oriented and functional languages; sorting algorithms; and standard libraries for data structures and algorithms.

Principles of Concurrent Programming (DIT391)

(Kursen kan läsas antingen i studieperiod 1 eller 3.)
Concurrent and parallel programming has become ubiquitous in modern software and systems, where concurrency is leveraged to exploit physical parallelism and speed up computations, to provide interactive multi-tasking, and to handle interaction with asynchronous external events. This course aims to provide an introduction to the principles underlying concurrent systems, as well as to practical programming solutions for modeling and exploiting concurrency in programs. Domains where such principles and practices are relevant include operating systems, distributed systems, real-time systems, and multicore architectures.

Matematisk modellering och problemlösning (DIT991)

Matematiska modeller används inom vetenskap och ingenjörskonst för att beskriva och representera olika objekt och system, för att analysera, förstå och förutsäga, och för att hitta den bästa designen eller strategin. Matematisk modellering är därför en grundläggande teknisk kunskap. Med noggrant utvalda övningar lär denna kurs ut matematisk modellering som ett verktyg för att lösa verkliga problem. Problemen tas från databehandling och traditionella tekniska discipliner, liksom från andra områden, t.ex. ekonomi, medicin och spel. Kursen är främst avsedd som en introduktion till matematisk modellering för studenter med begränsad erfarenhet av användning av matematik i teknik, men som kan komma att arbeta inom olika områden där kunskaper i matematik är användbara. Med tillämpningsorienterade övningar och genom att undervisa i modellering och problemlösning, överbryggar kursen klyftan mellan de teoretiska kurserna i matematik och relevanta tillämpningar.

Algorithms (DIT602)

(Kursen kan läsas antingen i studieperiod 1 eller 4.)
The algorithms course revolves around three central questions that appears naturally when one wants to use a computer to solve a problem: Is the problem computationally solvable at all? How can we do it? How fast can the solution be? The course provides basic knowledge and methods to answer these types of question as precisely as possible, and improve the ability to write fast and well-founded programs. Other important aspects are: to improve the intuitive sense of time complexity of problems and algorithms in general, to show how the choice of data structures can influence speed of a program, and how data structures must be adapted to algorithms. The most important goal of the course is though to give general principles of creating good algorithms for new problems for which you cannot find any published algorithm.

Testing, debugging and verificaton (DIT082)

The main aim of the course is to provide a basic understanding of techniques that cope with errors in programs. Recurring themes are a) the identification of errors, b) their analysis, and c) their removal. The course also provides an understanding of systematic ways of convincing oneself that a program unit really does what it should. After the course, students should have understood –and be able to employ– the methods testing (trying to reveal the presence of errors in a systematic way), debugging (the act of isolating and fixing errors), and verification (reasoning about programs in order to guarantee correctness). All these methods only make sence in the the presence of a specification of what the program is supposed to do. In the course students will also learn how to use precise methods for writing requirements.

Kontaktinformation

Eirin Bakken, Studievägledare

Besöksadress:
Rum 4478 Maskingränd 2 (EDIT-huset, Johanneberg)

Telefon:
031-772 1709

Sidansvarig: Anneli Andersson|Sidan uppdaterades: 2017-08-11
Dela:

På Göteborgs universitet använder vi kakor (cookies) för att webbplatsen ska fungera på ett bra sätt för dig. Genom att surfa vidare godkänner du att vi använder kakor.  Vad är kakor?