My teaching focuses on bringing students on all levels (B.Sc., M.Sc. and Ph.D.) the subjects of my research closer. I have taught and helped teaching classes centering around data management in general and databases as well as data processing (workflows, enterprise application integration, web services etc.) in particular. Currently I teach classes in the area of databases as well as large scale data management (big data).
My current teaching at Imperial College entails the following:
Undergraduate class teaching the basics of relational databases, their query languages and the design of a relational schema. Core concepts taught include the relational model, UML for the design of a database and SQL for querying it.
Academic Writing (Lecturer)
Graduate seminar discussing and presenting recent publications on to develop the compentece to critically read and write research papers.
My past teaching at ETHZ and EPFL was in the following areas:
Geographic Information Systems (Lecturer)
Undergraduate class teaching geographic information systems featuring a part on the basics of relational databases, their query languages and the design of a relational schema. Core concepts taught include the relational model, UML for the design of a database and SQL for querying it.
Advanced Topics in Database Systems (Teaching Assistant)
Graduate seminar discussing recent papers on data management focussing on Data Provenance, Peer-to-peer DBs, Data Streams, Cloud Computing, Column Stores, Automated Physical Design.
Enterprise Application Integration (Teaching Assistant)
This class explores the design and architecture of large information systems, such as those found behind commercial web sites, scientific servers, or data clusters. The class aims at providing an in depth review of the evolution and state of the art of the tools and methodologies used to build large information systems.
Web Services and Service Oriented Architectures (Teaching Assistant)
This class explores the architecture of large, distributed information systems from the point of view of “services” and “service oriented” languages and architectures. The class covers the most important specifications, discuss their use in practice, and analyze the strengths and weaknesses of service orientation.
Distributed Systems (Substitute Lecturer)
This course teaches the core principles of distributed systems technology, including examples in a wide range of areas: from web services to ubiquitous computing including as well wireless networks, ad-hoc networks, and distributed application on PDAs.
Data Provenance and Lineage Tracking Research Seminar (Teaching Assistant & Lecturer)
Master students seminar presenting and discussing the research approaches to provenance and lineage tracking, querying and exploration.
Distributed Process Support Systems Research Seminar (Teaching Assistant & Lecturer)
Seminar for Master students presenting and dicussing the latest work in distributed process support systems, service composition and workflow execution.
Computer Architecture (Teaching Assistant)
Course for B.Sc. students teaching the basic principles of computer architecture with hands-on exercises.