# Teaching

## Foundations of Computing I (AINF1170)

**Organisation**

Lecturer: |
Prof. Dr. Renato Pajarola, Dr. Raphael Eidenbenz, Dr. Thomas Locher |

Assistents: | Lars Zawallich, Philipp Föhn |

Time: | Tuesday and Thursday 14:00-15:45 |

Room: | BIN 1.B.01 |

Language: | English |

OLAT: | FS19 Foundations of Computing I |

VVZ: | Vorlesungsverzeichnis Foundations of Computing I (AINF1170) |

### Overview

The goal of this course is to introduce the students to the formal logical and mathematical models as well as discrete structures that build the foundation of computing, programming and algorithms. Students will learn the fundamental concepts of logic and discrete mathematics as used in computer science and its applications. In particular, in this course the skills of precise mathematical thinking and argumentation should be trained to express formal problems, give mathematically sound explanations and formulate logically correct proofs.

The lecture is targeted at first-year students within their BSc in computer science or similar.

### Content

Foundations of computing such as propositional and predicate logic, discrete mathematical structures as well as algorithm complexity, in particular:

- Introduction to Mathematical Statements
- Compound Logic Statements
- Quantified Logic Statements
- Number Theory and Proofs
- Sequences, Induction and Recursion
- Set Theory
- Functions
- Relations
- Graphs and Trees
- Analysis of Algorithms

#### Literature

The lecture is based on the following textbook:

*Discrete Mathematics with Applications, by Susanna S. Epp, 4th Edition.*

#### Assessment

Participation and successfully passing the exercises, the mandatory in-class midterm exams during the semester as well as passing the written final exam.

**The mandatory in-class midterm exams will be held on Thursday 21.3.2019 and Thursday 2.5.2019 in multiple rooms at BIN.**

#### Exercises

Regular exercises will consist of assignments distributed and discussed in class, also using OLAT. Participation in the exercises is required for completing the course.

#### Final Exam

In order to be eligible for the final exam you need to successfully participate in the exercises. The lecture is completed by also passing the written final exam. Place and date is published on the UZH course catalogue link and in OLAT (see links above).

#### Lecture material and content

The lecture material (slides, exercise..) will be available on the OLAT course website.

The course will cover topics such as, but not limited to, information and coding, boolean and digital logic, predicates, number theory, proving methods, sets, functions, relations, graphs and trees, and complexity.