HomeTeachingProjectsThesisPublicationsProfessional Activities
 
Teaching

Spring Courses

  • Software Engineering and Architectures (Master)
    This course of the MSE Master study covers advanced topics in software engineering and software architecture. I teach this course in conjunction with two colleagues from Bern and Winterthur. I cover the topics agile software methods and software evolution.
     
  • .Net Enterprise Application Development
    This course builds on the .Net Framework and C# course, and covers the technologies and frameworks for the development of .Net Enterprise Applications including GUI development with WPF, Web development with ASP.Net MVVM, MVC and Silverlight, Database development using ADO.Net, Entity Framework, WCF and WF.
     
  • Software Construction
    We moved the course into the 2nd semester of our computer science study. The topic of this module are methods and tools for effective software development in the small and includes subjects like version control, automation, continuous integration, refactoring, unit testing, db testing, mock testing, acceptance and GUI testing and metrics and code analysis - i.e. the techniques and tools that are needed for agile development.

Autumn Courses

  • Software Testing and Quality Management
    This course is a kind of follow-up of the Software Construction course, which teaches advanced methods for building high-quality software and use appropriate measures to control and ensure software quality with modern tools: Workding with distributed version control systems and the appropriate workflows, acceptance testing, GUI testing, database testing, review techniques, planning of quality assurance into the development process, technical debt, dependency management, traceability in software projects.
  • Software Development Process
    This course provides a practical introduction into the concepts and techniques of modern software development processes and project management. I provide a thorough practical introduction into the agile development process, applying the Scrum City Game, a Scrum simulation project.
     
  • .Net Framework and C#
    This course covers the core .Net architecture and the runtime model (CLR) and gives an in depth introduction into C#. It provides a view "behind the fassade", showing the functioning of the garbage collector, the Intermediate Language, LINQ and other exiting features, like lambda expressions, extension methods etc.

 

Former Courses 

  • Mobile Application Development (2008)
    Dieser Kurs gibt eine fundierte praktische Einführung in die Entwicklung von mobilen Softwareanwendungen. Sie lernen die neuesten Plattformen, Methoden und Technologien zur Entwicklung portabler mobiler Softwareanwendungen für Handys kennen und anwenden.
     
  • Introduction into .Net (2008)
    This course gives an introduction into the .Net technology covering the core .Net base class library, the architecture and also the additional frameworks like Winforms, ADO.Net, ASP.Net and Web Services.
     
  • Web Services Architecture (2007)
    Web Services haben sich als ein sehr effektiver und interoperabler Integrationsstandard etabliert und zahlreiche kommerzielle Anwendungen wurden bereits mit Web Services realisiert. In diesem Modul lernt der Student die wichtigsten Web Services Begriffe und Konzepte kennen. Anhand konkreter Programmieraufgaben wird er diese Lerninhalte anwenden und vertiefen.
     
  • Object-oriented Analysis and Design (2003-2005)
    An introduction into object-oriented analysis and design based on Craig Larman's book Applying UML and Patterns.
     
  • Software Engineering (1999-2003)
    I taught for several years a thorough introduction into Software Engineering. During this course I also captured diverse material, links and document templates which are still available for use.