Search result: Catalogue data in Spring Semester 2018
|Computer Science Bachelor|
|Bachelor Studies (Programme Regulations 2016)|
|252-0055-00L||Information Theory||W||4 credits||2V + 1U||L. Haug|
|Abstract||The course covers the fundamental concepts of Shannon's information theory. |
The most important topics are: Entropy, information, data compression, channel coding, codes.
|Objective||The goal of the course is to familiarize with the theoretical fundamentals of information theory and to illustrate the practical use of the theory with the help of selected examples of data compression and coding.|
|Content||Introduction and motivation, basics of probability theory, entropy and information, Kraft inequality, bounds on expected length of source codes, Huffman coding, asymptotic equipartition property and typical sequences, Shannon's source coding theorem, channel capacity and channel coding, Shannon's noisy channel coding theorem, examples|
|Literature||T. Cover, J. Thomas: Elements of Information Theory, John Wiley, 1991.|
D. MacKay, Information Theory, Inference and Learning Algorithms, Cambridge University Press, 2003.
C. Shannon, The Mathematical Theory of Communication, 1948.
|252-0341-01L||Information Retrieval||W||4 credits||2V + 1U||G. Fourny|
|Abstract||Introduction to information retrieval with a focus on text documents and images.|
Main topics comprise extraction of characteristic features from documents, index structures, retrieval models, search algorithms, benchmarking, and feedback mechanisms. Searching the web, images and XML collections demonstrate recent applications of information retrieval and their implementation.
|Objective||In depth understanding of how to model, index and query unstructured data (text), the vector space model, boolean queries, terms, posting lists, dealing with errors and imprecision.|
Knowledge on how to make queries faster and how to make queries work on very large datasets. Knowledge on how to evaluate the quality of an information retrieval engine.
Knowledge about alternate models (structured data, probabilistic retrieval, language models) as well as basic search algorithms on the web such as Google's PageRank.
|Content||Tentative plan (subject to change). The lecture structure will follow the pedagogical approach of the book (see below).|
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.
2. The basics of how to index and query unstructured data
3. Pre-processing the data prior to indexing: building the term vocabulary, posting lists
4. Dealing with spelling errors: tolerant retrieval
5. Scaling up to large datasets
6. How to improve performance by compressing the index
7. Ranking the results: scores and the vector space model
8. Evaluating the quality of information retrieval: relevance
9. Query expansion
10. Structured retrieval: when the data is not quite unstructured (XML or HTML)
11. Alternate approach: Probabilistic information retrieval
12. Alternate approach: Language models
13. Crawling the Web
14. Link analysis (PageRank)
|Literature||C. D. Manning, P. Raghavan, H. Schütze, Introduction to Information Retrieval, Cambridge University Press.|
|Prerequisites / Notice||Prior knowledge in linear algebra, data structures and algorithms, and probability theory (at the Bachelor's level) is required.|
|252-0820-00L||Case Studies from Practice||W||4 credits||2V + 1U||M. Brandis|
|Abstract||The course is designed to provide students with an understanding of "real-life" computer science challenges in business settings and teach them how to address these.|
|Objective||By using case studies that are based on actual IT projects, students will learn how to deal with complex, not straightforward problems. It will help them to apply their theoretical Computer Science background in practice and will teach them fundamental principles of IT management and challenges with IT in practice.|
A particular focus is to make the often imprecise and fuzzy problems in practice accessible to factual analysis and reasoning, and to challenge "common wisdom" and hearsay.
|Content||The course consists of multiple lectures on methods to systematically analyze problems in a business setting and communicate about them as well as IT management and IT economics, presented by the lecturer, and a number of case studies provided by guest lecturers from either IT companies or IT departments of a diverse range of companies. Students will obtain insights into both established and startup companies, small and big, and different industries.|
Presenting companies have included avaloq, Accenture, AdNovum, Bank Julius Bär, Credit Suisse, Deloitte, HP, Hotelcard, IBM Research, McKinsey & Company, Open Web Technology, SAP Research, Selfnation, SIX Group, Teralytics, 28msec, Zühlke and dormakaba, and Marc Brandis Strategic Consulting. The participating companies in spring 2017 will be announced at course start.
|151-0116-10L||High Performance Computing for Science and Engineering (HPCSE) for Engineers II||W||4 credits||4G||P. Koumoutsakos, P. Chatzidoukas|
|Abstract||This course focuses on programming methods and tools for parallel computing on multi and many-core architectures. Emphasis will be placed on practical and computational aspects of Uncertainty Quantification and Propagation including the implementation of relevant algorithms on HPC architectures.|
|Objective||The course will teach |
- programming models and tools for multi and many-core architectures
- fundamental concepts of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences
|Content||High Performance Computing:|
- Advanced topics in shared-memory programming
- Advanced topics in MPI
- GPU architectures and CUDA programming
- Uncertainty quantification under parametric and non-parametric modeling uncertainty
- Bayesian inference with model class assessment
- Markov Chain Monte Carlo simulation
Class notes, handouts
|Literature||- Class notes|
- Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein
- CUDA by example, J. Sanders and E. Kandrot
- Data Analysis: A Bayesian Tutorial, Devinderjit Sivia
|227-0124-00L||Embedded Systems||W||6 credits||4G||L. Thiele|
|Abstract||An 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.|
|Objective||Understanding 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.
|Content||An 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 https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html .
|Lecture notes||The following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html .|
|Literature||P. 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 / Notice||Prerequisites: Basic knowledge in computer architectures and programming.|
- Page 1 of 1