Bachelor's Program

Main content

Computer Science classroom image

ETH Zurich provides a broad, high-quality computer science bachelor's degree program that serves as an excellent foundation for future work in computer science or one of its many associated fields. It teaches an essential knowledge of mathematics and electrical engineering as well as the basic principles of computer science. In addition to core subjects such as systems & software engineering, information & data processing, and theoretical computer science, students can choose various other electives according to their personal interests. The language of instruction at the beginning of the study program is German. Starting from the second year, courses are increasingly taught in English.

Accordion. Press Tab to navigate to entries, then Enter to open or collapse content.


First academic year

During the first year of study, students work on establishing a sound basis in mathematics, programming, and algorithmics while learning the basic principles of computer systems. All first year courses are compulsory and a total of 56 credits are earned.

First semester:

  • Introduction to programming (7 credits)
  • Data structures and algorithms (7 credits)
  • Linear algebra (7 credits)
  • Discrete mathematics (7 credits)

Second semester:

  • Parallel programming (7 credits)
  • Algorithms and probability (7 credits)
  • Analysis I (7 credits)
  • Design of Digital Circuits (7 credits)



Second academic year

During the second year, students are taught important theoretical and methodological principles within core areas of computer science and a total of 62 credits are earned.

Third semester:

  • Analysis II (5 credits)
  • Theoretical computer science (7 credits)
  • Systems programming and computer architecture (7 credits)
  • Numerical methods for computational science and engineering (7 credits)
  • Minor & Science in perspective (4 credits)

Fourth semester:

  • Probability and statistics (5 credits)
  • Networks (7 credits)
  • Data modeling and databases (7 credits)
  • Formal methods and functional programming (7 credits)
  • Minor & Science in perspective (6 credits)


Third academic year

In their third year, Bachelor's students can choose two out of three areas for specialization: systems & software engineering, information & data processing and theoretical computer science. A total of 62 credits are earned.

  • Computer Science core (32 credits)
  • Computer Science electives (12 credits)
  • Minor & Science in perspective (6 credits)
  • Seminar (2 credits)
  • Bachelor‘s thesis (10 credits)
Page URL:
© 2017 Eidgenössische Technische Hochschule Zürich