Programme syllabus for the master programme in Computer Science 2015/2016

4.2.1 Description of the programme

The programme offers a structured range of courses leading to the Masters degree in computer science. Courses can also be pursued at institutes of higher education in Sweden or abroad. The programme offers great freedom of choice, and the opportunity to create individual combined studies is one of the programme's strengths. Teaching is linked to current research.

4.2.2 Comprehensive aims of the education

The education will give students detailed knowledge in the main field of computer science. The emphasis is on analytical ability and knowledge that will be of long-term benefit in an area in the process of rapid development. The programme thus does not focus on any particular programming languages, hardware platforms or operating systems. Those who have completed the programme are able to perform critical analysis, apply their knowledge in the field of computer science and independently acquire the new knowledge required. A typical example is the fact that computer scientists can very quickly learn new programming languages.

4.2.3 Aims as expected results of the study

In line with the aims stipulated in the Swedish University Ordinance, within the field of the programme students shall:

  • be able to define, formulate and resolve computer-science problems independently;
  • have the wide-ranging and detailed knowledge of computer science necessary for further research studies or for activities in the field of industry and commerce or public office;
  • be able to use, compare and criticise various computer-science models in order to explain scientific problems, and shall give reasons for when the different models are applicable;
  • have developed computer-science skills applicable in other areas, e.g. be able to use computer-science methods when resolving problems in the fields of technology or natural sciences;
  • have detailed knowledge of methods and principles regarding computers as a versatile aid – above all in the fields of mathematics, natural sciences and technology, but also in other subject areas;
  • be able to use computer-science terminology in order to present, explain and discuss various computer-science problems;
  • be able to use knowledge of mathematics or allied fields of natural science in order to intensify understanding of computer science;
  • be well acquainted with the structure of computer-science theory and be able to apply this theory to fields outside pure computer science;
  • be able to write computer programs in several different development environments and programming paradigms, and quickly be able to learn new languages and development environments;
  • be able to formulate models, problems and their solutions with the aid of algorithms, computers and programs;
  • be able to follow developments in knowledge and evaluate new findings by critically using computer-science literature and databases;
  • be able to critically summarise the state of knowledge in the specialist area and allied fields, including the results of new research;
  • beyond what is required for the first degree, possess detailed knowledge, realise its limitations and thereby be able to broaden their area of knowledge quickly and at their own initiative.

The programme shall form the basis for active participation in a research project, either as a doctoral student on a PhD programme, as an employee in a research group in the field of industry and commerce, or for advanced professional activities in a wide-ranging field of work.

4.2.4 Programme outline

The programme has three specialisations;

  • Computer science - general
  • Sino-Swedish specialisation in computer science and software engineering (jointly taught with School of Software Engineering, Tonji University, Shanghai, China).
  • Concurrency and Parallell Programming

The placement of the courses is subject to changes. Some courses can be taken in more than one period, together with other programmes.

4.1.5 The courses of the programme

The order of courses in the programme is shown below per study year. Each year is divided into four periods, period 11 means period one year one etc. Main field is given by the abbreviations D = Computer Science, M = Mathematics and T = Technology. The studies begins with the course 1DT032 - Advanced Computer Science Studies in Sweden. If the number of students who want to attend the courses marked with * are few, the courses might be cancelled or given with different teaching methods


A. Computer Science - general

Semester 1 and 2

Period

Course code

Course name

Hp

Level

Main field

 11

1DT032

Advanced Computer Science Studies in Sweden

5

A1N

D

1DL210

Algorithms and Data structures I

5

G1F

D, T

1DL340

Artificial Intelligence

5

A1N

D

1DT061*

Computing Education Research

(5)

A1N

D

1DT052

Computer Networks I

5

G1F

D

1DL440

Constraint Programming

(5)

D T

1DL301

Database Design I

5

G2F

D T STS

1DL330

Functional Programming I

5

A1N

D

1DL360

Data Mining

1TD046*

Programming, bridging course

(5)

A1N

D TBV

1DT034*

Programming Theory

(5)

A1N

D

1DT063

Real Time Systems I

5

A1N

D T

1DL250

Software Engineering

5

A1N

D T

1MD016

Human Computer Interaction  (internet based)

5

G1N

D T

 1DL540

Language Abstractions for Concurrent and Parallel Programming

(5)

A1N

D

1DL311

Semantics of Programming Languages

5

G2F

D

12

1DL450

Advanced functional programming

5

A1F

D

1DL241

Advanced Sofrware Design

5

A1N

D T

1DL231

Alghoritms and Data Structures II
 

5

G2F

D

1DT061*

Computing Education Research

5 (10)

A1N

D

1DL440

Constraint Programming

(5) 10

D T

1DL301

Database Design I

5

G2F

D T, STS

1DL400

Database Design II

5

A1N

D T

1MD016

Human Computer Interaction

5

G1N

D, T

1RT485

Introduction to Computer Control Systems

5

G2F

T

1TD184

Optimization

5

A1N

D T TBV

1TD046

Programming, bridging course

(5) 10

A1N

D, TBV

1DT034

Programming Theory

(5) 10

A1N

D

1TD396

Computer Assisted Image Analysis

5

A1N

D T

1DT074

Computer Networks II

(5)

A1N

D T

1DL321

Compiler Design I

5

G2F

D T

1MD017

IT Systems and Human Factors 

5

A1N

D T MDI

1TD046*

Programming, Bridging Course

(5) 10

A1N

D T TBV

1DL540

Language Abstractions for Concurrent and Parallel Programming

(5) 10

A1N

D

1DT072

Secure Computer Systems I

5

A1N

D T

1DL600

Software Testing and Maintenance

(5)

A1N

D T

1DT103

Wireless Communication and Networked Embedded Systems

(5)

A1F

D T IS

1DT095

Wireless Communication and Networked Embedded Systems

5

A1F

D t IS

13

1MD001*

Advanced Interaction Design

5

A1N

D T MDI

1DL481

Algorithms and Data Structures III

5

A1N

D

1DL420*

Compiler Design Project

5

A1N

D T

1DL520*

Compiler Design II

(5)

A1N

D T

1DT074

Computer Networks II

(5) 10

 A1N

D T

1DL460

Data Mining II

5

A1F

D T

1DT064*

Distributed Systems

5

A1N

D T

1DL350*

E-commerce Project

10

A1N

D T

1DT071

Machine learning

(5)

 A1N

D T

1DL250

Software Engineering

5

A1N

D T

1MD000

User Centred Systems Design

5

A1N

D T MDI

1MD002

User Interface Programming I

5

A1N

D T MDI

1DT103*

Wireless Communication and Networked embedded systems

(5) 10

A1F

D T IS

1DL480

Advanced Algorithmics

(5)

A1N

D

1DT024

Advanced Computer Architecture

(5)

A1N

D T IS

1TD398*

Computer Assisted Image Analysis II

10

A1F

D T

1DT075

Cryptology

5

A1N

D T

1DL550

Low-level Parallel Programming

5

A1N

D

1MD030*

Medical Informatics

5

A1F

D MDI

1DL600*

Software Testing and Maintenance

(5) 10

A1N

 D T

14

1DL520*

Compiler Design II

(5) 10

A1N

D T

1TD388

Computer Graphics

10

A1N

D TBV

1DT082*

Computer Networks III

5

A1F

D T

1MD032*

Intelligent Interactive Systems

5

A1N

D T MDI

1TD351

High Performance Computing and Programming

5

D T

1MD004

IT, Ethics and Organization

5

A1N

D MDI

1DT071

Machine learning

(5) 10

D T

1DT073*

Secure Computer Systems II

5

D T

1TD204

Software Architecture with Java

5

D

1MD003

User Interface Programming II

5

A1F

D MDI T

1DT024

Advanced Computer Architecture

(5) 10

A1N

D T IS

1DL260*

Software Engineering II - Value-Based Software Engineering

5

A1F

D

1TD267*

 Large Datasets for Scientific Applications

5

A1F

D TBV

1DL570*

 Testing Concurrent and Parallel Software

5

A1F

D TBV

The student who intends to obtain A Degree of Master (One Year) shall take the course 1DT440 Degree Project D in Computer Science, 15 cr

Optional course in english, period 13 or 21

5EN360

English for Students at the Faculty of Science and Technology 

7,5

G1F

Engelska

Semester 3 and 4

The student can, during semester 3, select among the courses offered for period 11 and 12, provided that the prerequisite requirements are fulfilled. It is also possible to take one of the following Courses

21

1TD265*

Applied Cloud Computing

10

A1N

D TBV

1DT059*

Model Based Design of Embedded Software

10

A1F

D T

1MD025*

Perception and Visual Design

5

A1F

D MDI

1DL560*

Parallel Programming for Efficiency

5

A1F

D T

1TD389

Scientific Visualization

5

A1N

D T TBV

21-22

1DT054

Project DV

30

A1F

D T

22

1MD020*

Advanced Visual Interfaces

5

A1N

D T MDI

1MD027*

Universal Design and Evaluation

15

A1N

D MDI

The student is expected, during semester 3 – 4, to take one of the courses

1DT540

Degree project E in Computer Science

30

E

D

1DT550

Degree project E in Computer Science

45

E

D

B Sino-Swedish Specialisation in Computer Science and Software Engineering

Semester 1 and 2 takes place at Uppsala University, while semester 3 takes place at Tongji University. Semester 4 can be taken at any of the two universities.

Semester 1-2

During semester 1 and 2, the student selects courses from the Computer Science (general) specialisation. Advice will be given on a course selection that fits, but not overlaps, courses taught at Tongji during semester 3 (and 4).

The student has the right to exchange courses corresponding to a maximum of 15 hp from computer science during semester 1 and 2 to courses with, in a broad sense, a cultural content relevant for the specialization.

The student has the right to exchange courses corresponding to a maximum of 15 hp from computer science to courses with, in a broad sense, a cultural content relevant for the specialisation.

Semester 3 och 4

Semester 3 is taught at Tongji University according to a separate curriculum.

Semester 3 is taught at Tongji University according to a separate curriculum. A degree project corresponding to 1DT550 Degree project E in Computer Science 45 hp can be initiated. This project is then concluded in semester 4, possibly in parallel with one or two other courses.
Alternatively, the student takes 1DT540 Degree project E in Computer Science, 30 hp  at Uppsala university during semester 4.
 
Students, taking the Sino-Swedish specialisation in computer science and software engineering, who are only offered payable seats at Tongji University, or who, for other reasons cannot study at this university, are offered courses from the Computer Science (general) specialisation.

C. Concurrency and Parallell Programming
 

Semester 1 and 2

Period

Course code

Course name

Hp

Level

Main field

11

1DT032

 Advanced Computer Science Studies in Sweden

5

A1N

D

11-12

1DL540

Language Abstractions for Concurrent and Parallel Programming

10

A1N

D

12-13

1DL600*

Software Testing and Maintenance

10

A1N

D T

13

1DL550

Low-level Parallel Programming

5

A1N

D

13-14

1DT024

 Advanced Computer Architecture

10

A1N

D T IS

14

1DL570*

Testing Concurrent and Parallel Software

5

A1F

D T

Semester 3 and 4

Period

Course code

Course name

Hp

Level

Main field

21

1DL560

Parallel Programming for Efficiency 
 

5

A1f

D T

21-22

1DL580

Project in Concurrent and Parallel Programming  

15

A1F

D

23-24

 1DT560

Degree Porject E in Computer Science with Concurrent and Parallel Programming

30

A2E

D


4.2.6 Eligibility requirements

Bachelor degree in Computer Science or Computer Engineering including at least 90 ECTS credits in Computer Science: Programming, Algorithms and Data Structures, Computer Architecture, Operating Systems, Computer Networks and at least 30 ECTS credits in Mathematics: Algebra, Calculus, Statistics, Logic, Automata Theory. Proficiency in English.

In the course plans the following is stated concerning prerequisites and recommended prerequisites

Prerequisites: These requirements should be fulfilled in order to admit the student to the course. Recommended prerequisites: The prerequisites that are stated here are not required to be admitted to the course. The student as to accept that a harder workload is needed if the recommended prerequisites are not fulfilled.

Students who, outside the programme, have acquired equivalent qualifications corresponding to at least 15 hp on advanced level in addition to the degree at bachelor’s level, may apply to be accepted to a later part of the programme. The application deadline is for the autumn term May 1 and for the spring term December 1.


4.2.7 Grade and examination

The general framework for assessment and reexams are settled in the course syllabi, but the details concerning the assessment for a particular course instance can vary and are clearly announced at the latest at the beginning of a course. The purpose of this arrangement is to offer flexibility for a responsible teacher to select an appropriate assessment method for the course instance, in dialogue with the programme coordinator and the relevant director of studies.


4.2.8 Courses together in a degree

Some courses cannot be considered in a degree together. Which courses this concern will be pointed out in each course syllabus.


4.2.9 Qualification and diploma

Upon request, a student who has received a pass grade in a course is to receive a course certificate from the higher education institution. Upon request, a student who meets the requirements for a qualification is to receive a diploma from the higher education institution.

A Degree of Master (One Year) is obtained after the student has completed course requirements of 60 higher education credits with a certain area of specialisation determined by each higher education institution itself, including at least 30 higher education credits with in-depth studies in Computer Science.For a Degree of Master (One Year) students must have completed an independent project (degree project) worth at least 15 higher education credits in Computer Science, within the framework of the course requirements.

A Degree of Master (Two Years) is obtained after the student has completed course requirements of 120 higher education credits with a certain area of specialisation determined by each higher education institution itself, including at least 60 higher education credits with in-depth studies in Computer Science.For a Degree of Master (Two Years) students must have completed an independent project (degree project) worth at least 30 higher education credits in Computer Science, within the framework of the course requirements.A degree of Master (Two Years) may, except for courses on advanced level, contain one or several courses on basic level comprising not more than 30 higher education credits