• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Master 2019/2020

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'
Area of studies: Fundamental and Applied Linguistics
Delivered by: School of Linguistics
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

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

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

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 variables
    For 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 structures
    For 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. Modules
    For 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 expressions
    For 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 project
    For 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 data
    For 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 consultation
    Drawing plots in R/Python; visual presentation of the linguistic data
  • Final project presentations
Assessment Elements

Assessment Elements

  • non-blocking Active participation
  • non-blocking Homework assignment 1
  • non-blocking Homework assignment 2
  • non-blocking Homework assignment 3
  • non-blocking Homework assignment 4
  • non-blocking Final project
Interim Assessment

Interim Assessment

  • Interim assessment (1 module)
    0.05 * Active participation + 0.25 * Final project + 0.15 * Homework assignment 1 + 0.15 * Homework assignment 2 + 0.2 * Homework assignment 3 + 0.2 * Homework assignment 4
Bibliography

Bibliography

Recommended Additional Bibliography

  • Лучано Рамальо - Python. К вершинам мастерства - Издательство "ДМК Пресс" - 2016 - 768с. - ISBN: 978-5-97060-384-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/93273