Designed Graduate and Undergraduate Courses

Programming Languages and Paradigms (2015)

This course describes the different paradigms within computer programming and also covers development and criteria for the development of new languages. The emphasis of the laboratory is to get practical experience within each of the paradigms. In addition, some paradigms will be ‘implemented’ in a declarative programming setting to emphasis was goes on behind the scenes in some languages (for example, programming recursion, inheritance, declarative programming).

Cooperative Information Systems (2014)

This course covered topics on the different forms and management of information in a connected world. The basis of the course was a set of lectures on theoretical aspects complimented by a set of practical laboratory exercises implementing the technologies behind these concepts. The basic set of topics were: programming paradigms, functional programming (JAVA), declarative programming (PROLOG), databases (MySQL), semantic web and ontologies (Protégé and JENA api), webservices (through NetBeans environment), agent technology (JENA api), and requirement setup. Each individual lab involved a practical application of these technologies (implemented under the NetBeans environment in JAVA). The final project combined all these technologies to form a ‘web-shop’ for wines.

PROLOG and Logic programming (1995-2001)

This is a complete course of the PROLOG language based on the classic text of xxxx. Besides the basic concepts of PROLOG, there were moments involving constraint logic programming and automatic theorem proving.

Complete course can be found:

Introduction to Artificial Intelligence (1995-2001)

This is a classic course in artificial intelligence with emphasis on practical exercises. The classic concepts of AI were introduced, following the classic text of Nilsson, with practical exercises using public domain software, such as CLIPS for expert systems, PROLOG for logic programming, OTTER for automatic theorem proving.

Complete course can be found:

Machine Learning (1994-1998)

A course on the fundamentals of machine learning. The emphasis was not just on genetic algorithms and neural nets, but also predicate logic based learning. A fundamental part of the course was using my own machine learning algorithms for exercises.

LISP and functional programming (1995-2001)

A basic course in the fundamentals of functional programming in LISP.

Introduction to Combustion Kinetics (2006-2010)

This course was given at Ecole du Pétrole et des Moteurs / IFP School, Paris, France for their graduate engineering students (in engine technologies). The course was meant to give them a background in the basics of combustion kinetic chemistry. The lectures in the meantime have been converted to podcasts.

Methods in Computer-Aided Organic Chemistry (1995)

This was graduate course in the methods used in computer-aided organic synthesis. The emphasis (considering this was a course given in 1995) was on the representation of chemical structures as 2D graphical data structures and the use of these structures to recognize reaction classes.