Различия между версиями 6 и 7
Версия 6 от 2016-08-30 02:38:21
Размер: 9014
Редактор: FrBrGeorge
Комментарий:
Версия 7 от 2016-08-30 04:13:06
Размер: 14354
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 31: Строка 31:
   * Недостатки:
    * В полном объёме не для обычного школьника (см. далее замечание об ООП)
    * Научиться создавать работающие программы существенно легче, чем научиться программировать
    * Промышленное программирование требует серьёзных знаний и самодисциплины
    * Не похож на ваш любимый ЯП, если ваш любимый ЯП — не Python
    * Слишком удобный, после него дети не хотят учить Си :)
Строка 47: Строка 53:
   * … <!> '''TODO'''
   * /!\ (по-моему, '''плохой учебник'''): [[https://wombat.org.ua/AByteOfPython|“Укус Питона”]
   * Вообще зависит от аудитории. Для меня идеальным был [[py3tut:index.html| Tutirial лично от Гвидо]]
   * (менее удачный, потому что «всё в кучу») [[http://programarcadegames.com/index.php?lang=ru|Программирование аркадных игр и обучение информатике]]
   * (по-моему, плохой учебник) [[https://wombat.org.ua/AByteOfPython|“Укус Питона”]]
Строка 52: Строка 59:
   * <!> крутое что-нибудь    * [[http://interactivepython.org/runestone/static/pythonds/index.html|Problem Solving with Algorithms and Data Structures using Python]] (есть [[http://aliev.me/runestone/|русский перевод]])
Строка 59: Строка 66:
   * ООП — школьникам не надо (личное мнение)    * [[RW:Объектно-ориентированное_программирование|ООП]] — школьникам не надо (личное мнение)
Строка 62: Строка 69:
   * Форматирование текста как синтаксический элемент языка
Строка 64: Строка 70:
   * Упор на алгоритмы решения задач с помощью имеющихся структур данных
   * Возможность «докопаться до сути» как мотивация «продвинутых»
Строка 66: Строка 74:
   * Любая школьная программа подойдёт, в Python всё есть
   * Кроме того, в Python есть много для школьного курса «Информатика» (алгебра логики, побайтовые операции, системы счисления, кодирование и т. д.)
Строка 70: Строка 80:
   1. Вариант: продвинутая командная строка с редактором: IDLE (входит в Python), [[RW:IPython ]], [[http://www.bpython-interpreter.org/|bpython]], …    1. Вариант: продвинутая командная строка с редактором: IDLE (входит в Python), [[RW:IPython]], [[http://www.bpython-interpreter.org/|bpython]], …
Строка 74: Строка 84:
   * (не глядя в гугол) есть
   * (глядя в гугол) [[https://www.google.ru/search?q=python+mobile+app+development&ie=utf-8&oe=utf-8&gws_rd=cr&ei=Rc_EV4XLM8GQsAHN7oXYCg|есть]] :)
   * (по личному опыту) https://kivy.org/
Строка 75: Строка 88:
  * Как писать оконные приложения на Python, как переносить на другие ПК, где нет интерпретатора Python
 1. Особенности Python
  * Олимпиадные задачи
  * Задачи повышенной сложности
   * Самый популярный Web-движок — DJango, но начинать с него не надо
   * [[https://wiki.python.org/moin/WebFrameworks|Вобще-то веб-движков довольно много]]
   * Личный опыт: зависит цели. Наша цель: ''начать''? [[http://bottlepy.org/docs/dev/index.html|Bottle]], [[http://webpy.org/|web.py]], [[http://flask.pocoo.org/|Flask]]
  * Как писать оконные приложения на Python?
   * В состав Python входит [[py3doc:tkinter.html|TkInter]] (вот, например, [[https://ru.wikiversity.org/wiki/%D0%9A%D1%83%D1%80%D1%81_%D0%BF%D0%BE_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B5_Tkinter_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_Python|учебник на русском]]
   * [[https://kivy.org/|Kivy]], [[https://wiki.gnome.org/Projects/PyGObject|PyGObject]] (вместо !PyGtk), [[https://riverbankcomputing.com/software/pyqt/intro|PyQt]]
  * как переносить на другие ПК, где нет интерпретатора Python
   * поставить интерпретатор Python, он же свободный :)
    * можно даже свой модуль собрать, это [[http://python-packaging.readthedocs.io/en/latest/index.html|это просто]] (тогда он по зависимостям вынет их !PyPI все остальные модули, которых нет в базовой установке Phthon)
   * [[http://www.py2exe.org/|Py2exe]]
   * [[http://www.pyinstaller.org/|PyInstaller]]
 1. [[[Python/Features|Особенности Python]]
  * [[LecturesVMSH/Python|Олимпиадные задачи / Задачи повышенной сложности]]
   * Вопрос производительности
   * Вопрос использования библиотек
   * Олимпиада как праздник интеллекта vs олимпиада как спорт vs олимпиада как способ поступить в ВУЗ
Строка 80: Строка 105:
   * [[py3doc:turtle.html|Черепаха]] (русские учебники [[https://opentechschool.github.io/python-beginners/ru/simple_drawing.html|на oentechschool]], [[https://server.179.ru/tasks/python/2017b1/pgm12.5_Turtle.html|на сайте Школы179]])
   * PyGame
   * иное
Строка 81: Строка 109:
   * что такое «массивы» и зачем их обрабатывать?
   * [[https://ru.wikibooks.org/wiki/Python/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1#.D0.9F.D0.BE.D0.B4.D1.80.D0.BE.D0.B1.D0.BD.D0.B5.D0.B5_.D0.BE_.D1.81.D0.BF.D0.B8.D1.81.D0.BA.D0.B0.D1.85|списки Python]] (на самом деле они таблицы)
   * [[py3doc:array.html|Собственно массивы]], если их надо передавать каким-то программам и/или хранить в файлах
   * [[https://docs.scipy.org/doc/numpy/reference/arrays.html|вкусный эффективно работающий массив из проекта NumPy]], с котором можно делать разные штуки
Строка 82: Строка 114:
   * Что такое «числовые данные» и когда в жизни приходится их считывать из файлов?
   * Побайтовое чтение (на выходе bytearray) — обычный read() из файла, открытого как "b"
   * [[py3doc:struct.html]]
   * Всевозможные format-specific модули
Строка 83: Строка 119:
   * GUI?

Язык Python

Летняя школа для учителей информатики

Вопросы, заданные слушателями

  1. Непонятные вопросы
    • Будет ли практика?

    • Сравните, пожалуйста, Python с другими языками программирования (Pascal, Си с разновидностями)

    • Оптимальный перечень ресурсов для изучения Python учителем, ранее с ним не работавшим?

    • Хотелось бы попасть к вам на курсы для учителей по теме «Решение олимпиадных задач и задач ЕГЭ, разработка проектов»

  2. Общие вопросы
  3. Методика
    • Нужно ли изучать Python как первый язык в школе и почему

      • Коротко: пологая кривая научения, высокая читаемость, быстрый конечный результат
    • Есть ли смысл изучать python в гуманитарной школе (информатика раз в неделю), или кумира достаточно

      • Если гуманитарий вообще будет программировать, то именно на Python
      • Если не будет, это вопрос к психологам/методистам?
    • Пропедевтика изучения Python
      • Начальный уровень: общая компьютерная грамотность
      • Уровень «уверенного программирования»: твёрдое представление о компьютере, как об исполнителе, знание алгебры логики и математики, знакомство с основными алгоритмами
      • «Продвинутый» уровень: представление о целях и задачах различных языков программирования, представление об эффективности алгоритмов, представление о реализации алгоритмов и структур данных, лежащих в основе Python
    • Кому и в каком объёме «показано» изучение Python

      • Кратко: всем и в любом :)

      • Более серьёзно: см. пропедевтику — зависит от цели
    • Какие есть нормальные учебники для преподавания курса «программирование на Python»

    • Какие рекомендуете уч. пособия: литература или сайты
    • Мотивация учеников на изучение именно Python
      • Быстрый результат, черепаха, повседневность, актуальность
    • Как начать обучать школьников Python, с какого класса
      • Синтаксис и использование «калькулятора» — как только понадобится
      • «Черпаха» и простые приёмы программирования — когда они там по программе
      • Серьёзные алгоритмы и программирование — с момента формирования абстрактного мышления (9-10 классы, иногда не все успевают)
      • ООП — школьникам не надо (личное мнение)

    • В чём особенности методики преподавания Python
      • Командная строка («калькулятор») как опора
      • Быстрый результат как мотивация
      • Упор на алгоритмы решения задач с помощью имеющихся структур данных
      • Возможность «докопаться до сути» как мотивация «продвинутых»
    • Элементы школьного курса Python
      • (плачет)

      • Любая школьная программа подойдёт, в Python всё есть
      • Кроме того, в Python есть много для школьного курса «Информатика» (алгебра логики, побайтовые операции, системы счисления, кодирование и т. д.)
  4. Технические вопросы
    • Какую среду лучше использовать
      1. Никакую
      2. Никакую + редактор с подсветкой
      3. Вариант: продвинутая командная строка с редактором: IDLE (входит в Python), IPython, bpython, …

      4. Простую IDE Geany и подобные

      5. Страшное: Wing IDE, PyCharm и проч.

    • Есть ли возможность программировать мобильные приложения
      • (не глядя в гугол) есть
      • (глядя в гугол) есть :)

      • (по личному опыту) https://kivy.org/

    • Как начать web-программирования на Python
    • Как писать оконные приложения на Python?
    • как переносить на другие ПК, где нет интерпретатора Python
      • поставить интерпретатор Python, он же свободный :)

        • можно даже свой модуль собрать, это это просто (тогда он по зависимостям вынет их !PyPI все остальные модули, которых нет в базовой установке Phthon)

      • Py2exe

      • PyInstaller

  5. Особенности Python

    • Олимпиадные задачи / Задачи повышенной сложности

      • Вопрос производительности
      • Вопрос использования библиотек
      • Олимпиада как праздник интеллекта vs олимпиада как спорт vs олимпиада как способ поступить в ВУЗ
    • Графические возможности языка Python
    • Обработка массивов
    • Считывание числовых данных из файлов
      • Что такое «числовые данные» и когда в жизни приходится их считывать из файлов?
      • Побайтовое чтение (на выходе bytearray) — обычный read() из файла, открытого как "b"
      • struct.html

      • Всевозможные format-specific модули
    • Как организовать форму в среде Python (кнопки и другие объекты)
      • GUI?

FrBrGeorge/teacher.msu.ru_2016 (последним исправлял пользователь FrBrGeorge 2016-09-12 12:23:16)