Master
2020/2021
Programming Basics
Category 'Best Course for Career Development'
Category 'Best Course for Broadening Horizons and Diversity of Knowledge and Skills'
Category 'Best Course for New Knowledge and Skills'
Type:
Bridging course (Linguistic Theory and Language Description)
Area of studies:
Fundamental and Applied Linguistics
Delivered by:
School of Linguistics
Where:
Faculty of Humanities
When:
1 year, 1 module
Mode of studies:
offline
Instructors:
Daria Popova
Master’s programme:
Linguistic Theory and Language Description
Language:
English
ECTS credits:
3
Contact hours:
32
Course Syllabus
Abstract
The course is an introduction to data processing and programming for theoretical linguists. It assumes little to no background in programming. The course aims to make the students comfortable with programming and with using programming in their own linguistic research. The first goal of the course is to introduce the basics of programming; the second goal of the course is to show the students that they can solve linguistic problems that they are interested in and working on using the tools they were given. The course provides an opportunity for the students to work on their own research problem as their final project.
Learning Objectives
- to teach students the basics of Python;
- to make students comfortable using programming in their linguistic research;
- to familiarize them with some of the advances in data processing and natural language processing;
- to teach them how to create a linguistic corpus, how to retrieve data from the Internet, how to parse it, how to analyze it computationally;
- to teach students how to present their computational work;
- to teach students how to read each others’ code and how to ethically use open access code written by somebody else.
Expected Learning Outcomes
- For the R version: students will be comfortable using R, they will learn about functions, variables, data types. For the python version: students will be comfortable with the Unix shell and simple commands related to processing text
- For the R version: students will learn how to import and export data. For the Python version: students will know basic constructions and functions of Python, as well as the most frequently used functions and modules used for text processing;
- For the R version: students will be able to work with complex data types. For the Python version: students will be able to use regular expressions for information extraction;
- For the R version: students will be able to write loops and statements. For the Python version: students will be able to retrieve data from the Internet, parse it and use it for linguistic processing;
- For the R version: students will be able to use different R packages. For the Python version: students will be able to write simple scripts in Python in order to use them in their own linguistic research;
- For the R version: students will learn to write their own functions, to retrieve data from the Internet. For the Python version: students will learn how to retrieve data from the Internet
- students will learn how to structure their code, how to make it readable and reusable, and how to present it to other linguists.
- students will learn to present computational research
Course Contents
- For the R version of the course: Interacting with R. Functions. Variables. Logical operators. For the python version of the course: Interacting with Python. Code presentation.Datatypes and variablesFor the R version: Installing R and learning the basics about functions, variables, data types. For the python version: Installing and using Python. The interactive environment. Edit and run. Doing basic math in Python.Markdown.Jupiter notebook.Assignment of variables. Basic data types: numbers, Booleans, strings, lists, tuples, dictionaries.Mutability. Homework 1 is distributed.
- For the R version of the course: tidyverse. For the Python version: Control structuresFor the R version: importing and exporting data. For the Python version: Grouping and indentation.If, for, while, break, continue operators.Homework 2 is distributed.
- For the R version: complex data types. For the Python version: Input and output. ModulesFor the R version: complex data types. For the Python version: Command-line input. Keyboard input. File input. File output.Simple functions.Functions that return values.Functions that take arguments.Modules.Writing your own modules.Homework 3 is distributed.
- For the R version: if and for statements. For the Python version: Regular expressionsFor the R version: if and for statements. For the Python version: Definition.Matching.Patterns.Homework 4 is distributed.
- For the R version: using different R packages. For the Python version: Text manipulation. Choosing a final projectFor the R version: students will learn to use different R packages, students will learn the basics of text processing. For the Python version: Manipulating text.Morphological parsing. An example of a morphological parser: Mystem.
- For the R version: writing functions, internet data. For the Python version: Internet dataFor the R version: Learning how to write functions. Retrieving data from the Internet. For the Python version: Retrieving data.HTML.HTML parsing.
- Visualization. Final project consultationDrawing plots in R/Python; visual presentation of the linguistic data
- Final project presentations
Assessment Elements
- Homework assignment 1
- Homework assignment 2
- Homework assignment 3
- Homework assignment 4
- Final project