Проект спецкурса по Python3 для факультета Психологии МГУ

Цель: выявление и подготовка студентов для научно-исследовательской работы.

Задачи первого семестра:

Методика:


  1. Установка Python3 на рабочий компьютер
    • /!\ Найти/сделать видео

    • Устроить install fest для всех, кто не справился
  2. Понятие управляемого вычислителя
    • Понятие командной строки (команда → интерпретация → выполнение → диагностика →)
    • Командная строка idle3,

    • «Калькулятор» — числа, арифметические операции, длинные целые, 1.1+2.2

    • Строки и простейшие операции над ними
    • Типы объектов (пока знаем целые, вещественные, строки и функции), функция type()

    • Использование функций (abs(), max(), round(), bin(), hex() …)

    • Тип bool, операции сравнения

    • последовательные вычисления в командной строке с ручным копированием промежуточных результатов
  3. Именование
    • Связывание результатов именем и обращение к ним по имени
    • Допустимые имена
    • Представление о пространстве имён, dir()

    • Создание объектов при вычислении выражения
    • Последовательные вычисления в командной строке с именованием промежуточных результатов
  4. Редактирование и запуск сценариев (программ)
    • Понятие текстового редактора
    • Работа в текстовом редакторе idle3, запуск программы

    • Отличие от работы в командной строке, функция print()

    • Магический оператор ввода int(input())

    • Модуль math и математические функции

    • Обработка файла интерпретатором
  5. Повторное использование кода
    • Функция Python3 как именованный алгоритм
    • Задание и вызов функции, блок-со-сдвигом
    • Параметры функции
    • Возвращаемое значение функции
    • Суперпозиция функций
    • «Утиная типизация»: все объекты строго типизированы, но по имени этого не скажешь
      • ⇒ функция выполнится, если все операции в ней применимы к переданным объектам
  6. Условные операторы
    • Выполнение или невыполнение команд в зависимости от свойств данных
    • Простейший условный оператор
    • Полный вид if / elif / ... / else

    • Вложенные if

  7. Циклическое выполнение команд в зависимости от свойств данных
    • Цикл while

    • Вложенный while

    • Бесконечный цикл
    • Условные операторы в цикле
    • Операторы break и continue, когда нужны
  8. Составление алгоритмов на условные операторы в цикле и вложенные циклы
    • Каноническая схема цикла (инициализация, проверка условия, тело, изменение)
  9. Методы объектов
    • Метод как функция:
      • Уже существующая для данного объекта
      • Заведомо применимая к данному объекту
      • Имеющая доступ к внутренностям объекта
    • Инкапсуляция
    • Примеры числовых и строковых методов (не все!)

    • dir(объект)

  10. Кортежи
    • Понятие индексируемой последовательности
    • Операции над последовательностями
    • Индексирование
    • Секционирование
    • операция in

    • операции сравнения
  11. Списки
    • Понятие модифицируемой последовательности
    • TODO

  12. Строки
    • Задание, операции над
    • Особенности индексирования и in
    • форматирование (в первую очередь f"", но и .format(); не всё)

  13. Цикл for
    • Проход последовательности циклом
    • использование range()
  14. Начало второй части

TODO