Объектно-ориентированное программирование на языке Python

Object Oriented Programming in Python 3

Аннотация курса

В курсе будут рассмотрены различные аспекты программирования на языке Python, включая методы объeктно-ориентированного программирования, применение техники тестирования, теории индуктивных функций и регулярных выражений. Курс включает в себя работу с командной строкой Linux и системой управления версиями Git. В процессе изучения дисциплины предполагается реализовывать подход к обучению, нацеленный прежде всего на выработку у студентов практических знаний и навыков. Для проведения занятий в компьютерных классах будут применяться специальная среда MEPhILinux и образовательный портал «Подспорье», обеспечивающий размещение учебно-методических материалов в удобных для доступа с мобильных устройств форматах, публикацию обязательных индивидуальных домашних заданий и механизм доставки результатов их выполнение преподавателю, а также учёт текущих достижений каждого из студентов с помощью постоянно актуализируемого рейтинга.
Занятия проводятся в компьютерном классе
Презентация дисциплины

Авторы и/или преподаватели

Роганов Е.А.
Роганов Евгений Александрович
Ученое звание
доцент
Ученая степень
кандидат физико-математических наук
Об авторе/преподавателе

Выпускник мех-мата и аспирантуры МГУ. Аккредитован в Федеральном реестре экспертов научно-технической сферы. Математик и практикующий программист. Ruby, Ruby on Rails, Python, Python Scientific Libraries и сопутствующий инструментарий. Многолетний опыт организации учебного процесса студентов-программистов. Более пятнадцати лет работы заведующим кафедрой.

Темы курса

1. Алгоритмы и программы
Парадигмы программирования и важнейшие свойства программ. Базисные схемы обработки информации. Рекурсия и итерация. Понятие о доказательствах правильности и средства тестирование правильности программ.
2. Основы языка Python
Сравнение языка Python с другими современными языками программирования. Знакомство с официальной документацией (Python Tutorial): основные встроенные типы и управляющие конструкции. Программирование на языке Python в директивном стиле.
3. Операционная система Linux
Свободное программное обеспечение (Free Software). Сравнение операционных систем Windows и Linux. Знакомство с наиболее часто используемыми утилитами Linux. Перенаправление ввода-вывода и конвейеры. Система управления версиями Git.
4. Некоторые специальные технологии
Обработка последовательностей. Индуктивные функции и индуктивные расширения. Основные контейнеры и оценки эффективности работы с ними. Регулярные выражения и их применение.
5. Объектно-ориентированное программирование на языке Python
Основные концепции объектно-ориентированного программирования. Встроенные и создаваемые пользователем классы в языке Python. Проекты «Компилятор формул», «Выпуклая оболочка» и «Изображение проекции полиэдра». Индивидуальные задания на их модификацию.