Structure of the Master Specialisation Software Science
The list below illustrates the basic organization of the 120 ec Software Science master specialisation,[1] which consists of the following elements:
- Specialisation basis (18 ec)
- Specialisation electives (24 ec)
- Specialisation specific research seminar (6 ec)
- Research internship (15 ec)
- Specialisation external electives (12 ec)
- Computer science and society (3 ec)
- Free electives (12 ec)
- Master thesis project (30 ec)
The programme is in principle structured in the following manner.
The components are further refined as follows:
Specialisation basis (mandatory specialisation courses) (18 ec):
- NWI-I00032 Advanced Programming (6 ec)
- NWI-I00110 Testing Techniques (6 ec)
- NWI-IMC046 Model Checking (6 ec)
(Before starting Advanced Programming students are strongly advised to first complete NWI-IBC029 Functional Programming 1 and NWI-IBC030 Functional Programming 2.)
Specialisation electives (24 ec):
to be chosen from the categories below (not necessarily all from the same category or one from each category).
Software Technology/Engineering:
- NWI-IMC004 Compiler Construction (6 ec)
- NWI-I00155 Design of Embedded Systems (6 ec)
- NWI-IMI004 Software Development Entrepreneurship (6 ec)
- NWI-ISOFSE Software Security (6 ec) (you follow the same lectures together with the NWI-IMC051 Software Security (5 ec) course, but do an additional assignment for 6 ec.)
Computer-Aided Analysis:
- NWI-IMC035 Software Analysis (6 ec)
- NWI-IMC009 Automated Reasoning (6 ec)
- NWI-I00139 Proof Assistants (6 ec)
(The courses Automated Reasoning and Proof Assistants are taught alternating once every two years. Automated Reasoning will be taught via tele-lectures from Eindhoven).
Theory of Computation:
- NWI-IMC010 Type Theory and Coq (6 ec)
- NWI-IMC011 Semantics and Domain Theory (6 ec)
- NWI-IMC036 Coalgebra (6 ec)
- NWI-WM072B Complexity Theory (6 ec) or NWI-WM120B Computability theory (8 ec)
(Complexity Theory or Computability Theory are taught alternating once every two years. In 2016-2017, Computability Theory is taught.)
Specialisation specific research seminar (6ec)
Research internship (15 ec)
Specialisation external electives (12 ec)
A coherent set of courses outside the specialisation, to be approved by the Examining Board.
Computer, Science and Society (3 ec)
Free electives (12 ec)
To be chosen from courses offered by Radboud University, but overlap with other courses is not allowed. Should be approved by the Examining Board.
Final thesis (30 ec): MSc-project.
The final thesis is scheduled in the last semester. The MSc project is finished by writing a Master's thesis. Generally speaking, students will do their Master's project under the supervision of a member of staff of their own university. However, students may, after consulting a local supervisor, choose to do a Master's project at another site, or an external project at a company or abroad.
The total amount of EC's of this programme should be 120 EC at least.
[1] The programme described here is the research specialisation Software Science. Students who are more interested in taking a more applied and/or management-related angle may have a look at the specialisations Science, Management and Innovation or Science in Society, which can also be taken with a Software Science programme (see the master-specific requirements for Computing Science at the bottom of these respective pages). |