Roles

Database Systems

I have been the sole teaching assistant for the database course since fall 2016. I contribute to lectures, in particular, practice ones, assignments, and exams.

The course

Objectives

We live in a world full of data. Almost every human activity nowadays produces data or needs access to data. As such, there is a need for effective and efficient solutions that will allow us to store, maintain, search and retrieve large volumes of data. This is what the data management systems do. The goal of the course is to teach the students the fundamental concepts of data management, to train them in order to be able to design of good databases, give them the ability to build complex queries, and allow them to identify and solve performance problems in real life situations.

Naturally, the course focuses on relational databases since the relational model is the one that drives most of the existing data management systems in the industry nowadays, it has been around for more than 30 years and has been one of the most studied models, and has been the one with the most commercial tools in operation.

Contents

The contents of the course lecture will include the following topics: The Entity-Relationship model, The relational model, The relational algebra, SQL, Normalisation to BCNF, Views, Indexes, Query Execution Cost, Query Optimisation, Commercial Systems like Oracle, MySQL, DB2, SQL Server.

[[... an excerpt from the course syllabus...]]

Foundations of Computer Science and Numerical Methods

I have been the lecturer for the laboratory on numerical methods. The students were introduced to computer programming and taught how to implement numerical methods in Ruby. The course was offered to the students from the B.Sc. of Industrial Engineering.

Lectures consisted of theory (slides), examples (live coding), and exercises (students coding and then discussion of the solution). All materials are made available at this page ordered by lecture date.