Differences between revisions 22 and 104 (spanning 82 versions)
Revision 22 as of 2017-07-04 12:58:08
Size: 10118
Editor: FrBrGeorge
Comment:
Revision 104 as of 2021-04-27 20:23:19
Size: 1398
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Двухнедельный интенсив по Python в МИРЭА (базовая кафедра НИИ "Восход") =
Line 3: Line 4:
 * 10:30-14:00 — лекции+семинары
 * 14:00-14:30 — обед
 * 14:30-16:00 — практика
 * 10:30-13:30 — лекции+семинары
 * 13:30-14:00 — обед
 * 14:00-16:00 — практика
Line 7: Line 8:
== Тематический план ==
Line 10: Line 10:
 * {i} — практические задания
Рекомендации по самостоятельному изучению
 * {i} — практические задания ([[https://uneex.altlinux.org|решения выкладываются сюда]])

'''
Рекомендации по самостоятельному изучению'''
Line 14: Line 15:
== День 1 ==
 * Знакомство, определение уровня знаний и глубины изложения (утро)
 * Орг: конспекты (c двух сторон: Linux+Python), практика обязательна
 * FOSS: сообщество и ПО, Linux, Python
 * Linux и командная строка:
  * «цветочек»+
   * Ядро, программный интерфейс
   * Утилиты, командный интерфейс
   * ФС, пространство имён, файловые объекты
  * ⇒ командная строка (введение)
   * КС как диалог
   * shell: интерпретатор командной строки, ЯП, оболочка надо другими программами
   * договорённости о командной строке (ключи)
   * переменные, где лежат команды (пространство имён), PATH
   * Примеры команд: - ls, cp, rm, mv, mkdir, echo, перенаправление В/В
   * имена файлов, ln, ls -i
   * Встроенная помощь man
  * {*}
   * посмотреть содержимое корня
   * посмотреть все файлы в текущем каталоге
   * посмотреть документацию к известным командам
   * создать файл, переименовать
   * создать каталог, скопировать туда файл, удалить каталог
 * Python
  * Командная строка
   * объекты, их типы
   * действия над объектами
   * неявная динамическая типизация
   * преобразование типов, type() (в т. ч. type(a)(b)) и простейший ввод-вывод
   * пространства имён, связывание объектов именами, dir()
   * множественное связывание, id()
   * help()
  * {*}
   * вычисление формул
   * поэтапное вычисление формул с использованием имён
   * online python tutor: демонстрация связывания
 * Сценарии
  * Текстовый редактор vs IDE
  * Linux, shebang
  * программа на Python
  * {*}
   * Использование geany
   * примитивный сценарий на shell
   * сделать сценарий исполняемым и переместить в каталог `$HOME/bin/`
   * примитивный сценарий на Python
== День 2 ==
 * Python
  * понятие о модулях, `from math import *`
  * {i}
   * ручное развёртывание бинарного возведения в степень (например, как получить 3^21^?)
   * [[http://narhoz-chita.ru/zadachnik/Glava01/index01.htm|вычисление формул]]
  * условные операторы и выражения
   * логический тип, операции сравнения
   * условное выражение a if b else c
   * базовый if
   * форматирование отступами
   * if / elif* / else
  * {*}
   * ввести два числа, вывести наибольшее
    * условным выражением
    * условным оператором
   * ввести два числа, вывести, больше, меньше или равно первое второму
   * ввести три числа, проверить неравенство треугольника (вложенный if)
  * {i}
   * ввести три числа, найти наибольшее (вложенный if)
    * условным выражением
    * условным оператором
  * алгебра логики
   * пустой объект, примеры
   * ⇒ ''любое'' выражение в условии
   * таблицы истинности
   * логические операции Python, их таблицы истинности
   * примеры
  * {*}
   * ввести три числа, проверить неравенство треугольника (с помощью `or`)
  * {i}
   * биквадратное уравнение с ненулевым '''a'''
   * [[http://narhoz-chita.ru/zadachnik/Glava02/index02.htm|условные формулы №60]]
  * цикл while
   * каноническая схема цикла: инициализация, проверка условия, тело, изменение
   * пример: цикл по вводу
  * {*}
   * подсчёт произведения (ввод до 0)
   * сумма N элементов арифметической прогрессии (циклом)
   * факториал
   * '''TODO'''
  * {i}
   * с какого элемента сумма арифметической прогрессии превысит N?
   * таблица умножения на N (в столбик)
   * подсчёт среднего (ввод до 0)
   * '''TODO'''
 * Python
  * Циклы (более сложные случаи)
   * условия внутри циклов, break, continue
   * поиск первого, else
   * вложенные циклы
  * {*}
   * Сумма только положительных (ввод до 0)
   * одновременный подсчёт суммы и произведения положительных чисел (используется continue для отрицательных)
   * ввести ненулевые числа, проверить, есть ли среди них отрицательные
    * без else (с break)
    * с else
   * большая таблица умножения в столбик
  * {i}
   * таблица умножения в виде матрицы ''по столбцам'' (без форматирования)
  * Последовательности (введение)
   * Хранимые (строки, кортежи, списки)
    * индексирование, в т. ч. отрицательное
    * операции поэлементного сравнения
     * операция `is` на примере списков
    * операции `+` и `*`
    * секционирование
     * обычное
     * с шагом
     * умолчания
  * {*}
   * какая последовательность больше и почему?
   * начальный, средний и конечный элемент
   * элементы, стоящие на 1,4,7, и т. д. местах (NB off by 1)
  * {i}
   * сначала элементы, стоящие на нечётных местах, затем — на чётных, задом наперёд
  * цикл прохода по последовательности for
   * break, '''continue''', else
  * {*}
   * выбор максимума
   * поиск 0
   * '''TODO'''
  * Вычисляемые (range(), enumerate())
   * типичный for
  * {*}
   * переписать на for кое-какие примеры с while
  * {i}
   * переписать на for остальные
  * Конструктор списка
  * {*}
   * '''TODO''' различных свойств
  * {i}
   * '''TODO''' различных свойств
  * Как работает множественное связывание
   * распаковка последовательностей при связывании
   * в цикле for (последовательность последовательностей)
   * `a,b,*c,d = "Qwertyuiop"`
Line 157: Line 16:
<<MonthCalendar(,2017,7)>>
Line 158: Line 18:
-----
''TODO'' Здесь пока не разобрано

- Python

 . - Функции, пространства имён, duck typing, распаковка/запаковка параметров, рекурсия


- Python
 - методы объектов, dir(объект) — введение
 - методы списков

- Python
 - строки и их методы
 - форматирование строк

- Python

 . - словари
 * globals(), locals(), распаковка/запаковка именованных параметров

- Python
 * Генераторы, конструкторы генераторов

- Python
 * Модули как пространства имён
 . - Классы, …, перегрузка операций

- Python

 . - Ещё классы, объектное планирование и ООП

- Python / OS

 . - модули os, sys; написание кроссплаформенных приложений

- Python / OS

 . - модуль subprocess
<<Include(^Python/Summer2017/2017-07-..,,3,titlesonly)>>
----
CategoryLectures CategoryPython

= Двухнедельный интенсив по Python в МИРЭА (базовая кафедра НИИ "Восход") = Примерный распорядок дня

  • 10:00-10:30 — повторение и ответы на вопросы
  • 10:30-13:30 — лекции+семинары
  • 13:30-14:00 — обед
  • 14:00-16:00 — практика

Предполагается последовательно проходить этот план, расставляя пометки, сколько удалось сделать за день.

  • {*} — лабораторные работы / семинары (воспроизведение доски или тривиальные упражнения)

  • {i} — практические задания (решения выкладываются сюда)

Рекомендации по самостоятельному изучению

  • Д/З: установить Python и Geany (можно другие IDE) дома, если есть цель научиться чему-то ненулевому

  • Д/З: Щёлкать tutorial (определяем, кому интересно)

<< <  2017 / 7 >  >>
Mon Tue Wed Thu Fri Sat Sun
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


CategoryLectures CategoryPython

Python/Summer2017 (last edited 2021-04-27 20:23:39 by FrBrGeorge)