Admission requirements
None. Students outside Linguistics are also welcome, as long as there are places available.
Description
An accessible but ambitious intro to Python, you’ll learn how to write your own scripts for collecting and analyzing real-world language data – and for streamlining everyday tasks. You won’t just learn Python syntax, you'll learn how to think like a programmer: breaking down problems, writing clean code, and building habits that translate far beyond coding.
We mix lectures with (optional) hands-on workgroups for personal homework assistance, guiding you through two custom readers packed with step-by-step exercises and creative Coding Quests. While part of the Linguistics BA, this course welcomes students from across the Humanities and beyond — because language is everywhere, and Python is the gatekeeper.
Along the way, we’ll reflect on language, power, and tech — and what it means to be an academic in a digital world in crisis. You'll gain digital autonomy, demystify your tools, and greatly enhance your ability to benefit from, and criticize, generative AI.
No coding background? This course is for you. Some experience already? You’ll still learn a lot. Take this course on its own, or pair it with Python for Linguists 2 next semester.
Course objectives
By the end of this course:
You'll able to write Python programs from scratch, for analyzing language, for automating everyday tasks, and for fun.
You’ll be able to explain how a computer sees and executes your Python program.
You’ll be able to break down complex problems into manageable steps.
You’ll have worked with key concepts from computational linguistics, including tokenization, classification, word vectors and gender bias in language models.
You'll be better at being stuck, and at getting yourself unstuck.
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.
Weighing
Your final grade will be determined by the final exam, with a maximum grade of 5.0 (fail) if insufficient homework assignments are passed.
Resit
A resit for the written exam will be offered in the form of a written exam, replacing the original grade entirely. A resit for the mandatory portion of the homework will be offered in the form of a substantial programming assignment at the end of the course.
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 1)
The Small Book of Python Quests for Linguists (volume 1)
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.