Различия между версиями 7 и 8
Версия 7 от 2018-08-06 13:03:11
Размер: 5588
Редактор: FrBrGeorge
Комментарий:
Версия 8 от 2018-08-06 13:06:21
Размер: 5638
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 70: Строка 70:
 1. '''Начало второй части'''

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

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

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

  • Обучение основам программирования и составления алгоритмов
  • Обучение основам ЯП Python3
  • Закладка базы для решения прикладных задач

Методика:

  • Первая часть курса (примерно месяц с небольшим) — как можно меньше «непонятного», оставшаяся — повторение с объяснениями
  • Ссылаться на лекциях на документацию
  • базовое проговаривать чётко, о сложном не умалчивать, но ссылаться
  • изрядное число простых упражнений по каждой теме
  • некоторое количество домашних заданий


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

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

    • строки и простейшие операции над ними
    • понятие командной строки, простейшее редактирование командной строки, почему не страшно вводить что угодно (наверное всё-таки на примере IDLE)
    • Тип bool, операции сравнения

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

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

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

  6. Условные операторы
    • Выполнение или невыполнение команд в зависимости от свойств данных
    • Простейший условный оператор
    • Полный вид if / elif / ... / else

    • Вложенные if

  7. Циклическое выполнение команд в зависимости от свойств данных
    • Цикл while
    • вложенный while
    • бесконечный цикл
    • условные операторы в цикле
    • break и continue
    • каноническая схема цикла
  8. Списки
    • Понятие последовательности
    • операция in
    • операции сравнения
    • Индексирование
    • Секционирование
    • ???
  9. Строки
    • Задание, операции над
    • Особенности индексирования и in
    • форматирование (в первую очередь f"", но и .format(); не всё)

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

TODO

  • Понятие пустого объекта
  • Алгебра логики
    • вложенные if или and?

  • else к циклам

  • Локальные и глобальные имена, правила видимости ( /!\ на потом )

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

    • примерно так:
         1 >>> def gen():
         2 ...   yield 10
         3 ...   yield 20
         4 ...   print("QQ")
         5 ...   yield 30
         6 ... 
         7 >>> gen
         8 <function gen at 0x7fca87231488>
         9 >>> generator = gen()
        10 >>> generator
        11 <generator object gen at 0x7fca8722cd00>
        12 >>> next(generator)
        13 10
        14 >>> next(generator)
        15 20
        16 >>> next(generator)
        17 QQ
        18 30
        19 >>> next(generator)
        20 Traceback (most recent call last):
        21 File "<stdin>", line 1, in <module>
        22 StopIteration
      

Python/PsyPython2018 (последним исправлял пользователь FrBrGeorge 2018-12-11 13:24:29)