Course manual 2025/2026

Course content

This course is designed to provide students with the background in programming that is necessary to follow other more advanced master-level courses in areas such as linguistics, natural language processing, machine learning, etc. The goal is to make students that have had no prior exposure to programming feel comfortable with the basic concepts.


In this course, the students will be learning Python, a language that is now widely used in many fields. Combining their Python skills with the knowledge acquired during Basic Probability: Theory,  the students will also implement several basic machine learning algorithms during the second half of the course.

Study materials

Literature

Objectives

  • the student is able to use basic programming concepts, such as variables, conditions, loops, functions, lists, etc.
  • given the mathematical description of a simple algorithm, the student is able to implement that algorithm in python
  • the student is able to use some more advanced python specific concepts such as dictionaries, classes and inheritance
  • the student is able to use a library and to find information by himself/herself about a new library using the documentation
  • the student is able to find and fix basic programming errors in a program
  • the student can independently study and search both offline and online resources
  • the student is able to implement some very basic machine learning algorithms, using the concepts from the course ‘Basic probability: theory’

Teaching methods

  • Seminar
  • Self-study

Learning activities

Activity

Hours

Tentamen

3

Werkcollege

14

Self study

67

Total

84

(3 EC x 28 uur)

Attendance

This programme does not have requirements concerning attendance (TER-B).

Assessment

Item and weight Details

Final grade

0.4 (40%)

Tentamen

0.2 (20%)

Self-study notebooks

0.4 (40%)

Laptop assignments

Your grade will be computed as follows: 20% for the self-study notebooks, 40% for the programming assignments, 40% for the final exam.

To pass the course, this final grade has to be >= 5.5 and the grade for the final need to be >= 4.5. 

The exam is a digital open book exam and students are expected to bring their own computer (if this is not possible, the student needs to contact the course coordinator at least 2 weeks before the exam and we can provide a computer).  The exam is written as a jupyter notebook, which is the same format used for all the weekly and programming assignments. Students may use any resources, as long they do not use any tool to communicate with  each other.

For the programming assignments,  there is a penalty of 25% per day for late hand-ins, with a maximum cut-off of 2 days. This penalty may be waived in case of sickness, but an email from the studieadviseur is needed.

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

Contact information

Coordinator

  • Gaelle Fontaine