• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2018/2019

Основы программирования

Направление: 45.04.03. Фундаментальная и прикладная лингвистика
Когда читается: 1-й курс, 1 модуль
Формат изучения: Full time
Преподаватели: Попова Дарья Павловна
Прогр. обучения: Лингвистическая теория и описание языка
Язык: английский
Кредиты: 2

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

  • students will be comfortable with the Unix shell and simple commands related to processing text;
  • students will know basic constructions and functions of Python, as well as the most frequently used functions and modules used for text processing;
  • students will be able to use regular expressions for information extraction;
  • students will be able to retrieve data from the Internet, parse it and use it for linguistic processing;
  • students will be able to write simple scripts in Python in order to use them in their own linguistic research;
  • students will understand how common file forms for linguistic data work;
  • 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 different ways to format their data: csv, database, json;
Course Contents

Course Contents

  • Interacting with Python. Code presentation.Datatypes and variables
    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.
  • Control structures
    Grouping and indentation.If, for, while, break, continue operators.Homework 2 is distributed.
  • Input and output. Modules
    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.
  • Regular expressions
    Definition.Matching.Patterns.Homework 4 is distributed.
  • Text manipulation.Choosing a final project
    Manipulating text.Morphological parsing. An example of a morphological parser: Mystem.
  • Internet data
    Retrieving data.HTML.HTML parsing.
  • Visualization. Different formats: csv, databases, json. Basics of web design: creating a web site for a linguistic experiment. Final project consultation
    Drawing graphs in Python. Different ways to format your data: csv, database, json; switching between formats. Flask.Heroku or pythonanywhere.
  • Classes. 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 Core Bibliography

  • - Златопольский Д.М. — Основы программирования на языке Python - Издательство "ДМК Пресс" - 2017 - ISBN: 978-5-97060-552-3 - Текст электронный // ЭБС Лань - URL: https://e.lanbook.com/book/97359

Recommended Additional Bibliography

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