Curriculum-text

INTRODUCTION

This document presents the general structure for the CUGS course curriculum, describing the goals with CUGS graduate education, as well as a specification of the core course curriculum that is part of the CUGS course curriculum. The curriculum is also available in PDF

SCIENTIFIC SCOPE OF CUGS

The graduate school focuses on central parts of the scientific areas core computer science (sv. datalogi) and computer engineering (sv. datorsystem), emphasizing applied research with a strong theoretical foundation. As such, the scientific scope of CUGS embraces the following characteristic subject areas:

  • ways of specifying computational behaviour, including both algorithms and large-scale software: programming languages on all levels, specification languages, special-purpose and script languages, etc

  • ways of describing computational processes on different substrates, including computational processes on the electronic level (VLSI etc) as well as software configuration systems

  • ways of describing the structure and expressing the contents of data collections (data bases in a broad sense, including mark-up languages etc)

  • information systems in the sense of software artefacts (but not information systems in the sense of e.g. enterprise information system)

  • the study of specific (classes of) algorithms and data structures, in particular, those that are used for systems related purposes in computing systems

  • industrial-strength formal methods for software and systems design

  • real-time systems and embedded systems

  • distributed systems and other net-centric systems

  • techniques for implementing autonomous and intelligent behaviour in computational systems (agent technology, problem-solving, planning, learning, and other similar behaviour in AI systems)

  • ways of defining autonomous behaviour in mechanical systems with embedded computing capability (robotics in a broad sense)

  • soft computing, including fuzzy and rough theories, probability based representation schemes, and neural networks

  • ways of characterizing the computational requirements (space, memory) of computational processes, and of using those estimates in higher level processes (e.g. real time systems)

  • ways of presenting information to the computer user in multi-modal forms, including in particular the use of graphics

  • the formal basis for several of the above, including the relevant branches of discrete mathematics, formal logic, and complexity theory, programming languages and systems

GOALS OF CUGS GRADUATE STUDIES

The overall goal of CUGS graduate studies is to prepare CUGS students for a professional career in teaching and research development. The more specific goals are:

  • stimulate CUGS students in their pursuit of knowledge, such that both the knowledge depth and breadth within the research area are achieved

  • train CUGS students to become independent researchers that master research methods and scientific thinking and interact with peers;

  • train CUGS students' ability to identify and formulate research problems, plan and perform research projects;

  • train CUGS students' skills in communicating and presenting research results; and

  • support CUGS students in building a personal network at both national and international level.

These goals are to be achieved by carrying out independent research under the guidance of a supervisor, and participation in a course curriculum. The present document specifies the course curriculum of CUGS.

ADMISSION REQUIREMENTS

In order to be admitted to CUGS, the following student qualifications should be fulfilled:

(i) A university degree of at least 240 credits (four years full-time study) or similar gained either in Sweden or abroad. Of the 240 credits, 90 credits in computer science, relevant to CUGS subject areas.

(ii) The ideal student has basic knowledge (A- to C-level) in all or most of the following subject areas (relevance considers student's background and research topic, and set of elective courses):

  • discrete structures (similar to the review course "Discrete Structures I")

  • logics (similar to the review course "Logics Structures I")

  • principles of computation (similar to the review course "Computation I")

  • Compilers and Interpreters or Compiler Construction (TDDB44)

  • computer networks

  • database systems

  • discrete mathematics

  • distributed and parallel systems (concurrent programming)

  • operating systems

  • programming languages

  • real-time and/or embedded systems

  • software engineering

  • artificial intelligence

  • computer architecture

Note, the student should further satisfy any specific qualifications required by the laboratory the prospective students apply to.

STRUCTURE OF CURRICULUM

The curriculum consists of two parts:

  • Course work of at least 90 credits, divided into three groups:

    • CUGS core courses

    • CUGS advanced courses

    • other courses

  • Doctoral dissertation.

CUGS is responsible that CUGS courses are of excellent quality and meet the following standards and characteristics: (i) match the profile and scientific scope of CUGS;

(ii) identify and present research within the course topic, providing in-depth knowledge in the topic area;

(iii) emphasize research methodology by exemplifying good research methodology and practice within the topic area, as well as identifying strengths, weaknesses, and alternative methods; and

(iv) are evaluated by CUGS.

In addition to CUGS courses, CUGS organizes a seminar series that focus on research methodology, computer ethics, and presentation techniques.

CUGS CORE COURSES

Core courses form the basis for a common foundational knowledge for all CUGS' PhD students. The block consist of both (i) theoretical courses in logics and mathematical training, and (ii) courses in specific applied research areas. Each core course has a prerequisite that the student has taken a corresponding course during his/her undergraduate study program.

Theoretical core courses include

It is strongly recommended that students take all of these three courses, since they are prerequisites for several other CUGS courses. However, students should at choose at least two of these courses.

In addition to the theoretical courses, the following set of elective courses is part of the core. Similar to the theoretical courses, students are encouraged to take as many of these courses as possible, and we recommend that students choose five of these courses, but students are expected to choose at least four courses (out of seven) from these courses:

THESIS PROPOSAL

Recommended time between year 1 and 2. Students who have been awarded a licentiate degree (or passed 60% of the doctoral degree) are not expected to present a thesis proposal.

The thesis proposal seminar consists of (I) a presentation made by the student at a CUGS event, for doctoral students and fculty in CUGS, followed by (II) a discussion session with questions from the audience. Three people (faculty member and two students) are appointed to start and lead the discussions initially; these should meet before the actual thesis proposal to discuss their outline.

(The thesis proposal replaces the integration test, according to decision at steering committee meeting February 13th, 2003)

CUGS ADVANCED COURSES

In order to maintain focus, it is recommended that advanced courses are in principle taken after fulfilling the requirements of the CUGS core courses. The advanced courses are elective, and provide in-depth knowledge in CUGS subject areas. Each course in this category is primarily aimed for those students who are doing their thesis in a closely related area or have a strong interest in the subject of the course. The prerequisites for the advanced courses originate from: (i) CUGS core courses, (ii) courses taken under pre-doctoral education, or (iii) other CUGS advanced courses.

Below is an incomplete list of courses that have been identified in this category.

  • Computation/Complexity III (specified in Doherty et al's document)

  • Logic III (specified in Doherty et al's document)

  • Knowledge Representation

  • Advanced Compiler Construction

  • Operating systems

  • Algorithms and data structures in computer graphics

  • Algorithms and data structures in computational geometry

  • Simulation languages and tools

  • Software engineering II

  • Parallel and distributed processing: models, algorithms and languages

  • Modelling using stochastic methods

  • Constraint programming

  • Soft computing techniques

  • Probability theory, fuzzy logic, neural networks and genetic algorithms, etc.

  • Distributed AI: autonomous agents etc.

  • Computer communication architectures and protocols

  • Dependable systems: highly available systems, safety-critical systems.

  • Advanced programming and specification languages

  • Programming 3D graphics and virtual reality

  • etc

OTHER COURSES

Courses in this category include other courses, e.g., non-computer science courses such as research methodology, presentation techniques etc, that the student and supervisor find to be a strong complement considering the individual student's interests, abilities, and future career.

short-ann

 

Travel reports

Licentiate seminars

PhD-seminars

Courses Fall 2014

 







Last modified on August 2014 by Anne Moe