Courses

An overview of the courses in this minor. Time flows from top to bottom: periods 1, 2, and 3.

The course links for this year are as follows. Please register on time for each course separately in GLASS. Also, please register to the coordinator for the minor as a whole here! Note: you do not need to register for the minor as a whole via SIS. The link above is sufficient.

  1. Programming for Minor Computational Science (6 EC; Python).
    1. If (and only if) you are already proficient in basic programming in Python (think: functions, lists, dictionaries, for-loops) then you may also take a different programming course, either more advanced or for different programming languages. Other useful and typical languages used in computational science include Mathematica, Matlab, Julia or C/C++ (for high-performance).
      1. For instance, have a look at Inleiding Programmeren (programming in C) or Algorithms and Data Structures in Python (data structures; more advanced Python programming).
      2. If you are interested in chemistry as an application domain then Programming and Algorithms is a good option (multiple languages).
      3. In periods 2–6 there are of course many other options (if your study plan allows), such as Distributed and Parallel Programming. Please explore.
      4. If none of these courses are suitable for you (due to your background or already known to you) then we also allow related Informatics courses which are especially helpful to Computational Scientists; in particular Moderne Databases or Architectuur en Computerorganisatie.
      5. Notes:
        1. We do not have an arrangement with any of these courses so your admission will be assessed on a case by case basis by the corresponding course coordinator;
        2. The elective course should be accorded by the minor coordination, if not one of the abovementioned;
        3. The elective cannot be double-counted, i.e., it cannot also count towards your B.Sc. degree or another minor.
  2. Mathematics for Minor Computational Science (6 EC). The goal of this basic math course is to fulfill two areas of math deficiencies out of three: probability theory (P), calculus (C), and linear algebra (L). The course offers three modules of which you will pick two (no less, but of course you are welcome to try to follow all three if you dare, while still only earning 6 EC).
    1. If you have already sufficient background in all three math topics you may choose a replacement math course in period 1. Since the backgrounds and interests of all students following our minor is so diverse, it is not feasible for us to provide an exhaustive list of potential replacements for this course. This is exhacerbated by the fact that some students follow the minor spread over two years or take an extra year for their B.Sc. study, which means they could also follow a replacement course in a different period than period 1. Some considerations, nevertheless:
      1. The replacement course should either be a more advanced mathematics course (‘deepening’), or an interdisciplinary course (‘broadening’) that takes you outside of your own discipline.
        1. Deepening: as an example, for some students the course Advanced Quantum Physics is feasible and interesting, and it deepens linear algebra aspects (density matrices; complex numbers). However, for other students this course is not accessible due to it assuming some physics background. A different and more computationally oriented course (yet also containing quantum physics, apologies for this coincidence) would be Mathematics for Computational Chemistry. Finally, a course such as Wiskunde N2 goes deeper into calculus and differential equations as well as related concepts such as Fourier transformation.
          1. Although possible, it is advisable to not pick a statistics course in this period, since the minor contains already its own statistics course in period 2.
          2. If you take the minor spread over multiple semesters then you have of course many more options. One interesting advanced mathematics course that is permitted is Mathematics 4: Multivariate Analysis, but please keep in mind that not every student meets the prerequisites for this course. (This will often be the case for more advanced mathematics courses.)
          3. Note that we do not have an arrangement with these courses so your admission will be assessed on a case by case basis.
        2. Broadening: if your mathematics background is already strong (i.e., at least covering the default mathematics course), you may also choose to step out of your comfort zone and bridge to other disciplines. Interdisciplinarity is a core value of a computational scientist, since we almost always work together with scientists from different domains, which is why this option is provided. Have a look at the Institute for Interdisciplinary Studies. Note that some of their courses span multiple periods, but they are designed to combine with your regular courses (downside: this may mean that the scheduled times are irregular or in the evening).
  3. Modelling and Simulation.
  4. Scientific Data Analysis.
  5. Project Computational Science.

Online resources

If you are for whatever reason unable to adequately cover one of the math domains (P, C, L) in period 1, or you would like to review your knowledge, then please have a look at some corresponding online courses or instruction videos to quickly refresh the basics before you begin the courses in period 2. This is not a formal requirement built into the minor program, nevertheless it is recommended for you to get the most out of the minor, especially if your corresponding math course(s) took place some time ago.

Short instruction videos are for example:

Or better yet, online courses (or equivalent):

  1. Calculus (differentiating, integrating), something like https://www.coursera.org/learn/calculus1 or even Ordinary Differential Equations basics, such as https://www.coursera.org/learn/ordinary-differential-equations
  2. Python programming experience, e.g. Datacamp or a Python programming course on Coursera.
  3. Linear algebra introduction, maybe something like https://www.coursera.org/learn/linear-algebra-machine-learning which also uses some Python
  4. Probability theory (‘kansrekening’) introduction, maybe something like https://www.coursera.org/learn/probability-intro (but programs in R, not Python) or https://www.coursera.org/learn/introductiontoprobability.