Admission requirements
None.
Description
This course offers a strong foundation in Python programming, focused on programming simple scripts to analyze natural language data. While part of the Linguistics bachelor, the course welcomes students from other discipines – language is everywhere, after all. This course presupposes no prior experience with programming, yet will be interesting also for students who do have some experience already.
There will be lectures and ‘workgroups’, where the latter are explicitly optional tutoring sessions meant for extra homework assistance. Guided by two readers with incremental exercises and interesting Coding Quests, the focus is on ‘getting stuff done’. As we will learn, getting stuff done in a reliable (and enjoyable) way requires, besides knowledge of Python, awareness of certain key concepts, a computational way of thinking, and good coding habits.
Scientists have historically always built their own research tools. Increasingly, in Linguistics and beyond, our tools are computer programs that let us collect linguistic data, analyze it, run experiments, or simulate aspects of cognition. Our research findings need to be replicable, so the tools we build must be correct and transparent.
Course objectives
- You will be able to code and execute short Python programs that read, analyze and/or write mainly textual data, involving steps such as reading files, tokenization, cleaning data, and categorizing and counting data. • You will be able to explain, in outline, how a computer interprets Python code, including control flow (loops, break, continue, if-else, functions). • You will be able to decompose a larger task into sub-tasks, and solve those by choosing appropriate built-in functions and datastructures, as well as defining your own reusable functions. • You will be able to explain, in outline, a selection of topics from the field of computational linguistics, such as tokenization, n-grams, language generation and distributional semantics. • You will learn to feel more comfortable in a state of ‘being stuck’, and acquire basic techniques for getting 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
The Small Book of Python Quests for Linguists
These will continue to be used in Python for Linguists 2 the following year.
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.