Search result: Catalogue data in Autumn Semester 2023

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
151-0317-00LVisualization, Simulation and Interaction - Virtual Reality IIW4 credits3GA. Kunz
AbstractThis lecture provides deeper knowledge on the possible applications of virtual reality, its basic technolgy, and future research fields. The goal is to provide a strong knowledge on Virtual Reality for a possible future use in business processes.
Learning objectiveVirtual Reality can not only be used for the visualization of 3D objects, but also offers a wide application field for small and medium enterprises (SME). This could be for instance an enabling technolgy for net-based collaboration, the transmission of images and other data, the interaction of the human user with the digital environment, or the use of augmented reality systems.
The goal of the lecture is to provide a deeper knowledge of today's VR environments that are used in business processes. The technical background, the algorithms, and the applied methods are explained more in detail. Finally, future tasks of VR will be discussed and an outlook on ongoing international research is given.
ContentIntroduction into Virtual Reality; basisc of augmented reality; interaction with digital data, tangible user interfaces (TUI); basics of simulation; compression procedures of image-, audio-, and video signals; new materials for force feedback devices; intorduction into data security; cryptography; definition of free-form surfaces; digital factory; new research fields of virtual reality
Lecture notesThe handout is available in German and English.
Prerequisites / NoticePrerequisites:
"Visualization, Simulation and Interaction - Virtual Reality I" is recommended, but not mandatory.

Didactical concept:
The course consists of lectures and exercises.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Media and Digital Technologiesassessed
Social CompetenciesCommunicationassessed
Cooperation and Teamworkassessed
Personal CompetenciesCreative Thinkingassessed
Critical Thinkingassessed
227-0124-00LEmbedded Systems Information Restricted registration - show details W6 credits4GM. Magno, L. Thiele
AbstractAn embedded system is a 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.
Learning 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 ThreadX, a commercial embedded system platform, and the associated design environment.
ContentAn embedded system is a 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 theoretical lecture, the course is complemented by laboratory sessions where students learn to program an embedded system platform including sensors using C, to base their design on the embedded operating system ThreadX, 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, and hardware architecture synthesis.
Lecture notesLecture material, publications, exercise sheets, and laboratory documentation will be available on the course's Moodle page.
LiteratureYifeng Zhu: Embedded Systems with Arm Cortex-M Microcontrollers in Assembly Language and C - Fourth Edition, E-Man Press LLC, ISBN: 978-0982692677, 2023

Giorgio C. Butazzo: Hard Real-Time Computing Systems. Predictable Scheduling Algorithms and Applications, Springer, ISBN 978-1-4614-3019-3, 2011
Prerequisites / NoticePrerequisites: Basic knowledge in computer architectures and programming.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
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.
Learning 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 + 1U + 1AV. 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.
Learning 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, simple neural architectures of feedforward and recurrent networks are discussed in the context of co-ordination, control, and integration of sensory and motor information.

Connections to computer science and artificial intelligence are discussed, but the main focus of the course is on establishing the biological basis of computations in neurons.
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, contact tracing with Bluetooth, audio communication, visible light communications, medical technology. The course combines lectures with a set of assignments in which students are asked to work with a JAVA simulation tool, and Arduino boards.
Learning 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. Throughout the course, insights from telecommunications, toy industry, and medical technology industry are shared.
ContentWireless Communication, Wi-Fi, Contact Tracing, Bluetooth, Internet-of-Things, 5G, Standards, Regulation, Algorithms, Radio Spectrum, Cognitive Radio, Mesh Networks, Optical Communication, Visible Light Communication. We will address contact tracing, radio link budget, location distance measurements, and Bluetooth in more depth. MedTech basics are also provided.
Chapters:
1 Introduction
2 Wireless Communication Basics
3 IEEE 802.11 Wireless LAN (Wi-Fi)
4 IEEE 802.15 Wireless PAN (ZigBee & Bluetooth)
5 Mobile Computing Algorithm Basics: Control and Game Theory
6 Visible Light Communication
7 Audio Communication
8 Cellular Networking Basics (LTE, 5G, Internet-of-Things)
9 Mobile Computing for Automated Medicine Delivery
10 Cognitive Radio, Delay Tolerant Networking, Radio Spectrum Sharing
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 https://bitbucket.org/lfield/jemula802
(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).
CompetenciesCompetencies
Concepts and Theoriesfostered
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Decision-makingassessed
Media and Digital Technologiesassessed
Problem-solvingassessed
Project Managementfostered
Social CompetenciesCommunicationfostered
Cooperation and Teamworkfostered
Customer Orientationassessed
Leadership and Responsibilityfostered
Self-presentation and Social Influence fostered
Sensitivity to Diversityfostered
Negotiationfostered
Personal CompetenciesAdaptability and Flexibilityassessed
Creative Thinkingassessed
Critical Thinkingfostered
Integrity and Work Ethicsfostered
Self-awareness and Self-reflection fostered
Self-direction and Self-management assessed
252-2810-00LFundamentals of Web Engineering Restricted registration - show details W5 credits2V + 2UM. El-Assady, D. Sichau
AbstractContemporary web development utilizes a technology stack that spans from back-ends to front-ends, and includes virtual server environments, document databases, back-end and front-end programming, and UI/UX design. The depth of this stack fosters separation of concern
and reuse, but also amounts to a steep learning curve.
Learning objectiveThis course introduces both theoretical and applied aspects of web engineering. It covers:

- DOM, CSS, Typescript
- Fronted and backend frameworks
- Client-server communication
- Interaction design, visualization and narrative storytelling
- Security for in the context of web engineering
- Desktop applications using web development techniques
ContentThe course has two main objectives:

- Obtain an end-to-end (both, theoretical and practical) understanding of the foundations of web engineering.
- Be able to apply these techniques in practice.

While the lecture will provide the theoretical foundations for the various aspects of web engineering, the students will apply those techniques in project work that will span over the whole semester - involving different aspects of web engineering.
Lecture notesThe lecture slides are available for download on the course page.
Prerequisites / NoticeTo contact us please us the following email: web-foundations@ethz.ch


Students should be familiar with the basics of a programming language (C, C++, Python, Java, Javascript, Typescript). The course will not teach basics of programming.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesfostered
Decision-makingfostered
Media and Digital Technologiesassessed
Problem-solvingassessed
Project Managementassessed
Social CompetenciesCommunicationassessed
Cooperation and Teamworkassessed
Personal CompetenciesAdaptability and Flexibilityassessed
Creative Thinkingassessed
Self-awareness and Self-reflection assessed
402-0209-00LQuantum Physics for Non-PhysicistsW6 credits3V + 2UP. Kammerlander
AbstractThis is an introduction to the physics of quantum mechanics following an information-theoretical approach. We start from the basic postulates, study the behaviour of quantum systems from a single spin to entangled particles in space, and connect the learnings to groundbreaking experiments from the past and the present. This course is well-suited for students with little background in physics.
Learning objectiveThis course teaches the basics of quantum physics, and complements courses in quantum computation and information theory. Students are equipped with tools to tackle complex quantum mechanical problems and foundational questions. The course covers approximately the same content as QM1, but from an information-driven perspective.
ContentQuantum formalism, from qubits to particles in space; Time and dynamics for quantum systems; Problems in 1D; Uncertainty and open systems; Spin; Problems in 3D; Non-locality and foundational aspects of quantum theory
Lecture notesLecture notes will be provided.
LiteratureQuantum Processes Systems, and Information, by Benjamin Schumacher and
Michael Westmoreland, available at

Link
Prerequisites / NoticeThis course is aimed 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).
Physics knowledge is not required. Physicists and students from a different background than outlined above are welcome at their own risk.

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 Zurich.

This course can be taken in parallel to Quantum Information Processing I & II.
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Decision-makingfostered
Media and Digital Technologiesfostered
Problem-solvingassessed
Project Managementfostered
Social CompetenciesCommunicationassessed
Cooperation and Teamworkfostered
Customer Orientationfostered
Leadership and Responsibilityfostered
Self-presentation and Social Influence fostered
Sensitivity to Diversityfostered
Negotiationfostered
Personal CompetenciesAdaptability and Flexibilityfostered
Creative Thinkingassessed
Critical Thinkingassessed
Integrity and Work Ethicsfostered
Self-awareness and Self-reflection fostered
Self-direction and Self-management assessed
  •  Page  1  of  1