Currently, we have two modules:

1. Basic Python Programming, about 1 EC

This is the second, improved version that is in use in several bachelor courses at TU Delft. The improvements with respect to the first version consist of the addition of the entrance test, optional and extensional material (see: Educational Vision); moreover, the course itself has had a makeover as a result of our evaluation of the first version.
Contents: Variables and their scope, defining, changing and printing the values of variables. Standard coding styles and best practices. Basic commands, functions and data types. Control flow statements, like loops and conditional statements (if-then-else). The use of iteration on data types like lists. Logical expressions, like (in)equality and negation, and their use. Defining, implementing and calling of functions. Importing and using items from Python modules. Basic printing and plotting.

2. Intermediate Python Programming, about 1 EC

This module is partly in development. The idea is to have several “simple engineering problems” that deal with typical problems occurring in engineering domains. Bachelor courses choose or define the problems to be included in their version of the module (“cafeteria model”). At the moment we have three concept packages:

  1. Energy conservation in a moving mechanical cart rolling down/up a slope
    Problems: calculation of potential/kinetic energy, storage and transfer from a flywheel or a spring, and friction losses.
    Python topics: Function definitions, lists, NumPy.linspace, time-path-speed table, path-energy, path-energy losses, simple plot.
  2. Simple statistical data analysis
    Problems: Calculation of data analysis, including min, max, avg, mean and stddev of CSV-file data. Plotting of histograms, pie-charts and crosstabs.
    Python topics: Function definitions, lists, SciPy.stats, Matplotllib histo, pie and crosstab in text format.
  3. WordCloud from web text
    Problem: Programmatically obtain text from the web, analyse it and create a word cloud that reflects the word frequencies.
    Python topics: HTTP requests (via requests), Web Scraping (via beautifulsoup4), Text Processing (via nltk), WordCloud generation (via wordcloud) and plotting (via matplotlib). All supported by python basics (function definitions, lists, string operations, strip, split, etc.).

Basic Python Programming is made available within the cloud platform Vocareum which is fully LTI integrated in Brightspace for TU Delft. This means, e.g., that student results are automatically linked to the grade centre of Brightspace. For students there is no separate login for Vocareum needed: the entry is via Brightspace.

We are also working on a self-paced version of the material that will be accessible to all new master’s students.