Differences between revisions 31 and 104 (spanning 73 versions)
Revision 31 as of 2017-07-05 14:44:30
Size: 11822
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
Line 60: Line 16:
== День 2 (4 июля) ==
 * 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|условные формулы №57]]
  * цикл while
   * каноническая схема цикла: инициализация, проверка условия, тело, изменение
   * пример: цикл по вводу
  * {*}
   * подсчёт произведения (ввод до 0)
   * сумма N элементов арифметической прогрессии (циклом)
   * факториал
<<MonthCalendar(,2017,7)>>
Line 101: Line 18:
  * {i}
   * с какого элемента сумма арифметической прогрессии превысит N?
   * таблица умножения на N (в столбик)
   * подсчёт среднего (ввод до 0)

 * Python
  * Циклы (более сложные случаи)
   * условия внутри циклов, break, continue
   * поиск первого, else
   * вложенные циклы
  * {*}
   * Сумма только положительных (ввод до 0)
   * одновременный подсчёт суммы и произведения положительных чисел (используется continue для отрицательных)
   * ввести ненулевые числа, проверить, есть ли среди них отрицательные
    * без else (с break)
    * с else
   * большая таблица умножения в столбик
  * {i}
   * таблица умножения в виде матрицы ''по столбцам'' (без форматирования)

== День 3 (5 июля) ==
  * Последовательности (введение)
   * Хранимые (строки, кортежи, списки)
    * индексирование, в т. ч. отрицательное
    * операции поэлементного сравнения
     * операция `is` на примере списков
    * операции `+` и `*`
    * секционирование
     * обычное
     * с шагом
     * умолчания
    * {*}
     * какая последовательность больше и почему?
     * начальный, средний и конечный элемент
     * элементы, стоящие на 1,4,7, и т. д. местах (NB off by 1)
    * {i}
     * сначала элементы, стоящие на нечётных местах, затем — на чётных, задом наперёд
  * цикл прохода по последовательности for
   * break, '''continue''', else
   * {*}
    * выбор максимума
    * поиск 0

  * Вычисляемые (range(), enumerate())
   * типичный for
   * {*}
    * переписать на for кое-какие примеры с while
   * {i}
    * ввести последовательность чисел, вывести ''второй максимум'', то есть элемент, больше которого в последоватнльности только одно значение, например, для 1,1,2,2,7,7,3,3,5,5 сторой максимум — это 5
  * Конструктор списка
  * Конструктор генератора, работа генератора, цикл for и генераторы
  * Как работает множественное связывание
   * распаковка последовательностей при связывании
   * в цикле for (последовательность последовательностей)
   * `a,b,*c,d = "Qwertyuiop"`
 * {i}
  * Вывести все стороны и площади треугольников, стороны которых — однозначные положительные целые числа (не надо использовать конструктор, это жесть!)
   * использовать формулу Герона
   * не забыть, что 1 2 3, 1 3 2 и прочие перестановки — один и тот же треугольник, выводить один раз1
  * вывести таблицу умножения от 1 до 12 (сначала без {{{"".format()}}}, потом (''если успеете'') с ним):
    {{{
    1*1 = 1 2*1 = 2 3*1 = 3
    1*2 = 2 2*2 = 4 3*2 = 6
    ...
    4*1 = 4 5*1 = 5 6*1 = 6
    4*2 = 8 5*2 = 10 6*2 = 12
    ...
    }}}
  * Ввести строку, вывести, сколько в ней гласных (подсказка `c in "aeoiu"` :) ), методами не пользоваться
  * Ввести список запрещённых слов в формате "слово1","слово2",..., затем вводить строки до тех пор пока последняя не окажется пустой (это так же, как ввод до 0). Вывести, сколько строк содержали запрещённые слова

-----
''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)