Search result: Catalogue data in Spring Semester 2022
Computer Science Bachelor ![]() | ||||||
![]() | ||||||
![]() ![]() Offered in the autumn semester. | ||||||
![]() ![]() | ||||||
Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|
401-0212-16L | Analysis I ![]() | O | 7 credits | 4V + 2U | Ö. Imamoglu | |
Abstract | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||
Learning objective | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||
Content | Real and complex numbers, vectors, functions, limits, sequences, series, power series, differentiation and integration in one variable | |||||
Lecture notes | Analysis I, Marc Burger | |||||
Literature | Tom Apostol: Mathematical Analysis Teaching materials and further information will be available through the course website. | |||||
252-0028-00L | Digital Design and Computer Architecture ![]() | O | 7 credits | 4V + 2U | O. Mutlu, F. K. Gürkaynak | |
Abstract | The class provides a first introduction to the design of digital circuits and computer architecture. It covers technical foundations of how a computing platform is designed from the bottom up. It introduces various execution paradigms, hardware description languages, and principles in digital design and computer architecture. | |||||
Learning objective | This class provides a first approach to Computer Architecture. The students learn the design of digital circuits in order to: - understand the basics, - understand the principles (of design), - understand the precedents (in computer architecture). Based on such understanding, the students are expected to: - learn how a modern computer works underneath, from the bottom up, - evaluate tradeoffs of different designs and ideas, - implement a principled design (a simple microprocessor), - learn to systematically debug increasingly complex systems, - hopefully be prepared to develop novel, out-of-the-box designs. The focus is on basics, principles, precedents, and how to use them to create/implement good designs. | |||||
Content | The class consists of the following major blocks of contents: - Major Current Issues in Computer Architecture: Principles, Mysteries, Motivational Case Studies and Examples - Digital Logic Design: Combinational Logic, Sequential Logic, Hardware Description Languages, FPGAs, Timing and Verification. - Basics of Computer Architecture: Von Neumann Model of Computing, Instruction Set Architecture, Assembly Programming, Microarchitecture, Microprogramming. - Basics of Processor Design: Pipelining, Out-of-Order Execution, Branch Prediction. - Execution Paradigms: Out-of-order Execution, Dataflow, Superscalar Execution, VLIW, Decoupled Access/Execute, SIMD Processors, GPUs, Systolic Arrays, Multithreading. - Memory System: Memory Organization, Memory Technologies, Memory Hierarchy, Caches, Prefetching, Virtual Memory. | |||||
Lecture notes | All the materials (including lecture slides) will be provided on the course website: http://safari.ethz.ch/digitaltechnik/ The video recordings of the lectures are likely to be made available, but there may be delays associated with the posting of online videos. | |||||
Literature | Patt and Patel's "Introduction to Computing Systems" and Harris and Harris's "Digital Design and Computer Architecture" are the official textbooks of the course. We will provide required and recommended readings in every lecture since the course is cutting-edge and there is no textbook that covers what the course covers. They will be mostly chapters of the two textbooks, and important articles that are essential for understanding the material. | |||||
252-0029-00L | Parallel Programming ![]() | O | 7 credits | 4V + 2U | T. Hoefler, B. Solenthaler | |
Abstract | Introduction to parallel programming: deterministic and non-deterministic programs, models for parallel computation, synchronization, communication, and fairness. | |||||
Learning objective | The student should learn how to write a correct parallel program, how to measure its efficiency, and how to reason about a parallel program. Student should become familiar with issues, problems, pitfalls, and solutions related to the construction of parallel programs. Labs provide an opportunity to gain experience with threads, libraries for thread management in modern programming lanugages (e.g., Java, C#) and with the execution of parallel programs on multi-processor/multi-core computers. | |||||
252-0030-00L | Algorithms and Probability ![]() ![]() | O | 7 credits | 4V + 2U | A. Steger, E. Welzl | |
Abstract | Es werden klassische Algorithmen aus verschiedenen Anwendungsbereichen vorgestellt. In die diskrete Wahrscheinlichkeitstheorie wird eingeführt und das Konzept randomisierter Algorithmen an verschiedenen Beispielen vorgestellt. | |||||
Learning objective | Verständnis des Entwurfs und der Analyse von Algorithmen. Grundlagen der diskreten Wahrscheinlichkeitstheorie und ihrer Anwendung in der Algorithmik. | |||||
Content | Fortsetzung der Vorlesung Algorithmen und Datenstrukturen des ersten Semesters. |
Page 1 of 1