Computer Science, Master's Programme, 120 credits

Computer Science, masterprogram, 120 hp

Teaching language

English

Campus

Linköping

Degree

Master of Science (two years) with a major in Computer Science

Pace of study

Full-time

Purpose

The Master's Programme in Computer Science aims to educate specialists who will be able to work at the forefront of modern software and computer systems technology in a variety of application areas. The programme also aims at ensuring that the students are well prepared for a career in research or continued studies towards a doctoral degree.
Computer science is one of the most dynamic and expansive fields of science. For the individual scholar or the professional in the field this means that, as well as having a good understanding of the theoretical and technical foundations of the field, one needs to be able to apply the technology to new challenging problems and integrate it with other technologies. 

Aim

The Master's Programme in Computer Science offers the opportunity for advanced study in computer science and engineering and allows for flexible planning of specialization areas. Having covered core computer science courses, the students will be able to focus their studies on areas such as artificial intelligence, databases and data-mining, internet computing, embedded systems, information security, design and programming computer games, language technology, human-computer interaction, theoretical computer science or design and implementation of computer languages.
The following learning outcomes will serve as measurable goals towards the implementation of the general aim of the program. These objectives are formulated in terms of capacities competences of the students who successfully complete the program.

  • A Computer Science master will be able to understand and apply mathematical concepts which are necessary for modelling various kinds of computational problems. He/She will have an understanding of both software and hardware issues.
  • A Computer Science master will be a competent programmer who is familiar with a variety of programming languages and tools and is able to creatively apply his/her knowledge and skills to modelling and developing software solutions which contribute towards applications in a wide variety of application domains.
  • The Computer Science master will be able to work as a team member and effectively cooperate with other specialists and contribute towards the solution of complex technical problems.
  • The Computer Science master will be qualified to take a leading role in a software design and development team, evaluate and compare solutions, and decision making. He/She will be able to further deepen his/her knowledge and contribute to the development of the area.
  • The Computer Science master will be a good communicator who will be able to present coherent technical and scientific results both orally and in writing.
  • Students who successfully complete the programme will have a good understanding of the impact of computers in society, ethical issues relevant to the field, as well as the responsibilities of the computer science professionals.
  • Although computer science enjoys a relatively stable scientific foundation, the field is still dynamic and expansive. An important aspect of educational programs in the field is to prepare the students for a lifelong learning in the field.  

Content

The programme is based on fundamental mathematical, theoretical, and technical knowledge acquired by the student during his/her undergraduate education. This basic knowledge should cover programming in various languages and paradigms, algorithms, databases, system software, operating systems and mathematical knowledge which should include discrete mathematics, logic and statistics.
The Master's Programme in Computer Science is both theoretical and applied. A number of courses will provide the student with the broad view and understanding needed in order to master the general area. At the same time, a proper selection of courses allows for further specialisation.
Communication skills, presentation techniques (both oral and written), as well as team work, are emphasized during the whole program.
Each year the programme board decides what courses will be given and included in the programme. This is found in the curriculum. For each course there is a course syllabus, describing the learning outcomes, organisation, examination and the classification of the advancement level and to what subject area the course belongs. The course advancement level and subject area are important in fulfilling the requirements for the Master's degree. 

Education profiles

The specialisation areas are visible in the syllabus. If a specialisation requirement is fulfilled the specialisation will be included in the Degree Certificate.

Specialisation areas in the programme include:

  • Artificial Intelligence and Data Mining
  • Visualization and Computer Graphics
  • Computer Networks, Distributed Systems and Security
  • Embedded Systems
  • Programming and Software Methods

In order to meet the specialization requirement, 42hp of the elective courses in the degree must be within the specialization.

Entry requirements

  • A bachelor's degree with a major in computer science, information technology, software engineering, computer engineering, alternatively, a bachelor's degree with a minor in computer science or related subject area, with a minimum of 60 ECTS credits in computer-related subjects (e.g. programming, data structures, databases, software engineering, computer hardware, computer networks).
  • At least 24 ECTS credits in mathematics/applied mathematics and/or application of mathematics relevant for the programme including courses in discrete mathematics, linear algebra, calculus and mathematical statistics. 
  • English corresponding to the level of English in Swedish upper secondary education (English 6/B)

Degree thesis

The thesis encompasses independent work corresponding to 30 ECTS credits. The students are encouraged to carry out their thesis work in their specialisation area. Thesis work should be supervised by a faculty member within computer science and engineering.
 

Degree requirements

The programme is designed to give the Master's Degree "Teknologie masterexamen i datavetenskap" translated to "Master of Science (2 years) with a major in Computer Science".

The requirements are the following:

  • a Bachelor's degree as specified in the entrance requirements.
  • course requirements for a total of 120 ECTS credits from courses from the curriculum of the programme, or after special decision from the programme board, and thesis work.
  • passed the requirements for all compulsory courses.
  • courses on advancement level A (advanced) 90 ECTS credits including:
    • at least 30 ECTS credits courses from the major subject of Computer Science.
    • a 30 ECTS credits Master's Thesis in the major subject of Computer Science.
  • at least 45 ECTS credits from courses in mathematics or applications of mathematics from the Bachelor level (basic) or Master level (advanced), see list of specific courses.
  • a Master's thesis presented and passed as per Linköping Institute of Technology degree regulations.

Courses overlapping each other regarding contents are not allowed to be included in the degree. Courses used for the Bachelor's degree can never be included in the Master's degree.

Entrance requirements

See general rules and regulations for master programmes at LiTH.


About the Degree
Students who have studied advanced courses in computer science prior to the Master's programme can either transfer some of their credits to the programme or be allowed to substitute compulsory courses in the programme with other courses. Transferring credits is only applicable to earlier courses that have not been included in other degrees.

Degree in Swedish

Master of Science (120 credits) with a major in Computer Science.

Degree in English

Master of Science (two years) with a major in Computer Science

Specific information

Graduate Level Courses
Certain PhD courses can be taken by master students. These course selections are subject to formal decision by the executive committee of the Programme Board.

Common rules

See also common rules

Semester 1 (Autumn 2017)

Course code Course name Credits Level Timetable module EMV
Period 1
TDDC17 Artificial Intelligence 6 G2X 3 E
TDDD65 Introduction to the Theory of Computation 6* G2X 2 M
* The course is divided into several semesters and/or periods.
TDDE18 Programming C++ 6* G2X 4 M
* The course is divided into several semesters and/or periods.
TDTS06 Computer Networks 6 G2X 1 E
Period 2
TDDD07 Real Time Systems 6 A1X 4 E
TDDD37 Database Technology 6 G2X 1 E
TDDD65 Introduction to the Theory of Computation 6* G2X 1 M
* The course is divided into several semesters and/or periods.
TDDE01 Machine Learning 6 A1X 1 E
TDDE18 Programming C++ 6* G2X 3 M
* The course is divided into several semesters and/or periods.
TDTS08 Advanced Computer Architecture 6 A1X 2 E
TSIT02 Computer Security 6 G2X 2 E
Course code Course name Credits Level Timetable module EMV
Period 1
TDDC17 Artificial Intelligence 6 G2X 3 E
Period 2
TDDD37 Database Technology 6 G2X 1 E
TSIT02 Computer Security 6 G2X 2 E
Course code Course name Credits Level Timetable module EMV
Period 1
TDTS06 Computer Networks 6 G2X 1 E
TDTS06 Computer Networks 6 G2X 1 E
Period 2
TSIT02 Computer Security 6 G2X 2 E
Course code Course name Credits Level Timetable module EMV
Period 2
TDDD07 Real Time Systems 6 A1X 4 E
TDTS08 Advanced Computer Architecture 6 A1X 2 E
Course code Course name Credits Level Timetable module EMV
Period 1
TDDC17 Artificial Intelligence 6 G2X 3 E

Semester 2 (Spring 2018)

Course code Course name Credits Level Timetable module EMV
Period 1
TATA54 Number Theory 6* G2X 0 E
* The course is divided into several semesters and/or periods.
TATA64 Graph Theory 6* A1X 2 E
* The course is divided into several semesters and/or periods.

The course is given every other year (odd years). 

TBMI26 Neural Networks and Learning Systems 6 A1X 2 E
TDDB68 Concurrent Programming and Operating Systems 6 G2X 3 E
TDDD17 Information Security, Second Course 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDD25 Distributed Systems 6 A1X 2 E
TDDD38 Advanced Programming in C++ 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDD41 Data Mining - Clustering and Association Analysis 6 A1X 3 E
TDDD97 Web Programming 6 G2X 3 E
TDDE05 AI Robotics 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE09 Natural Language Processing 6 A1X 2 E
TDTS07 System Design and Methodology 6 A1X 1 E
TDTS21 Advanced Networking 6* A1X 1 E
* The course is divided into several semesters and/or periods.

The course is offered via PhD-course at IDA 2018. Contact examiner.

TNM048 Information Visualisation 6 A1X 3 E
TNM061 3-D Computer Graphics 6* G2X 1 E
* The course is divided into several semesters and/or periods.
TSBK35 Audio and Image Compression 6 A1X 4 E
Period 2
TAOP24 Optimization, Advanced Course 6 G2X 1 E
TATA54 Number Theory 6* G2X 0 E
* The course is divided into several semesters and/or periods.
TATA64 Graph Theory 6* A1X 2 E
* The course is divided into several semesters and/or periods.

The course is given every other year (odd years). 

TDDC78 Programming of Parallel Computers - Methods and Tools 6 A1X 3 E
TDDD05 Component Based Software 6 A1X 1 E
TDDD17 Information Security, Second Course 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDD27 Advanced Web Programming 6 A1X 3 E
TDDD29 IT-Project Management 6 A1X 3 E
TDDD38 Advanced Programming in C++ 6* A1X - E
* The course is divided into several semesters and/or periods.
TDDD48 Automated Planning 6 A1X 1 E
TDDE05 AI Robotics 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE31 Big Data Analytics 6 A1X 1 E
TDTS21 Advanced Networking 6* A1X 1 E
* The course is divided into several semesters and/or periods.

The course is offered via PhD-course at IDA 2018. Contact examiner.

TNM061 3-D Computer Graphics 6* G2X 4 E
* The course is divided into several semesters and/or periods.
TNM079 Modelling and Animation 6 A1X 2 E
TNM096 Artificial Intelligence - Principles and Techniques 6 G2X 1 E
TNM098 Advanced Visual Data Analysis 6 A1X 4 E
Course code Course name Credits Level Timetable module EMV
Period 1
TBMI26 Neural Networks and Learning Systems 6 A1X 2 E
TDDD41 Data Mining - Clustering and Association Analysis 6 A1X 3 E
TDDE05 AI Robotics 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE09 Natural Language Processing 6 A1X 2 E
Period 2
TDDD48 Automated Planning 6 A1X 1 E
TDDE05 AI Robotics 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE31 Big Data Analytics 6 A1X 1 E
TNM096 Artificial Intelligence - Principles and Techniques 6 G2X 1 E
Course code Course name Credits Level Timetable module EMV
Period 1
TDDD17 Information Security, Second Course 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDD25 Distributed Systems 6 A1X 2 E
TDTS21 Advanced Networking 6* A1X 1 E
* The course is divided into several semesters and/or periods.

The course is offered via PhD-course at IDA 2018. Contact examiner.

Period 2
TDDD17 Information Security, Second Course 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDTS21 Advanced Networking 6* A1X 1 E
* The course is divided into several semesters and/or periods.

The course is offered via PhD-course at IDA 2018. Contact examiner.

Course code Course name Credits Level Timetable module EMV
Period 1
TDDB68 Concurrent Programming and Operating Systems 6 G2X 3 E
TDDD25 Distributed Systems 6 A1X 2 E
TDTS07 System Design and Methodology 6 A1X 1 E
Period 2
TDDC78 Programming of Parallel Computers - Methods and Tools 6 A1X 3 E
Course code Course name Credits Level Timetable module EMV
Period 1
TDDB68 Concurrent Programming and Operating Systems 6 G2X 3 E
TDDD25 Distributed Systems 6 A1X 2 E
TDDD38 Advanced Programming in C++ 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDD97 Web Programming 6 G2X 3 E
Period 2
TDDC78 Programming of Parallel Computers - Methods and Tools 6 A1X 3 E
TDDD05 Component Based Software 6 A1X 1 E
TDDD27 Advanced Web Programming 6 A1X 3 E
TDDD38 Advanced Programming in C++ 6* A1X - E
* The course is divided into several semesters and/or periods.
Course code Course name Credits Level Timetable module EMV
Period 1
TNM048 Information Visualisation 6 A1X 3 E
TNM061 3-D Computer Graphics 6* G2X 1 E
* The course is divided into several semesters and/or periods.
TSBK35 Audio and Image Compression 6 A1X 4 E
Period 2
TDDD27 Advanced Web Programming 6 A1X 3 E
TNM061 3-D Computer Graphics 6* G2X 4 E
* The course is divided into several semesters and/or periods.
TNM079 Modelling and Animation 6 A1X 2 E
TNM096 Artificial Intelligence - Principles and Techniques 6 G2X 1 E
TNM098 Advanced Visual Data Analysis 6 A1X 4 E

Semester 3 (Autumn 2018)

Course code Course name Credits Level Timetable module EMV
Period 1
TATA55 Abstract Algebra 6* G2X 3 E
* The course is divided into several semesters and/or periods.
TBMI19 Medical Information Systems 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDB84 Design Patterns 6 A1X 4 E
TDDC34 Technical, Economic and Societal Evaluation of IT-products 6 A1X 3 E
TDDC88 Software Engineering 12* A1X 1 E
* The course is divided into several semesters and/or periods.
TDDD04 Software Testing 6 A1X 2 E
TDDD08 Logic Programming 6 A1X 4 E
TDDD23 Design and Programming of Computer Games 6 A1X 2 E
TDDD38 Advanced Programming in C++ 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDD43 Advanced Data Models and Databases 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDE19 Advanced Project Course - AI and Machine Learning 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDTS06 Computer Networks 6 G2X 1 E
TNCG15 Advanced Global Illumination and Rendering 6 A1X 4 E
TNM067 Scientific Visualization 6 A1X 3 E
TNM095 Artificial Intelligence for Interactive Media 6 A1X 2 E
TSEA26 Design of Embedded DSP Processor 6 A1X 1 E
TSIN01 Information Networks 6 A1X 3 E
TSIT03 Cryptology 6 A1X 2 E
TSKS02 Telecommunication 6* G2X 1 E
* The course is divided into several semesters and/or periods.
TSKS12 Modern Channel Coding, Inference and Learning 6 A1X 1 E
TSTE86 Digital Integrated Circuits 6 A1X 2 E
Period 2
TAMS22 Probability Theory and Bayesian Networks 6 A1X 1 E

The coure is given every second year, even years. The course was cancelled 2018.

TATA55 Abstract Algebra 6* G2X 3 E
* The course is divided into several semesters and/or periods.
TBMI19 Medical Information Systems 6* A1X 3 E
* The course is divided into several semesters and/or periods.
TDDB44 Compiler Construction 6 A1X 1 E
TDDC88 Software Engineering 12* A1X 1 E
* The course is divided into several semesters and/or periods.
TDDC90 Software Security 6 A1X 1 E
TDDD38 Advanced Programming in C++ 6* A1X - E
* The course is divided into several semesters and/or periods.
TDDD43 Advanced Data Models and Databases 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDD56 Multicore and GPU Programming 6 A1X 2 E
TDDD89 Scientific Method 6 A1X 3 M
TDDE13 Multi Agent Systems 6 A1X 1 E

The course is cancelled 2018.

TDDE16 Text Mining 6 A1X 2 E
TDDE19 Advanced Project Course - AI and Machine Learning 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TNM084 Procedural Methods for Images 6 A1X 4 E
TNM086 Virtual Reality Techniques 6 A1X 2 E
TSIN02 Internetworking 6 A1X 1 E
TSKS02 Telecommunication 6* G2X 2 E
* The course is divided into several semesters and/or periods.
Course code Course name Credits Level Timetable module EMV
Period 1
TDDD08 Logic Programming 6 A1X 4 E
TDDD23 Design and Programming of Computer Games 6 A1X 2 E
TDDD43 Advanced Data Models and Databases 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDE19 Advanced Project Course - AI and Machine Learning 6* A1X 4 E
* The course is divided into several semesters and/or periods.
Period 2
TDDD43 Advanced Data Models and Databases 6* A1X 2 E
* The course is divided into several semesters and/or periods.
TDDE13 Multi Agent Systems 6 A1X 1 E

The course is cancelled 2018.

TDDE16 Text Mining 6 A1X 2 E
TDDE19 Advanced Project Course - AI and Machine Learning 6* A1X 4 E
* The course is divided into several semesters and/or periods.
Course code Course name Credits Level Timetable module EMV
Period 1
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TDTS06 Computer Networks 6 G2X 1 E
TSIN01 Information Networks 6 A1X 3 E
TSIT03 Cryptology 6 A1X 2 E
TSKS02 Telecommunication 6* G2X 1 E
* The course is divided into several semesters and/or periods.
Period 2
TDDC90 Software Security 6 A1X 1 E
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TSIN02 Internetworking 6 A1X 1 E
TSKS02 Telecommunication 6* G2X 2 E
* The course is divided into several semesters and/or periods.
Course code Course name Credits Level Timetable module EMV
Period 1
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TSEA26 Design of Embedded DSP Processor 6 A1X 1 E
TSKS02 Telecommunication 6* G2X 1 E
* The course is divided into several semesters and/or periods.
TSTE86 Digital Integrated Circuits 6 A1X 2 E
Period 2
TDDD56 Multicore and GPU Programming 6 A1X 2 E
TDDE21 Advanced Project Course: Secure Distributed and Embedded Systems 6* A1X 4 E
* The course is divided into several semesters and/or periods.
TSKS02 Telecommunication 6* G2X 2 E
* The course is divided into several semesters and/or periods.
Course code Course name Credits Level Timetable module EMV
Period 1
TDDB84 Design Patterns 6 A1X 4 E
TDDC88 Software Engineering 12* A1X 1 E
* The course is divided into several semesters and/or periods.
TDDD04 Software Testing 6 A1X 2 E
TDDD08 Logic Programming 6 A1X 4 E
Period 2
TDDB44 Compiler Construction 6 A1X 1 E
TDDC88 Software Engineering 12* A1X 1 E
* The course is divided into several semesters and/or periods.
TDDC90 Software Security 6 A1X 1 E
TDDD56 Multicore and GPU Programming 6 A1X 2 E
Course code Course name Credits Level Timetable module EMV
Period 1
TNCG15 Advanced Global Illumination and Rendering 6 A1X 4 E
TNM067 Scientific Visualization 6 A1X 3 E
TNM095 Artificial Intelligence for Interactive Media 6 A1X 2 E
Period 2
TNM084 Procedural Methods for Images 6 A1X 4 E
TNM086 Virtual Reality Techniques 6 A1X 2 E

Semester 4 (Spring 2019)

Course code Course name Credits Level Timetable module EMV
Period 1
TQXX30 Degree project - Master’s Thesis 30* A1X - M
* The course is divided into several semesters and/or periods.
Period 2
TQXX30 Degree project - Master’s Thesis 30* A1X - M
* The course is divided into several semesters and/or periods.