MS in Computer Science reform proposal

Babak Falsafi, Clément Pit-Claudel, Ola Svensson, Rachid Guerraoui, Thomas Bourgeat

QR code linking to this page

The problem

Our MS in CS is hard to navigate and inflexible, does not adequately ensure breadth and depth, and has a high administrative burden.

Key constraints

Don’t change course offerings.
We already have a great catalog: this reform is only about how students pick classes.

Don’t change internships and theses.
This reform is about course selection.

Don't change other MS programs.
This reform affects just the MS in Computer Science.

The proposal

Core courses / Group 1 / Breadth: 32 credits

Before
Students take 4 8-credit courses from a list of 10 courses [0].
After
Students take 4 8-credit courses across 4 of the 15 IC areas [1].
All 8-credit IC courses are core courses.

Electives (“Options”) / Group 2: 40 credits

Students must take an additional 40 credits worth of CS courses, chosen from all MS in CS courses. (unchanged)

Specializations / Depth

Before
Students can specialize in one of ten topics. [2]
After
Students can specialize in one of threefour topics: AI & Data Science, Computer Systems, Foundations of Computing, and Cybersecurity.

Specializations are granted if enough credits (30) are obtained on a given topic. (unchanged)

MS thesis, internship, projects: 48 credits

Students must do an internship, a 12-credits research project in a lab, a 6 credits SHS course/project, a 30-credits Master thesis (PDM). If the thesis is in industry, the internship is optional. (unchanged)

Rationale: what this reform fixes

Before (👎)
Core courses (group 1, 10 courses in total) do not cover all areas.
After (👍)
All 8-credit IC courses ( courses) will be core courses, covering almost all areas.
👎
There are many more core courses in Fall than Spring (7 vs 3).
👍
With all 8-credit IC courses becoming core courses, there will be in Fall and in Spring.
👎
The core courses list has redundancies, allowing a student to take 4 courses out of just 2 areas to satisfy their “breadth” requirement.
👍
The breadth requirement will be 4 core courses in 4 distinct IC areas (“research domains”). Professors choose exactly one IC area for each of their courses.
👎
Specialization lists are not maintained, some are outdated, some have odd course choices, and many areas don’t have specializations.
👍
We simplify down to just threefour specializations: AI & Data Science, Computer Systems, Foundations of Computing, and Cybersecurity. Professors choose zero or more specializations for each of their courses.
👎
Current specializations are narrow and each offer relatively few courses, so getting all required courses for a specialization can require tricky scheduling.
👍
The new AI, Systems, and Theory specializations will have ~120-160 credits available to choose from. Security will have ~60 credits.
👎
EDIC and SIN maintain separate course lists.
👍
Course labeling of IC areas and specializations will be handled by professors, the Section, and the Teaching Commission. EDIC will use this labeling to define their requirements for breadth/depth.
👎
Our MS is not aligned with our peers.
👍
Our requirements are aligned with our peers' classification of MS requirements.

Action items

Students: Tell us how these changes would have affected your studies. Are there issues that we missed? You can write to your representatives or to any of us.

Profs: Please answer our very brief poll to tell us which IC area (research domain) your courses attach to and which specialization(s), if any, they are relevant to.

FAQ: Design

Why define breadth in terms of IC areas (also called “Research domains”)?
The list of IC areas is well-maintained, relevant, and up-to-date. It gets updated as professors are hired and retire, and it reflects the areas that IC is active in.
Why don’t we specialize in IC areas (e.g. specialization in NLP) instead of AI / Systems / Theory / Security?
EPFL requires ~50 available credits [3] for each MS specialization (so that students can pick 30 despite scheduling conflicts). Most IC areas simply do not offer that many credits, and experience has shown that maintaining and editorializing cross-area specialization lists does not work reliably. We also have separate MS programs (Communication Systems, Data Science, Cyber Security, Quantum Science and Engineering, Neuro-X, Computer Science for teaching).
Why choose AI / Systems / Theory / Security for specializations?
These are broad, time-tested domains of CS: general enough to meet the 50-credit rule, reasonably well aligned with most of our research, relevant enough to make sense on a degree, and hopefully future-proof. Security was added following student feedback. On degrees, specializations will appear as AI & Data Science, Computer Systems, Foundations of Computing, and Cybersecurity
What happens to “cours hors-plan”?
No changes. Up to 15 relevant credits from unlisted courses can be used to partially satisfy of the Group 2 requirement; these credits do not count towards the specialization.
What happens to complementary minors (e.g. financial engineering)?
No changes. Complementary minors offered to our students by other programs remain available as an alternative to specializations.

FAQ: Benefits

What’s in it for profs and admin staff?
A lower administrative burden: unified management of course lists, direct control by profs over the way their courses are listed; happier students; and no extra work (courses don't need to change!).
What’s in it for students?
More flexibility for the breadth requirement (24 core courses instead of 10), easier-to-navigate requirements, and simplified specializations.

FAQ: Risks

How will students game the system?
Our breadth requirement enforces breadth in areas, but not across AI / Systems / Theory / Security. A student that picks 4 systems classes across 4 different IC areas would pass the breadth requirement while avoiding AI and theory.

FAQ: Administrivia

Who labels the courses?
Profs (ideally together by area!), with approval by the Teaching Commission.
Can a course be listed in multiple IC areas?
No: this ensures that the breadth requirement is meaningful.
Can a course count for multiple specializations?
Yes: a course can count towards both Systems and AI specializations, for example, in the same way that some courses appear on multiple specialization lists today. It's best if this doesn't happen too often, however, since otherwise the specializations lose their meaning.
Can core courses be taken as electives?
Yes: any excess “core” credits (i.e. those beyond the 32 taken to satisfy the breadth requirement) will count towards the 40 credits required in group 2 (as is already the case today).
Do credits from core/breadth courses count towards the specialization?
Yes: all course credits counts towards the specialization. For example, a core course (8 credits) tagged “systems” counts towards a “systems” specialization.
Do credits from semester projects count towards the specialization?
No (as is already the case today).
What if a student has enough credits for multiple specializations?
By EPFL rules, students may only register for and claim (at most) one specialization on their degree.

Timeline: where do we stand?

Nov '23
Goals discussed with Academic Committee.
Feb '24
Initial presentation to faculty.
Apr '24
Draft shared at faculty lunch.
May '24
Draft shared with EDIC and students.
Jun '24
2nd revision presented to faculty.
Aut '24
Vote by IC Teaching Committee (CE).
Nov '24
Presentation to CDS (Conf. Dir. Section).
Sep '25
Implementation.

References

  1. Current CS Master study plan
  2. List of current IC areas (= “research domains”)
  3. Current IC MS specializations
  4. LEX 2.11.2 on Master and Minor programmes
  5. Summary of peer school MS requirements
  6. Current IC MS rules

Course map

All courses need to be tagged into a single area and zero or more specializations.
We ran a poll among IC teachers for ~6 months to converge to these labels.

Click individual courses below to display a simulated course plan under the course list.

Legend
XYZ
IC areas
(Research domains)
XX-NNN
Core courses
(= IC 8 credits)
A S T C
Specializations
(AI / Systems / Theory / Security)
🍂 / 🌱
Semester
(Fall / Spring)

AIML

Artificial Intelligence & Machine Learning

ATCS

Algorithms & Theoretical Computer Science

CAIS

Computer Architecture & Integrated Systems

CV

Computer Vision

DC

Distributed Computing

DE

Digital Education

DMIR

Data Management & Information Retrieval

GR

Graphics

HCI

Human-Computer Interaction

ICT

Information & Communication Theory

NLP

Natural Language Processing

OSNET

Operating Systems & Networks

PLFM

Programming Languages & Formal Methods

SIP

Signal & Image Processing

SP

Security & Privacy

Other

Other areas and non-IC courses

Export this data

Example

Emma registers for the MS in Computer Science.

For her breadth requirement, she picks CS-440, COM-500, CS-470, and CS-450.

For electives (“options”), she takes CS-453, CS-503, CS-442, CS-473, CS-486, CS-457, and COM-430.

She completes an internship prototyping denoising algorithms for a camera-chip maker, an SHS course in digital humanities (6 credits), a research project in a Computer Architecture lab at EPFL (12 credits), and a thesis (“PDM”) in Visual Computing at EPFL (30 credits).

In total, she has acquired /120 credits () and can graduate with a specialization in .

Load this example in the course picker.