Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009
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 Design Logical Models and Methods Natural Language Technology Programming Languages Science of Programming Security Software Engineering
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 courses in CHT programmes all courses shared among GU + CTH differences: @GU: significantly larger degree of freedom @CTH: engineering degrees, mandatory courses outside CSE
Student Numbers of our programmes @GU registered students as of today: old Magister 62 new Bachelor 59 new Master 16 137 fristående 8 Erasmus 16 total 161 to these students, we offer 70 courses annually 1 1 thanks to the sharing of GU+CTH courses
Student Numbers of our programmes @GU registered students as of today: old Magister 62 new Bachelor 59 new Master 16 137 fristående 8 Erasmus 16 total 161 to these students, we offer 70 courses annually 1 1 thanks to the sharing of GU+CTH courses
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: A Kandidat Programme at Göteborg University
Background: Different Programming Paradigms different progr. languages address different levels of abstraction abstraction level very high high low very low languages functional languages (Haskell) object-oriented languages (Java) C 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 very high high low very low languages functional languages (Haskell) object-oriented languages (Java) C 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 choice 2 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. In year 3: students take also Master level courses 2 in agreement with the study counsellor
Elective Block (year 2 + 3) Free choice 2 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. In year 3: students take also Master level courses 2 in agreement with the study counsellor
Part III Computer Science: A Master s Programme at Göteborg University
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 mirror specialised Master s programmes @CTH 3 3 exception: Natural Language 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 specialisations mirror specialised Master s programmes @CTH 3 3 exception: Natural Language 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 Compiler Construction Types for Programs and Proofs Frontiers of Programming Languages
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 Artificial Intelligence
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 Speech Recognition Knowledge Representation and Inference
Networks and Distributed Systems Core Courses: Distributed Systems Internet Technology Computer security Advanced Topics in Networks and Distributed Systems Distributed Systems (advanced course) Network Security
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 Frontiers of Programming Languages Network Security Parallel and Distributed Real-time Systems
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 Interaction Design - Analysis Software Engineering using Formal Methods
Large Degree of Freedom students can choose to follow one of the specialisations freely combine courses from 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: Master of Science in Computer Science with Specialisation in...
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: Master of Science in Computer Science with Specialisation in...