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.
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.
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.
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.