MFoCSMathematical Foundations of Computer Science
Tom Heskes and Jasper Derikx
MFoCS organisation & goals
MFoCS is a joint Computer Science – Mathematics specialisation
It can be followed as a CS master and also as a Math master
Goal: educate students in The mathematical theories that underly computer science The computer science techniques to study and solve
mathematical problems.
Required: – Bachelor in computer science with a strong mathematical
background and theoretical interests. – Mathematical maturity is essential – Basic knowledge of logic and discrete mathematics
Scientific Questions
On the shoulders of giants: Turing, Dijkstra, Brouwer, Scott, McCarthy, ...
What is algorithmically decidable? o What is “hard”, what is “easy”?o In theory? In practice?
How to build correct software?o Which level of certainty can we reach?o How can we use computer support to verify computer systems?
What are the new programming and computing paradigms?o Quantum computing?o New generation programming languages?
How can we bring mathematics and CS closer together?o Mathematical proof = algorithm?o Algorithmic view of mathematics (representation, data, functions)
Researchers
•Herman Geuvers, Freek Wiedijk -- type theory, proof assistants, semantics •Alexandra Silva, Jan Rutten – formal languages and automata, coalgebra
•Bart Jacobs -- categorical methods, quantum computing
•Frits Vaandrager, Jan Tretmans -- I/O automata and testing theory
Researchers
•Hans Zantema -- term rewriting and automated reasoning
•Bas Terwijn -- mathematical logic and complexity
•Bernd Souvignier -- computable algebra and group theory
•Wieb Bosma -- computer algebra and number theory
Structure
• Specialisation basis (mandatory)– MFoCS seminar– Type Theory and Coq (6ec) – Geuvers, Wiedijk– Computer Algebra (6ec) – Souvignier
• Specialisation electives (mandatory)– choose at least one mathematics and at least one computer science
course.
Specialisation basis 15 EC
Specialisation electives 56 EC
CS and society / Philosophy 3 EC
Free electives 6 EC
Master thesis project 40 EC
Courses (studiegids.science.ru.nl)
•RU-CS– Semantics and Domain Theory (6 EC)– Model Checking (6 EC)– Advanced Lambda Calculus (6 EC)– Advanced Programming (6 EC)
•RU-Math– Complexity Theory (6 EC)– Computability Theory (6 EC)– Intuïtionistic mathematics (6 EC)– Category Theory (6 EC)
•Furthermore:– Mastermath (mandatory for master in mathematics)– Courses offered on demand (as self-study)– Foreign University
Examples of Research projects
Example topics: Extracting programs from (classical) proofs – Geuvers Computation and reasoning with infinite objects – Silva, Geuvers Formalization of (parts of) the C standard – Wiedijk Grammars and fractals in nature – Silva
Some projects:– Formal proof of correctness of an algorithm for finding zeroes of
complex polynomials – Coinductive lazy computation– The inference problem for D0L-Systems– Equality of infinite objects– Call-by-name, call-by-value and abstract machines– Classical logic, control calculi and data types
Unique Selling Points
• Track is unique in the Netherlands
• Unique concentration of expertise within iCIS and IMAPPo Formal Methods (Automata, Formal Lang., Coalgebra)o Computer Aided Verification (Model Checking)o Theorem provingo Type Theoryo Proof Theoryo Computer Algebra and Algorithmic Number Theory
• Ideal track for those interested in computer science and mathematics
• Good opportunity for a career in academic research
Job Perspective
Students with a Master in MFoCS typically go into academic research:
Freek Verbeek: PhD with Vaandrager/van Eekelen/ Schmaltz; now assistant professor (OU)
Robbert Krebbers: PhD-student with Wiedijk & Geuvers Rutger Kuijper: PhD student with Terwijn
Not formally MFoCS students:– Hans Bugge Grathwohl: PhD student in Aarhus (DK)– Bram Geron: PhD student in Birmingham (UK)
(Exception: Remy Viehoff: Marine)
Coordinators
• Alexandra Silva (CS - iCIS) • Bas Terwijn (Math - IMAPP)
• Contact the coordinators if you have questions!
Top Related