Search result: Catalogue data in Autumn Semester 2020

Computer Science Bachelor Information
Electives
Students may also choose courses from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these courses.
NumberTitleTypeECTSHoursLecturers
252-0293-00LWireless Networking and Mobile Computing Information W4 credits2V + 1US. Mangold
AbstractThis course gives an overview about wireless standards and summarizes the state of art for Wi-Fi 802.11, Cellular 5G, and Internet-of-Things, including new topics such as contact tracing with Bluetooth, audio communication, cognitive radio, visible light communications. The course combines lectures with a set of assignments in which students are asked to work with a JAVA simulation tool.
ObjectiveThe objective of the course is to learn about the general principles of wireless communications, including physics, frequency spectrum regulation, and standards. Further, the most up-to-date standards and protocols used for wireless LAN IEEE 802.11, Wi-Fi, Internet-of-Things, sensor networks, cellular networks, visible light communication, and cognitive radios, are analyzed and evaluated. Students develop their own add-on mobile computing algorithms to improve the behavior of the systems, using a Java-based event-driven simulator. We also hand out embedded systems that can be used for experiments for optical communication.
ContentNew: Starting 2020, we will address contact tracing, radio link budget, location distance measurements, and Bluetooth in more depth.

Wireless Communication, Wi-Fi, Contact Tracing, Bluetooth, Internet-of-Things, 5G, Standards, Regulation, Algorithms, Radio Spectrum, Cognitive Radio, Mesh Networks, Optical Communication, Visible Light Communication
Lecture notesThe course material will be made available by the lecturer.
Literature(1) The course webpage (look for Stefan Mangold's site)
(2) The Java 802 protocol emulator "JEmula802" from Link
(3) WALKE, B. AND MANGOLD, S. AND BERLEMANN, L. (2006) IEEE 802 Wireless Systems Protocols, Multi-Hop Mesh/Relaying, Performance and Spectrum Coexistence. New York U.S.A.: John Wiley & Sons. Nov 2006.
(4) BERLEMANN, L. AND MANGOLD, S. (2009) Cognitive Radio for Dynamic Spectrum Access . New York U.S.A.: John Wiley & Sons. Jan 2009.
(5) MANGOLD, S. ET.AL. (2003) Analysis of IEEE 802.11e for QoS Support in Wireless LANs. IEEE Wireless Communications, vol 10 (6), 40-50.
Prerequisites / NoticeStudents should have interest in wireless communication, and should be familiar with Java programming. Experience with GNU Octave or Matlab will help too (not required).
252-3110-00LHuman Computer Interaction Information W6 credits2V + 1U + 2AO. Hilliges, C. Holz
AbstractThe course provides an introduction to human-computer interaction, emphasizing the central role of the user in system design. Students will learn different methods for analyzing user experience and shown how these can inform the design of interfaces, systems and technologies. Furthermore, students will learn to use computational tools and models of human capabilities to create interactive systems.
ObjectiveThe goal of the course is that students learn how to design, prototype, build and evaluate interactive systems that gather and process information on users’ state, task and environment, and apply algorithms to adapt the interface to optimize for performance and usability.

- Students will be introduced to the factors that influence usability, user experience and perception of interactive systems, and methods to analyze and quantify those factors. This will include insights from user-centered design, design thinking and user experience design, with the goal for students to apply these in practice.

- Students will learn to quickly build prototypes with different fidelity to -evaluate and inform the design of interactive systems.

- Students will learn to use manual design to implement interactive systems informed by user models, human factors and perception.

- Students will learn to compare, choose and implement various algorithms to automatically generate and adapt user-facing interactive systems.

- Students will learn to evaluate the benefits and limitations of interactive systems qualitatively and quantitatively.
ContentThe course will introduce students to various methods of analyzing the user experience, showing how these can be used at different stages of system development from requirements analysis through to usability testing. Students will get experience of designing and carrying out user studies as well as analyzing results. The course will also cover the basic principles of interaction design.

Furthermore, the course will cover foundational models of human capabilities, such as motor, visual and cognitive processes. Insights into those factors will be used to inform the design of interactive systems. Building on those models, students will be introduced to computational tools and algorithms that are used to analyze, create and adapt interfaces, systems and devices.

In a practical project, students will build on the lectures and design an interactive system from the ground up. This will include needfinding, ideation, prototyping and finally implementing a small interactive system based on manual design and with the aid of the learned computational tools.
151-0107-20LHigh Performance Computing for Science and Engineering (HPCSE) I Information W4 credits4GP. Koumoutsakos, S. M. Martin
AbstractThis course gives an introduction into algorithms and numerical methods for parallel computing on shared and distributed memory architectures. The algorithms and methods are supported with problems that appear frequently in science and engineering.
ObjectiveWith manufacturing processes reaching its limits in terms of transistor density on today’s computing architectures, efficient utilization of computing resources must include parallel execution to maintain scaling. The use of computers in academia, industry and society is a fundamental tool for problem solving today while the “think parallel” mind-set of developers is still lagging behind.

The aim of the course is to introduce the student to the fundamentals of parallel programming using shared and distributed memory programming models. The goal is on learning to apply these techniques with the help of examples frequently found in science and engineering and to deploy them on large scale high performance computing (HPC) architectures.
Content1. Hardware and Architecture: Moore’s Law, Instruction set architectures (MIPS, RISC, CISC), Instruction pipelines, Caches, Flynn’s taxonomy, Vector instructions (for Intel x86)

2. Shared memory parallelism: Threads, Memory models, Cache coherency, Mutual exclusion, Uniform and Non-Uniform memory access, Open Multi-Processing (OpenMP)

3. Distributed memory parallelism: Message Passing Interface (MPI), Point-to-Point and collective communication, Blocking and non-blocking methods, Parallel file I/O, Hybrid programming models

4. Performance and parallel efficiency analysis: Performance analysis of algorithms, Roofline model, Amdahl’s Law, Strong and weak scaling analysis

5. Applications: HPC Math libraries, Linear Algebra and matrix/vector operations, Singular value decomposition, Neural Networks and linear autoencoders, Solving partial differential equations (PDEs) using grid-based and particle methods
Lecture notesLink
Class notes, handouts
Literature• An Introduction to Parallel Programming, P. Pacheco, Morgan Kaufmann
• Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein, CRC Press
• Computer Organization and Design, D.H. Patterson and J.L. Hennessy, Morgan Kaufmann
• Vortex Methods, G.H. Cottet and P. Koumoutsakos, Cambridge University Press
• Lecture notes
Prerequisites / NoticeStudents should be familiar with a compiled programming language (C, C++ or Fortran). Exercises and exams will be designed using C++. The course will not teach basics of programming. Some familiarity using the command line is assumed. Students should also have a basic understanding of diffusion and advection processes, as well as their underlying partial differential equations.
227-0124-00LEmbedded Systems Information W6 credits4GL. Thiele
AbstractAn embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions.
ObjectiveUnderstanding specific requirements and problems arising in embedded system applications.

Understanding architectures and components, their hardware-software interfaces, the memory architecture, communication between components, embedded operating systems, real-time scheduling theory, shared resources, low-power and low-energy design as well as hardware architecture synthesis.

Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment.
ContentAn embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. For example, they are part of industrial machines, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, sensor networks, internet-of-things, as well as mobile devices.

The focus of this lecture is on the design of embedded systems using formal models and methods as well as computer-based synthesis methods. Besides, the lecture is complemented by laboratory sessions where students learn to program in C, to base their design on the embedded operating systems FreeRTOS, to use a commercial embedded system platform including sensors, and to edit/debug via an integrated development environment.

Specifically the following topics will be covered in the course: Embedded system architectures and components, hardware-software interfaces and memory architecture, software design methodology, communication, embedded operating systems, real-time scheduling, shared resources, low-power and low-energy design, hardware architecture synthesis.

More information is available at Link .
Lecture notesThe following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at Link .
LiteratureP. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-56045-8, 2018.

G.C. Buttazzo: Hard Real-Time Computing Systems. Springer Verlag, ISBN 978-1-4614-0676-1, 2011.

Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017.

M. Wolf: Computers as Components – Principles of Embedded System Design. Morgan Kaufman Publishers, ISBN 978-0-128-05387-4, 2016.
Prerequisites / NoticePrerequisites: Basic knowledge in computer architectures and programming.
227-0627-00LApplied Computer ArchitectureW6 credits4GA. Gunzinger
AbstractThis lecture gives an overview of the requirements and the architecture of parallel computer systems, performance, reliability and costs.
ObjectiveUnderstand the function, the design and the performance modeling of parallel computer systems.
ContentThe lecture "Applied Computer Architecture" gives technical and corporate insights in innovative Computer Systems/Architectures (CPU, GPU, FPGA, dedicated processors) and their real implementations and applications. Often the designs have to deal with technical limits.
Which computer architecture allows the control of the over 1000 magnets at the Swiss Light Source (SLS)?
Which architecture is behind the alarm center of the Swiss Railway (SBB)?
Which computer architectures are applied for driver assistance systems?
Which computer architecture is hidden behind a professional digital audio mixing desk?
How can data streams of about 30 TB/s, produced by a protone accelerator, be processed in real time?
Can the weather forecast also be processed with GPUs?
How can a good computer architecture be found?
Which are the driving factors in succesful computer architecture design?
Lecture notesScript and exercices sheets.
Prerequisites / NoticePrerequisites:
Basics of computer architecture.
227-1037-00LIntroduction to Neuroinformatics Information W6 credits2V + 1UV. Mante, M. Cook, B. Grewe, G. Indiveri, D. Kiper, W. von der Behrens
AbstractThe course provides an introduction to the functional properties of neurons. Particularly the description of membrane electrical properties (action potentials, channels), neuronal anatomy, synaptic structures, and neuronal networks. Simple models of computation, learning, and behavior will be explained. Some artificial systems (robot, chip) are presented.
ObjectiveUnderstanding computation by neurons and neuronal circuits is one of the great challenges of science. Many different disciplines can contribute their tools and concepts to solving mysteries of neural computation. The goal of this introductory course is to introduce the monocultures of physics, maths, computer science, engineering, biology, psychology, and even philosophy and history, to discover the enchantments and challenges that we all face in taking on this major 21st century problem and how each discipline can contribute to discovering solutions.
ContentThis course considers the structure and function of biological neural networks at different levels. The function of neural networks lies fundamentally in their wiring and in the electro-chemical properties of nerve cell membranes. Thus, the biological structure of the nerve cell needs to be understood if biologically-realistic models are to be constructed. These simpler models are used to estimate the electrical current flow through dendritic cables and explore how a more complex geometry of neurons influences this current flow. The active properties of nerves are studied to understand both sensory transduction and the generation and transmission of nerve impulses along axons. The concept of local neuronal circuits arises in the context of the rules governing the formation of nerve connections and topographic projections within the nervous system. Communication between neurons in the network can be thought of as information flow across synapses, which can be modified by experience. We need an understanding of the action of inhibitory and excitatory neurotransmitters and neuromodulators, so that the dynamics and logic of synapses can be interpreted. Finally, the neural architectures of feedforward and recurrent networks will be discussed in the context of co-ordination, control, and integration of sensory and motor information in neural networks.
402-0209-00LQuantum Physics for Non-PhysicistsW6 credits3V + 2UL. Pacheco Cañamero B. del Rio
AbstractThis course covers similar contents to Quantum Mechanics I, but through an information-theoretical approach, especially suited for students with backgrounds in computer science, mathematics or engineering. We start from the postulates of quantum theory and build up to the tools needed to study the behaviour of complex systems, from entangled spins to the hydrogen atom and nano heat engines.
ObjectiveThis course teaches the formalism and physics of quantum mechanics. Students are equipped with tools to analyse complex settings such as the hydrogen atom, thermal engines and scattering. It covers similar contents to QM1 but from an information-theoretical perspective.
Content1. Quantum formalism, from qubits to particles in space
- Dirac notation
- Postulates of quantum physics
- Discrete systems: qubits, the Bloch sphere
- Continuous variables: position and momentum, the wave function
- Multiple systems: tensor product, entanglement
- Application: internal degrees of freedom of photons and electrons

2. Time and dynamics for quantum systems
- Unitary evolution and the Schrödinger equation
- Hamiltonian evolution and functions of operators
- Commutation relations and symmetries
- Application: the double-slit experiment
3. Uncertainty and open systems
- Modelling uncertainty: the density matrix
- Example: thermal states
- Open systems, irreversible evolution and Lindblad operators
- Application: heat engines
4. Spin and oscillators
- Spin and rotation
- Orbital angular momentum
- Ladder systems and the harmonic oscillator

5. Several particles, bosons and fermions
- Relative coordinates
- Identical particles and symmetry groups
- Fermions and bosons
- Second quantization

6. Problems in 1D
- Dynamics of a free particle
- Potential wells and stationary waves
- Spin chains

7. Problems in 3D
- Central potentials
- The hydrogen atom

8. Perturbation theory
- Assumptions and derivation
- Application: scattering
9. Non-locality
- Bell's theorem
- Non-classicality of quantum theory (extra)
- Modular momentum (extra)

10. Foundations of quantum theory
- Paradoxes
- Quantum reference frames
- Deriving the postulates of quantum mechanics from first principles
Lecture notesLecture notes will be distributed through the semester.
LiteratureQuantum Processes Systems, and Information, by Benjamin Schumacher and
Michael Westmoreland, available at

Link
Prerequisites / NoticeThis course is an alternative to Quantum Mechanics I aimed primarily at non-physicists, and in particular at students with a background in computer science, mathematics or engineering. Basic linear algebra and calculus knowledge is required (equivalent to first-year courses). Basic physics knowledge (equivalent to first-year courses) is recommended but not strictly necessary. Note that while we follow an information-theoretical approach, this is not a course on quantum information theory or quantum computing. It therefore complements those courses offered at ETH in both semesters.
252-0341-01LInformation Retrieval Information
Does not take place this semester.
W4 credits2V + 1Uto be announced
AbstractThis course gives an introduction to information retrieval with a focus on text documents and unstructured data.

Main topics comprise document modelling, various retrieval techniques, indexing techniques, query frameworks, optimization, evaluation and feedback.
ObjectiveWe keep accumulating data at an unprecedented pace, much faster than we can process it. While Big Data techniques contribute solutions accounting for structured or semi-structured shapes such as tables, trees, graphs and cubes, the study of unstructured data is a field of its own: Information Retrieval.

After this course, you will have in-depth understanding of broadly established techniques in order to model, index and query unstructured data (aka, text), including the vector space model, boolean queries, terms, posting lists, dealing with errors and imprecision.

You will know how to make queries faster and how to make queries work on very large datasets. You will be capable of evaluating the quality of an information retrieval engine.

Finally, you will also have knowledge about alternate models (structured data, probabilistic retrieval, language models) as well as basic search algorithms on the web such as Google's PageRank.
Content1. Introduction

2. Boolean retrieval: the basics of how to index and query unstructured data.

3. Term vocabulary: pre-processing the data prior to indexing: building the term vocabulary, posting lists.

4. Tolerant retrieval: dealing with spelling errors: tolerant retrieval.

5. Index construction: scaling up to large datasets.

6. Index compression: how to improve performance by compressing the index in various ways.

7. Ranked retrieval: how to ranking results with scores and the vector space model

8. Scoring in a bigger picture: taking ranked retrieval to the next level with various improvements, including inexact retrieval

9. Probabilistic information retrieval: how to leverage Bayesian techniques to build an alternate, probabilistic model for information retrieval

10. Language models: another alternate model based on languages, automata and document generation

11. Evaluation: precision, recall and various other measurements of quality

12. Web search: PageRank

13. Wrap-up.

The lecture structure will follow the pedagogical approach of the book (see material).

The field of information retrieval also encompasses machine learning aspects. However, we will make a conscious effort to limit overlaps, and be complementary with, the Introduction to Machine Learning lecture.
LiteratureC. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press.
Prerequisites / NoticePrior knowledge in elementary set theory, logics, linear algebra, data structures, abstract data types, algorithms, and probability theory (at the Bachelor's level) is required, as well as programming skills (we will use Python).
  •  Page  1  of  1