VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

402-0010-00L BSC , DR , MSC D-PHYS
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Basics of Computing Environments for Scientists

Refer to for the detailed contents.
VVZ CR n/a

Last Updated: 2026-06-01 11:31:00

Abstract

Independent modules covering IT-related topics for scientists.

Objective

Scientists are expected to use various computing environments (Linux, Python, git, etc), but are often not taught the foundations to get started with them. We aim to fill this gap and complement the more typical lectures with practical insights into everyday research-related IT challenges. The course is structured into individual modules that can be attended separately. All interested are welcome, no registration required. The "IT at D-PHYS" introduction provides a good understanding of how IT works at D-PHYS and presents an overview of the IT services and their providers. It is recommended for everyone joining the department. The "IT and Information Security" introduction is meant to prepare you for the dangerous world of "the internet". We will take a look at common threat vectors and how you can counter them. The "Linux Basics" modules offer an introduction to the Linux landscape and demonstrate how to work with such systems. The first part provides a basic understanding of Linux systems and their components, introducing the command line (shell) as a user interface. The second focuses on working across machines and covers advanced tools and workflows. They provide guidelines for scripting, automation, and customization. The "Git" module offers a comprehensive guide to using the Git version control system. It covers best practices for common workflows and daily tasks associated with managing repositories. You will learn how to effectively work with remotes and branches, as well as how to interact with platforms like GitHub. Even for solo projects Git provides a lot of benefits. The "Python Ecosystem" modules present various aspects of the environment around Python. Without teaching the Python programming language itself, it aims at providing understanding of various concepts surrounding it. The first part focuses on getting ready to run code. It discusses the management of Python interpreters, packages and virtual environments. The second part presents tools for writing Python code and interacting with strings. From development environments (IDE, Jupyter), over code formatters and linters, to string formatting and parsing with regular expressions. The third part sits at the interface between Python code and external data files. We explain how to read or write files, discuss data types and file formats. We show how to handle configuration parameters and command-line arguments. The fourth part covers more advanced topics that are common practice in software development. Without delving into any details, we want to explain the motivation and basic usage of each of these, as they are also valuable to be aware of in a scientific context. The "System Aspects module" deals with the hardware-related side of scientific computing. To get the best performance out of your scientific code, you have to be aware of the underlying hardware and adapt to it. Refer to https://compenv.phys.ethz.ch for the detailed contents.

Content

- IT at D-PHYS (IT service providers and IT services at D-PHYS) - IT and Information Security (how to deal with common threats) - Linux Basics I (system components, basic shell usage) - Linux Basics II (advanced tools, remote shells) - Git (version control system, repository handling, common workflows) - Python Ecosystem I (interpreters, packages, virtual environments) - Python Ecosystem II (development environments, formatter and linter, string formatting, regexp) - Python Ecosystem III (external files, data types, file formats, config parameters) - Python Ecosystem IV (logging, timing, profiling, testing, typing, automating) - System Aspects (how the hardware affects your scientific code and vice versa)

Resources

Learning Materials (Links)

General Information

Language
English
Levels
BSC , DR , MSC
Frequency
Semesterly recurring

Examination

Type
no performance assessment

Course Components

Type Title Time & Place Hours
lecture Basics of Computing Environments for Scientists
  • Wed 12:45-13:30 (HCI E 2)
1 h weekly

Offered In