Computer Science

We can see what computer science enables us to achieve, but we do not see how computer science achieves it. It is hidden in almost all of our everyday objects, from computers to household appliances and cars.

While we may be familiar with these objects and how to use them, the embedded computer systems which make them work are more mysterious. Designing and producing these invisible systems is the job of the computer engineer.

Belonging both to science and technology, computer science enables unbelievable amounts of data to be processed in record time and converted into images, sound, or video.

A computer is, of course, made up of hardware components which can be incredibly complex and which enable extremely varied tasks to be performed. Computer science is crucial for all scientific and technical fields. Moreover, its importance is being felt increasingly in the media world or in unexpected fields like dance or theatre: directors and choreographers use new forms of reality created by computer techniques more than ever.

Program presentation

When you decide to study computer science at EPFL, you will receive broad training focusing on the entirety of a field that is constantly changing. You will tackle every aspect related to developing innovative applications, from the choice of system components to the definition of the architecture, by way of the specification then the implementation of its functionalities. Plus, you will have the opportunity to develop within an environment in which there are countless examples of the uses of your future specialization.

BSc (180 ECTS credits)

Classes during the 1st year are given jointly to computer science students and communication systems students. You will receive the fundamental basics in mathematics, physics, computer science, and information science. A project will enable you to have your first real experience of your future specialization. At the end of this preliminary year, you can choose to remain in computer science or to change to communication systems.

During the 2nd and 3rd years, you can pursue your basic training in mathematics and physics as well as in computer-science fields with classes dealing with systems architecture, databases, or programming languages. You will also have the chance to develop additional knowledge in physics, mathematics, and life sciences: this is a useful opportunity with a view to working with these fields at some future point.

Study plan

Prospects: MSc Program

The MSc offers several specializations (30 ECTS): Computer engineering-SP, Computer science theory, Data analytics, Foundations of software, Information security-SP, Internet information systems, Networking and mobility, Signals, images, and interfaces, Software systems, Wireless communication.

Some students may choose a minor (30 ECTS) instead of a specialization: Biocomputing, Biomedical technologies, Computational Science and Engineering, Spatial technologies, Technology Management and Entrepreneurship.

Other programs will be open to you after graduating with the BSc degree, in particular some interdisciplinary MSc programs. Consult our website on Master Studies or further information about this.

Please note that the information regarding the programs’ structure as well as details of the study plan may be subject to change.

Career Prospects

As noted in the presentation of the program, a BSc in Computer Science opens the door to numerous more specialized MSc programs. You will be ready to enter the professional world once you have completed this MSc.

Taking the scope of the different uses of computer science into account, your training offers you many varied possibilities.

You can, for example, work for a software-development company: you would then become a “builder” responsible for finding effective solutions to problems which are often unprecedented, in various sectors. You will work as part of a team focusing on designing the system with its specifications (choice of components and architecture, defining operating requirements with your client), then following up with its construction (programming and connecting the components). You will still have to test the system and guarantee its implementation.

In a similar field, you might see yourself as an agent: you would act as an intermediary between the client and the company overseeing the building of the system. Your task will consist, in particular, of translating the operating needs of users into computer needs, acting as a kind of interpreter for various fields. Another possibility which is open to you is to take responsibility for a company’s IT system, ensuring that it operates properly (user management, network set-up). You will also have to make technical decisions on the basis of equipment (devices and software) and provide advice to users.

You can also consider specializing in a specific field by completing a PhD. You will then have the option of embarking on an academic career. Finally, it should be noted that, even though it is not essential, this high-level specialization often increases the possibility of setting up your own business by making use of a new area of expertise.

Students testimonies

At baccalaureate school, I really liked math and my computer teachers introduced me to programing.

Zhivka Gucevscka, student in first year of Master's degree program.

… strange screens and arcane text, but rather about simple algorithms used to efficiently solve mathematical problems. I obtained my baccalaureate in Macedonia and had heard of the EPFL. It is ranked among the world’s top schools for computer science! So, this is how I ended up enrolling at the EPFL’s School of Computer and Communication Sciences.
These are definitely not studies for geeks! On the contrary! They are studies for people who are indeed interested in new technologies, but who above all like looking for solutions to complex problems. I find that studies in computer science are accessible to everyone: no prior experience in programing is required, just a desire to learn.

What I like a lot about studying computer science is the opportunity to apply what we learn by working on specific projects. For example, in one of our courses, we had to manage an enormous musical database associated with a website that we created. This website allows people to do advanced searches. In another project, we had to implement our own application for Android, which allows the user to take a quiz or ask friends questions. In an even more advanced course, we were given the chance to implement our own programing language.

In a typical week, the time spent on campus is well distributed between courses and exercises, often between 8.00 a.m. and 5.00 p.m., with short or long breaks in between. Often there is a little bit of work to be done alongside classes to finish a project or homework. With this schedule, we have the time to work as an assistant, join an association or help to organize an event. The atmosphere is pleasant and my friends and I often get together to study. It’s anything but tedious!

I decided to join the CLIC students’ association of the EPFL’s School of Computer and Communication Sciences. We organize events such as the faculty dinner, which is when we share meals with professors and other students. We also organize free breakfasts. My main task is to handle relations with our sponsors or companies that wish to support our events.

How did I choose to study at the EPFL's Computer Science Section? I just loved binary code!

Audrey Loeffel, student in third year of Bachelor's program.

… baccalaureate school. That was where I found out what computer science, programing, etc. were really all about. I felt that I wanted to continue my studies in this field and the EPFL seemed to be the obvious choice. Why choose another university when you have one of the best right next door?

What I liked the most about computer science is how different all of the course are. Students have access to courses in every field. They can attend courses on theory, take part in projects, etc. We touch upon a little bit of everything before deciding what to specialize in for the Master’s degree program. This diversity allows us to gain an overall view of all areas of computer science before deciding the specific path to pursue.

One of the courses that I liked the most was on network security. It was really interesting because it covered recent phenomenon, real attacks, the latest hacking incidents, etc. There was also a course on software engineering where we do group work on a project and develop an application for Android.

I also greatly enjoyed working on my Bachelor’s thesis. I developed an application for Android that allows you to view the latest information on controversial subjects depending on one’s point of view. Working on a specific project requires more time and energy than studying a course devoted more to theory but it is also more enriching and satisfying.

I would be lying if I said that studies at the EPFL are easy: you have to work really hard! However, studying at the EPFL does not mean cutting out leisure activities, nights out, free time… you simply have to know how to organize your time and maintain a proper balance. You have to attend classes and study regularly alongside everything else for the entire semester. You can’t just say “Oh, I have three weeks to review before exam week, so I’ll just cram everything in then.”

You have to stick to it during the first few years. At the start of your studies, there are a lot of courses that all of the students share, regardless of the section that they are in. These courses do not seem to have any clear relation to computer science. It’s not until the third year and the start of your Master’s degree program when you start attending more targeted courses in your field. But it’s really worth it. If you are still thinking about it, don’t wait any longer. Go for it!

And what do I want to do after graduation? I want to work for a future start-up company. I am thinking about the current start-up company that I am partnering in, which is related to the project for my Bachelor’s degree thesis. In this project, we are creating a system to view current events. We are using artificial intelligence techniques to find out the points of view of articles dealing with controversial subjects. The project also includes a social network devoted to debates. I hope it will all work out as planned!


Looking for further details about this program? Please check its specific webpages or use the contacts below:

[email protected]

+41 (0)21 693 52 08