• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Programming in Python and Working with Linux

2019/2020
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Bridging course
When:
1 year, 1 module

Instructor

Программа дисциплины

Аннотация

В рамках магистерской программы «Финансовые технологии и анализ данных» настоящая дисциплина является дисциплиной по выбору. Данный курс является адаптационным. Для освоения учебной дисциплины, студенты должны знать основные классы ИТ- систем, лучшие практики и современные стандарты в сфере информационных технологий. Также студенты должны владеть навыками проектирования информационных систем, уметь систематизировать и обобщать информацию, разрабатывать конкретные предложения по результатам исследований, готовить справочно-аналитические материалы для принятия решений в сфере информационных технологий. Основные положения дисциплины должны быть использованы в дальнейшем при изуче-нии следующих дисциплин: «Банковская ИТ-инфраструктура»; «Современные метода принятия решения: Алгоритмы обработки больших данных».
Цель освоения дисциплины

Цель освоения дисциплины

  • Целями освоения дисциплины является формирование у студентов комплекса теоретических знаний и методологических основ в области операционных систем семейства Linux и языка программирования Python, а также практических навыков, необходимых для практического использования этих инструментов.
Планируемые результаты обучения

Планируемые результаты обучения

  • Уметь писать bash команды в операционной системе Linux;
  • Обладать базовым уровнем программирования на языке Python;
  • Иметь навыки сбора и обработки данных на языке Python;
  • Уметь подключаться к облачным ресурсам машин по SSH.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Основы Linux
    Структура курса, контрольные мероприятия, оценка за работу в семестре. Краткая история Linux. Командный процессор Bash. Сетевой протокол SSH. Работа с директориями. Работа с файлами. Текстовый редактор vim. Переменные среды. Пайпы. Пакетные менеджеры.
  • Введение в Python
    Zen of Python. Руководство по написанию кода на Python (PEP8). IDE для разработки. Интер- претируемость языка. Переменные, условия, циклы. Динамическая типизация. Ввод-вывод. Примитивы, работа со строками, стандартные структуры данных (tuple, list, dict, set), iterables, slices, list comprehensions, генераторы. Функции и области видимости.
  • Файлы и модули
    Работа с файлами. Работа с встроенными модулями: sys, os, shutil, collections, itertools, time, datetime, re, json, requests. Работа с внешними компонентами: pip, venv, conda, ipython, jupyter.
  • Объекты
    Утиная типизация, лямбды, map, reduce, декораторы, контекст-менеджеры, exceptions, try-catch- finally, monkey patching, секретные атрибуты.
  • Классы
    Конструкторы, магические методы, статические методы, наследование.
  • Параллельные вычисления
    Subprocess, GIL, Threading, Multiprocessing
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (1 модуль)
    0.3 * Домашнее задание 1 + 0.3 * Домашнее задание 2 + 0.4 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Linux, Стахнов, А. А., 2011
  • Изучаем Python, Лутц, М., 2014

Рекомендуемая дополнительная литература

  • Войтов Н.М. - Основы работы с Linux. Учебный курс - Издательство "ДМК Пресс" - 2010 - 216с. - ISBN: 978-5-94074-148-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1198