Prospectus

nl en

Python for Linguists 2

Course
2025-2026

Admission requirements

Students must have completed the course Python for Linguists 1, or have attained a comparable level of Python programming elsewhere. Students from outside Linguistics are also welcome, as long as there are places available.

Description

This course will skyrocket your ability to use Python for language analysis. You will acquire both more advanced Python techniques and familiarity with the (Bash) command line: the standard interface for open-source research tools including our university's supercomputer ALICE.

Along the way, students will get acquainted with core concepts from Computational Linguistics, such as language models, parts of speech, regular expressions, dependency parsing and discourse relations, as well as more advanced Python libraries (e.g., spaCy, pandas, transformers, gensim).

As in part 1, we again mix lectures with (optional) hands-on workgroups for homework assistance, guiding you through two new readers packed with step-by-step exercises and creative Coding Quests. In the final weeks, students will collaboratively conduct a small computational research project on a topic of choice.

While part of the Linguistics BA, this course again welcomes students from across the Humanities and beyond — because language is everywhere, and programming is a superpower – now more than ever.

Course objectives

By the end of this course:

  • You’ll be able to build your own command-line tools in Python — from quick utilities to reusable, sharable research tools.

  • You’ll be able to work in a Unix (Bash) environment, chaining together commands like sed, grep, and your own tools to solve real problems.

  • You’ll be able to use advanced Python libraries for language analysis.

  • You’ll be able to explain core notions in computational linguistics, including POS tagging, dependency parsing, language generation and coreference resolution.

  • You’ll be able to design, carry out and present a small computational research project.

Timetable

The timetables are available through My Timetable.

Mode of instruction

  • Lecture

  • Tutoring

Assessment method

Assessment

There will be one written exam at the end, with a mix of closed questions, short open questions and short programming exercises. Throughout the course, portions of the homework will be marked as mandatory, to be submitted for a simple pass/fail grade. Only students with at least 80% of these assignments passed can pass the course. In the final weeks, students will collaboratively conduct and present a small research project.

Weighing

Your final grade will be computed as the average of the exam (70%) and the group project (30%), with a maximum grade of 5.0 (fail) if insufficient homework assignments are passed.

Resit

A resit will be offered for the written exam, replacing the original grade entirely. A resit will also be offered for the mandatory portion of the homework, in the form of a substantial, individual programming assignment at the end of the course. Resitting the group project is not possible.

Inspection and feedback

How and when an exam review will take place will be disclosed together with the publication of the exam results at the latest. If a student requests a review within 30 days after publication of the exam results, an exam review will have to be organized.

Reading list

Students will need to order two readers with exercises from Leiden University’s ReaderOnline service:

  • The Big Book of Python Exercises for Linguists, volume 2

  • The Small Book of Python Quests for Linguists, volume 2

Registration

Enrolment through MyStudyMap is mandatory.

General information about course and exam enrolment is available on the website.

Registration Contract teaching and Exchange

Information for those interested in taking this course in context of Contract teaching (with taking examinations), eg. about costs, registration and conditions.

For the registration of exchange students contact Humanities International Office.

Contact

  • For substantive questions, contact the lecturer listed in the right information bar.

  • For questions about enrolment, admission, etc, contact the Education Administration Office: Reuvensplaats

Remarks

None.