Course manual 2023/2024

Course content

Programming is an essential skill in any career after your MSc degree. This course teaches you advanced scientific problem-solving skills in Mathematica and Python. Starting from a rudimentary basis (see prerequisites) we will discuss how to import and export data, create data structures, visualize results and investigate numerical recipes to solve differential equations or integral relations.

Short lectures will introduce each topic, but most of the effort is getting hands-on experience through coding exercises. We will cover two popular languages: Mathematica and Python.

We will focus on the following topics in Mathematica:

  1. Getting started (organizing Notebooks), using Lists.
  2. Simple Algebra (differentiation, integration, substitution, Assignments simplification, etc.)
  3. Solving ordinary differential equations; visualizing results with Animate[.] and Manipulate[.]
  4. Constants, Units and external data
  5. Advanced examples

We will focus on the following topics in Python:

  • Data types, floating point precision, good programming habits
  • data structures in Python, conditionals, loops, functions, and introduction to computational complexity
  • NumPy arrays for efficient numerical computing in Python
  • Numerical resolution of differential equations
  • Introduction to stochastic simulation

We will also discuss:

  • Data visualization with MatplotLib  
  • Handling data with Panda

Study materials

Literature

Objectives

    Teaching methods

    • Lecture
    • Laptop seminar
    • Self-study

    Learning activities

    Activity

    Hours

    Self study

    84

    Total

    84

    (3 EC x 28 uur)

    Attendance

    Requirements concerning attendance (OER-B).

  • In addition to, or instead of, classes in the form of lectures, the elements of the master’s examination programme often include a practical component as defined in article A-1.2 of part A. The course catalogue contains information on the types of classes in each part of the programme. Attendance during practical components is mandatory.
  • Assessment

    Item and weight Details

    Final grade

    The course will be assessed with a pass/fail mark based on submitted assignments and a final computational project.

    Assignments

    The course will be assessed with a pass/fail mark based on submitted assignments and a final computational project.

    Fraud and plagiarism

    The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

    Course structure

    WeeknummerOnderwerpenStudiestof
    1
    2
    3
    4
    5
    6
    7
    8

    Timetable

    The schedule for this course is published on DataNose.

    Contact information

    Coordinator

    • dr. R.J.C. Spreeuw