Category Archives: Python for linguists

The plan for the second week is to start learning some basic Python notions. Before that, I usually introduce the notion of pseudocode as an easy way of describe how to solve problems. This allows me to discuss problems for which we do not have all the necessary programming background to implement them. I tend to keep a fairly informal definition of pseudocode. After that, I introduce the notions of data types and variables. We learn about integers, floats and strings. I also discuss branching (if-then-else) as a first way of controlling the flow of the program.

Read more

The plan for the first lecture is to get the course started. Usually I use this first lecture to introduce the course, schedule, assessments, etc and make sure all the students are able to run python on their computers or the computers from university. I introduce Python, the notion of problem solving and reading from the standard input and printing to standard output. Students have the chance to play with the Turtle module as a first way of interacting with Python.

Read more

The majority of the materials in this course are made using Jupyter Notebooks, even the slides. I will explain in another post how I prepare the slides. Meanwhile, this post is to help you if you are struggling to navigate the slides.

Read more

A few weeks ago I introduced my students to the notion of dictionaries in python. The obvious way of teaching them, especially in the context of my module, is to use dictionaries to create word frequency lists. In order to make the students understand better why dictionaries are useful, we discussed other ways to produce frequency lists which use only lists. This prompted me to try to think as many ways as possible to produce frequency lists. I also wanted to see how feasible is to use these methods.

Read more

This is a very much delayed series of posts related the yearly module I give on Python programming for Natural Language Processing. The purpose of this module is to teach students how to use Python for processing corpora and for other Natural Language Processing (NLP) related tasks. The background of students is different from year to year, but in general students come with non-computer science related backgrounds. This makes the module a bit challenging because in about 12 weeks, I need to bring these students from zero to an intermediate level.

Read more

5/5