Differences between revisions 9 and 11 (spanning 2 versions)
Revision 9 as of 2017-07-02 12:53:53
Size: 4561
Editor: FrBrGeorge
Comment:
Revision 11 as of 2017-07-02 17:41:05
Size: 7069
Editor: FrBrGeorge
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
== Тематический план ==
Предполагается последовательно проходить этот план, расставляя пометки, сколько удалось сделать за день.
 * {*} — лабораторные работы / семинары (воспроизведение доски или тривиальные упражнения)
 * {i} — практические задания
Рекомендации по самостоятельному изучению
 * Д/З: установить [[http://python.org|Python]] и [[http://geany.org|Geany]] (можно другие IDE) дома, если есть цель научиться чему-то ненулевому
 * Д/З: Щёлкать [[py3tut:|tutorial]] (определяем, кому интересно)
Line 11: Line 18:
 * Linux:  * Linux и командная строка:
Line 13: Line 20:
   * Ядро, программный интерфейс
   * Утилиты, командный интерфейс
   * ФС, пространство имён, файловые объекты
Line 14: Line 24:
   * команды, интерактивность
   * ЯП
   * интеграция
   * переменные, где лежат команды (пространство имён), PATH - ls -l / chmod
   * Сценарий Linux, shebang
   * man
 * Python:
  * командная строка
  * объекты, их типы
  * действия над объектами
  * неявная динамическая типизация
  * программа на Python = сценарий
  * help()
  * преобразование типов, type() (в т. ч. type(a)(b)) и простейший ввод-вывод - связывание объектов именами, dir()
  * понятие о модулях, `from math import *`
 * Использование geany
 * Практика:
  * Оформление отчёта по практике
  * Linux: Примеры команд (в частности cp, mv), man
  * Linux: примитивный сценарий на shell
  * Python: вычисление формул
  * Python: поэтапное вычисление формул, множественное связывание
  * Python: ручное развёртывание бинарного возведения в степень (например, как получить 3^21^?)
 * Д/З: установить [[http://python.org|Python]] и [[http://geany.org|Geany]] (можно другие IDE) дома, если есть цель научиться чему-то ненулевому
 * Д/З: Щёлкать [[py3tut:|tutorial]] (определяем, кому интересно)
== День 2 ==
   * КС как диалог
   * shell: интерпретатор командной строки, ЯП, оболочка надо другими программами
   * договорённости о командной строке (ключи)
   * переменные, где лежат команды (пространство имён), PATH
   * Примеры команд: - ls, cp, rm, mv, mkdir, echo, перенаправление В/В
   * имена файлов, ln, ls -i
   * Встроенная помощь man
  * {*}
   * посмотреть содержимое корня
   * посмотреть все файлы в текущем каталоге
   * посмотреть документацию к известным командам
   * создать файл, переименовать
   * создать каталог, скопировать туда файл, удалить каталог
 * Python
  * Командная строка
   * объекты, их типы
   * действия над объектами
   * неявная динамическая типизация
   * преобразование типов, type() (в т. ч. type(a)(b)) и простейший ввод-вывод
   * пространства имён, связывание объектов именами, dir()
   * множественное связывание, id()
   * понятие о модулях, `from math import *`
   * help()
  * {*}
   * вычисление формул
   * поэтапное вычисление формул с использованием имён
  * {i}
   * ручное развёртывание бинарного возведения в степень (например, как получить 3^21^?)
 * Сценарии
  * Текстовый редактор vs IDE
  * Linux, shebang
  * программа на Python
  * {*}
   * Использование geany
   * примитивный сценарий на shell
   * сделать сценарий исполняемым и переместить в каталог `$HOME/bin/`
   * примитивный сценарий на Python
Line 47: Line 69:
  * {*}
   * ввести два числа, вывести наибольшее
   * ввести два числа, вывести, больше, меньше или равно
   * ввести три числа, проверить неравенство треугольника (вложенный if)
  * {i}
   * ввести три числа, найти наибольшее (вложенный if)
  * алгебра логики
   * пустой объект, примеры
   * ⇒ ''любое'' выражение в условии
   * таблицы истинности
   * логические операции Python, их таблицы истинности
Line 48: Line 81:
   * пустой объект, примеры
    * ⇒ ''любое'' выражение в условии
   * алгебра логики
    * таблицы истинности
    * логические операции Python, их таблицы истинности
    * примеры
  * цикл while (простой вариант)
 * Практика
  * нер-во тр-ка
  * биквадратное уравнение с ненулевым a
  * {*}
   * ввести три числа, проверить неравенство треугольника (с помощью `and`)
   *
 * {i}
  * биквадратное уравнение с ненулевым '''a'''
Line 59: Line 87:
 * цикл while (простой вариант)
  * каноническая схема цикла: инициализация, проверка условия, тело, изменение
  * пример: цикл по вводу
 * {*}
  * факториал
  * подсчёт положительных (ввод до 0)
  * '''TODO'''
 * {i}
  * с какого элемента сумма арифметической прогрессии превысит N?
Line 60: Line 97:
  * цикл по вводу
Line 62: Line 98:
-----
'''TODO'' Здесь пока не разобрано
Line 63: Line 101:
== День 3 ==
Line 74: Line 111:
== День 4 ==
Line 79: Line 115:
== День 5 ==
Line 85: Line 120:
== День 6 ==
Line 90: Line 124:
== День 7 ==
Line 95: Line 128:
== День 8 ==
Line 100: Line 132:
== День 9 ==
- Какой-нибудь фреймворк
- Python / OS
Line 103: Line 134:
== День 10 ==
- Использование этого фреймворка
 . - модули os, sys; написание кроссплаформенных приложений

- Python / OS
 
 . - модуль subprocess

Примерный распорядок дня (TODO: когда обед?)

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

Тематический план

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

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

  • {i} — практические задания

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

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

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

День 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()
      • понятие о модулях, from math import *

      • help()
    • {*}

      • вычисление формул
      • поэтапное вычисление формул с использованием имён
    • {i}

      • ручное развёртывание бинарного возведения в степень (например, как получить 321?)

  • Сценарии
    • Текстовый редактор vs IDE
    • Linux, shebang
    • программа на Python
    • {*}

      • Использование geany
      • примитивный сценарий на shell
      • сделать сценарий исполняемым и переместить в каталог $HOME/bin/

      • примитивный сценарий на Python
  • Python
    • условные операторы и выражения
      • условное выражение a if b else c
      • базовый if
      • операции сравнения
      • форматирование отступами
      • if / elif* / else
    • {*}

      • ввести два числа, вывести наибольшее
      • ввести два числа, вывести, больше, меньше или равно
      • ввести три числа, проверить неравенство треугольника (вложенный if)
    • {i}

      • ввести три числа, найти наибольшее (вложенный if)
    • алгебра логики
      • пустой объект, примеры
      • любое выражение в условии

      • таблицы истинности
      • логические операции Python, их таблицы истинности
      • примеры
    • {*}

      • ввести три числа, проверить неравенство треугольника (с помощью and)

  • {i}

    • биквадратное уравнение с ненулевым a

    • условные формулы
  • цикл while (простой вариант)
    • каноническая схема цикла: инициализация, проверка условия, тело, изменение
    • пример: цикл по вводу
  • {*}

    • факториал
    • подсчёт положительных (ввод до 0)
    • TODO

  • {i}

    • с какого элемента сумма арифметической прогрессии превысит N?
    • таблица умножения на N
    • TODO


TODO Здесь пока не разобрано

- Python

  • - Последовательности (введение) - Хранимые (строки, кортежи, списки)
    • - индексирование, в т. ч. отрицательное - секционирование всякое
    - Вычисляемые (range(), enumerate()) - цикл прохода по последовательности for - Каноническая схема цикла - break, continue - поиск первого, else - вложенные циклы - ленивый ввод с помощью eval(input()) - методы объектов, dir(объект) — введение - форматирование строк

- Практика

  • - Таблица умножения - *TODO*!

- Python

  • - Функции

- Python

  • - объекты и методы - списки и их методы
    • - a is b

- Python

  • - строки - словари

- Python

  • - Классы

- Python

  • - Ещё классы и примеры

- Python / OS

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

- Python / OS

  • - модуль subprocess

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