Home | Teaching

ETH Zurich

Autumn 2019 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to systems programming. C and assembly language, floating point arithmetic, basic translation of C into assembler, compiler optimizations, manual optimizations. How hardware features like superscalar architecture, exceptions and interrupts, caches, virtual memory, multicore processors, devices, and memory systems function and affect correctness, performance, and optimization.


Spring 2019 - Application-Oriented Programming

Link: 252-0840-02L - Teaching Assistant - Dr. Lukas Fässler

This course provides important basic concepts for interdisciplinary programming projects. The programming language is Python and Matlab.


Spring 2019 - Advanced Operating Systems

Link: 263-3800-00L - Teaching Assistant - Prof. Timothy Roscoe

This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems.


Autumn 2018 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to systems programming. C and assembly language, floating point arithmetic, basic translation of C into assembler, compiler optimizations, manual optimizations. How hardware features like superscalar architecture, exceptions and interrupts, caches, virtual memory, multicore processors, devices, and memory systems function and affect correctness, performance, and optimization.


Spring 2018 - Application-Oriented Programming

Link: 252-0840-02L - Teaching Assistant - Dr. Lukas Fässler

This course provides important basic concepts for interdisciplinary programming projects. The programming language is Python and Matlab.


Autumn 2017 - Advanced Operating Systems

Link: 263-3800-00L - Teaching Assistant - Prof. Timothy Roscoe

This course is intended to give students a thorough understanding of design and implementation issues for modern operating systems, with a particular emphasis on the challenges of modern hardware features. We will cover key design issues in implementing an operating system, such as memory management, scheduling, protection, inter-process communication, device drivers, and file systems.


Autumn 2017 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to systems programming. C and assembly language, floating point arithmetic, basic translation of C into assembler, compiler optimizations, manual optimizations. How hardware features like superscalar architecture, exceptions and interrupts, caches, virtual memory, multicore processors, devices, and memory systems function and affect correctness, performance, and optimization.


Spring 2017 - Introductory Programming in MATLAB

Link: 252-0840-01L - Teaching Assistant - Dr. Tomas Hruz

The lecture 'Introductory Programming in MATLAB' provides a basic knowledge about imperative programming. Additionally, the students learn how to apply imperative programming in modeling of domain specific systems.


Autumn 2016 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to computer architecture and system programming: Instruction sets, storage hiearchies, runtime structures with an emphasis on computers as engines for the execution of compiled programs. Interaction between system software and the hardware. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered.


Spring 2016 - Introductory Programming in MATLAB

Link: 252-0840-01L - Teaching Assistant - Dr. Tomas Hruz

The lecture 'Introductory Programming in MATLAB' provides a basic knowledge about imperative programming. Additionally, the students learn how to apply imperative programming in modeling of domain specific systems.


Spring 2015 - Parallel Programming

Link: 252-0024-00L - Teaching Assistant - Prof. Otmar Hilliges

Introduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness.


Autumn 2014 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to computer architecture and system programming: Instruction sets, storage hiearchies, runtime structures with an emphasis on computers as engines for the execution of compiled programs. Interaction between system software and the hardware. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered.


Spring 2014 - Data Modelling and Databases

Link: 252-0063-00L - Teaching Assistant - Prof. Donald Kossmann

Data modelling (ER and UML class diagrams), relational data model, relational design theory (normal forms), SQL, database integrity, security, transactions and data warehousing (OLAP)


Autumn 2013 - Systems Programming and Computer Architecture

Link: 252-0061-00L - Teaching Assistant - Prof. Timothy Roscoe

Introduction to computer architecture and system programming: Instruction sets, storage hiearchies, runtime structures with an emphasis on computers as engines for the execution of compiled programs. Interaction between system software and the hardware. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered.


Spring 2013 - Operating Systems and Networks

Link: 252-0062-00L - Teaching Assistant - Prof. Donald Kossmann

The course is intended as an introduction to operating systems and computer networking for computer scientists. Students will get a comprehensive overview of the key protocols and the general architecture of the Internet as well as basic principles of designing operating systems. The students will also have a chance to acquire hands-on experience in programming different aspects of operating systems and computer networks.


Contact

Reto Achermann

acreto [at] inf.ethz.ch

+41 44 633 70 15

Dept. of Computer Science
CAB E 69, ETH Zürich
Universitätstrasse 6
8092 Zürich
Switzerland