Datavetenskapligt Program (kandidat)
Computer Science Programme (master)
Wolfgang Ahrendt Director
Datavetenskap (BSc), Computer Science (MSc) D&IT
G¨oteborg University
Part I
D&IT:
Computer Science and Engineering
at Chalmers and University of Gothenburg
Areas of Research and Education at D&IT:
Algorithms Computer Architecture Computer Graphics Databases Data Communication Dependability Digital Systems Distributed Computing Formal Verification Interaction DesignLogical Models and Methods Natural Language Technology Programming Languages Science of Programming
D&IT Education at GU and Chalmers
3 Bachelor programmes: @GU: Datavetenskap
@CTH: Datateknik, Informationsteknik
7 Master programmes: @GU: Computer Science
@CTH: 6 specialised programmes
on course level:
courses in GU programme ≈ P courses in CHT programmes all courses shared among GU + CTH
differences:
Student Numbers of our programmes @GU
registered students as of today: old Magister 62 new Bachelor 59 new Master 16 P 137 ’frist˚aende’ 8 Erasmus 16 totalP 161
Student Numbers of our programmes @GU
registered students as of today: old Magister 62 new Bachelor 59 new Master 16 P 137 ’frist˚aende’ 8 Erasmus 16 totalP 161
What is Computer Science?
CS is the study of:
computers and computation,
their general powers and limitations,
the design and characteristics of hard- and software, the solving of problems in applications of computers
Essentials of Computer Science
represent—and reason about—computation and information develop methods to analyse and create computation and information
study symbolic representation, implementation, manipulation, communication of information
create and study working hardware and software artifacts develop models, methods, technologies to design, realise, and operate these artifacts
create abstractions (e.g., data structures)
study structures which are common to different hardware and software phenomena (e.g., finite automata)
Challenge: Wide Scope of the Area
CS field has enormous breadth and depth
large coverage is impossible in a single student’s education ⇒ focus on skills which are
common to the whole field
needed to adopt to quickly changing demands
those skills include: problem solving
adopting to any given level of abstraction
learning new artifacts (languages, libraries, tools, frameworks) and creatively use them
Challenge: Wide Scope of the Area
CS field has enormous breadth and depth
large coverage is impossible in a single student’s education ⇒ focus on skills which are
common to the whole field
needed to adopt to quickly changing demands
those skills include: problem solving
adopting to any given level of abstraction
learning new artifacts (languages, libraries, tools, frameworks) and creatively use them
Focus of our programmes
Enabling students to realise systems which function correctly
are maintainable are reliable
Part II
Datavetenskapligt Program:
Background: Different Programming Paradigms
different progr. languages address different levels of abstraction
abstraction level languages
very high functional languages (Haskell) high object-oriented languages (Java)
low C
very low machine languages
feature of our education:
students learn to master different approaches mandatory: functional and object-oriented
Background: Different Programming Paradigms
different progr. languages address different levels of abstraction
abstraction level languages
very high functional languages (Haskell) high object-oriented languages (Java)
low C
very low machine languages
feature of our education:
students learn to master different approaches mandatory: functional and object-oriented
Base Block (year 1)
Computer Science courses: Functional Programming Object-Oriented Programming I Object-Oriented Programming II Data Structures
Finite Automata and Formal Languages
Math courses:
Discrete Mathematics Linear Algebra Calculus
Base Block (year 1)
Computer Science courses: Functional Programming Object-Oriented Programming I Object-Oriented Programming II Data Structures
Finite Automata and Formal Languages
Math courses:
Discrete Mathematics Linear Algebra Calculus
Elective Block (year 2 + 3)
Free choice2 from many Bachelor courses. for instance:
Software Engineering Fundamentals; Programming Project; Databases; Object-Oriented Systems Development;
Operating Systems; Concurrent Programming;
Testing, Debugging, and Verification; Data Communication; Mathematical and Computing Modelling;
Fundamentals of Digital Systems and Computers;
Computer Systems Engineering; Machine Oriented Programming; Human Computer Interaction.
Elective Block (year 2 + 3)
Free choice2 from many Bachelor courses. for instance:
Software Engineering Fundamentals; Programming Project; Databases; Object-Oriented Systems Development;
Operating Systems; Concurrent Programming;
Testing, Debugging, and Verification; Data Communication; Mathematical and Computing Modelling;
Fundamentals of Digital Systems and Computers;
Computer Systems Engineering; Machine Oriented Programming; Human Computer Interaction.
Part III
Computer Science:
Specialisations within the CS Master’s programme @GU
we offer 6 different specialisations: Algorithms, Languages, and Logic Interaction Design
Natural Language Technology Networks and Distributed Systems
Secure and Dependable Computer Systems Software Engineering and Technology
Specialisations within the CS Master’s programme @GU
we offer 6 different specialisations: Algorithms, Languages, and Logic Interaction Design
Natural Language Technology Networks and Distributed Systems
Secure and Dependable Computer Systems Software Engineering and Technology
Algorithms, Languages, and Logic
Core Courses:
Algorithms
Logic in Computer Science Programming Languages
one of: ALL project,
Artificial Intelligence,
Advanced Functional Programming Deepening Courses:
Algorithms, Advanced Course Discrete Optimisation
Algorithms for Machine Learning and Inference Models of Computation
Interaction Design
Core Courses:
Graphical Interfaces
Interaction Design Methodology Interaction Design - Project (15 hp) Deepening Courses:
Computer Graphics Jamel Design Physical Computing Ubiquitous Computing
Methods of Interaction Analysis Human-Centered Design Simulation Engines
Natural Language Technology
Core Courses:
Introduction to Linguistics Natural Language Processing Speech Technology
Machine Learning and Statistical Methods Programming Languages Deepening Courses: Functional Programming Artificial Intelligence Compiler Construction Parsing Algorithms Formal Semantics Formal Syntax Dialogue Systems Information Refinement
Networks and Distributed Systems
Core Courses:
Distributed Systems Internet Technology Computer security
Advanced Topics in Networks and Distributed Systems Distributed Systems (advanced course)
Secure and Dependable Computer Systems
Core Courses:
Computer Security
Fault-tolerant Computer Systems Real-time Systems
Logic in Computer Science
Deepening Courses:
Software Engineering using Formal Methods Hardware Description and Verification Cryptography
Programming Languages Language-based Security
Software Engineering and Technology
Core Courses:
Agile Development Processes Algorithms
Software Architecture Software Constraints Programming Paradigms System Development in Teams
Deepening Courses:
Managing Software Development Projects Compiler Construction
Distributed Systems
Large Degree of Freedom
students can choose to
follow one of the specialisations
The Master’s Degree
with fulfilment of the general requirements, GU grants the degree: “Master of Science in Computer Science”
students fulfilling requirements of a specialisation receive:
The Master’s Degree
with fulfilment of the general requirements, GU grants the degree: “Master of Science in Computer Science”
students fulfilling requirements of a specialisation receive: