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

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

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

Методика:


План (пока в порядке бреда):

  1. Установка Python3 на рабочий компьютер
  2. Понятие управляемого вычислителя
    • «калькулятор» — числа, арифметические операции, длинные целые, 1.1+2.2

    • строки и простейшие операции над ними
    • понятие командной строки, простейшее редактирование командной строки, почему не страшно вводить что угодно (наверное всё-таки на примере IDLE)
    • последовательные вычисления в командной строке с ручным копированием промежуточных результатов
  3. Именование
    • связывание результатов именем и обращение к ним по имени
    • dir(), допсутимые имена
    • на самом деле: создание объектов при вычислении выражения, связывание объектов
    • последовательные вычисления в командной строке с именованием промежуточных результатов
  4. Редактирование и запуск сценариев (программ)
    • Работа в текстовом редакторе (IDLE)
    • Обработка файла интерпретатором; отличие от работы в командной строке, функция print()

    • Запуск программы из IDLE
    • Магический оператор ввода int(input())

  5. Повторное использование кода
    • Функция Python3 как именованный алгоритм
    • Задание и вызов функции, блок-со-сдвигом
    • Параметры функции
    • Возвращаемое значение функции
    • Суперпозиция функций
    • Локальные и глобальные имена, правила видимости
    • Примеры на http://pythontutor.com

    • ??? функции-генераторы (с yield и next(генератор)), это просто!

      • примерно так:
        >>> def gen():
        ...   yield 10
        ...   yield 20
        ...   print("QQ")
        ...   yield 30
        ... 
        >>> gen
        <function gen at 0x7fca87231488>
        >>> generator = gen()
        >>> generator
        <generator object gen at 0x7fca8722cd00>
        >>> next(generator)
        10
        >>> next(generator)
        20
        >>> next(generator)
        QQ
        30
        >>> next(generator)
        Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        StopIteration
  6. Условные операторы
    • Выполнение или невыполнение команд в зависимости от свойств данных
    • Понятие пустого объекта, простейший условный оператор
    • Тип bool

    • Операции сравнения
    • Полный вид if / elif / ... / else

    • Вложенные if

    • Алгебра логики
      • вложенные if или and?

TODO