VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.
Introduction to Programming
Last Updated: 2026-02-05 15:47:22
Abstract
Introduction to Programming provides an overview of the basic programming blocks needed to translate a problem, stated in textual form, into an algorithm that solves such problem. The course provides an introduction to the MATLAB programming language and covers Bash scripting and other programming languages such as R and Python.
Objective
The goal of this course is to give students, who have no prior programming background, a solid introduction to algorithm development and its successive implementation in a programming language. For students with previously acquired programming skills, the course will serve as a reinforcement of key aspects of structured programming in addition to providing a well-rounded introduction to MATLAB, R and Python.
Content
The course is structured in four main pillars: • Logical thinking: Translating a problem into a conceptual sequence of computational steps. For example: [Problem] What is the GC content of a given DNA string? [Logical steps] i) Iterate through all nucleotides in the DNA string, one by one ii) Count the Cs or Gs iii) Divide the count of Cs or Gs by the length of the DNA string iv) Report the result. • The basics of programming: Variables, functions and arrays. Control flow and recursion. Top-down algorithm design. Computational complexity of an algorithm. • Writing code: Full introduction to the MATLAB programming languages (R and Python will also be covered). Solutions to all exercises will be provided in MATLAB, R and Python. Creation of programming projects with an integrated development environment (IDE). • Primer of Unix commands: Command-line examples on how to access servers and computing resources at the D-BSSE. Submission of jobs to the EULER cluster.
Resources
Lecture Notes
Available on course website (Moodle):https://moodle-app2.let.ethz.ch/course/view.php?id=15235
Literature
Publicly available material (links will be posted on the course website)
General Information
- Language
- English
- Levels
- MSC
- Frequency
- Yearly recurring
Examination
- Type
- ungraded semester performance
Course Components
| Type | Title | Time & Place | Hours |
|---|---|---|---|
| lecture with exercise |
Introduction to Programming
This course will take place from September 6 - September 17 on Mondays, Wednesdays and Fridays from 9:00 to 12:00.
|
|
18 h semesterly |
Offered In
-
-
Electives (The electives list in the ETH course catalogue is an open list, and the courses listed in the ETH course catalogue provide just examples for possible elective courses, e.g. a selection of eligible courses. Students are expected to look for relevant courses in the ETH and University of Basel course catalogue and ask their mentor for approval. Courses from the advanced course category may also be taken as electives. We particularly recommend browsing the University of Basel course catalogue for elective courses of relevant master's degree programes (using the filter "programe structure" on the course catalogue website), such as for example: Biomedical Engineering, Chemistry, Drug Sciences, Epidemiology, Infection Biology, Molecular Biology, Nanosciences.)
-