Резюме седьмой встречи клуба "Питон на АПВТ"
К сожалению, я лично пропустил эту встречу. Я попросил присутствующих написать небольшие отчеты. Далее отчет от лица Романа Подоляки.
5 декабря состоялась седьмая встреча клуба "Питон на АПВТ". Встреча прошла в ауд. 318 каф. АПВТ с 11:15 до 13:00.
1. Валентина Пикалова. Сайты для изучения Питона в игровой форме
Валентина рассказала о ряде сайтов для изучения Питона (и других языков).
Красочная RPG, в которой вы управляете своим персонажем, реализовывая небольшие программки на Python (или JavaScript). Исходный код игры полностью открыт и доступен на GitHub (https://github.com/codecombat/codecombat). Целевая аудитория - начинающие программисты и учителя информатики. Одна из особенностей - возможность участия в игре множества пользователей - изучайте Пайтон вместе с друзьями!
В отличие от сайтов-игр, CodeWars имеет достаточно строгий интерфейс и рассчитан на неприхотливых программистов. Как и в лучшие заведения, сюда не попасть просто так - вам предстоит решить пару задачек, чтобы доказать (в том числе и самому себе), что вы достаточно способны и мотивированы для участия в "войнах кода".
Кроме Пайтона, здесь можно попрактиковать и более экзотические языки программирования (например, Clojure или Haskell). Свои решения можно сравнить с решениями других программистов, чтобы убедиться, что задача была решена не просто правильно (для чего CodeWars предоставляет автоматические тесты), но еще и способом, идиоматическим для данного ЯП.
Сайт-головоломка, который чем-то похож на "Криптомарафон от Лабаратории Касперского. Тут придется не только упражняться в решении задач при помощи Питона, но и в понимании постановки этих самих задач на очередном этапе паззла :)
2. Рассказы членов клуба о ходе самообучения
Члены клуба кратко рассказали о прохождении курса по Питону на Курсере.
Также мы обсудили несколько других курсов "на будущее":
https://www.coursera.org/course/algs4partI
https://www.coursera.org/course/algs4partII
Курс профессора Princeton University Роберта Сэджвика об алгоритмах и структурах данных. Домашние задания выполняются на языке программирования Джава, но это не должно быть проблемой для тех, кто никогда не писал на нем: достаточно изучить синтаксис знакомых вам конструкций (классы, методы, циклы, условные операторы, массивы). Субъективно, самый доступный для понимания курс для тех, кто хочет узнать 80% всего, что нужно знать про алгоритмы и структуры данных и не "утонуть" в книгах Кнута.
https://www.coursera.org/learn/machine-learning
Стэндфордский курс про машинное обучение. Качественный курс для тех, кто хочет развеять для себя все мифы о ML и понять, "что это такое и с чем его едят".
https://see.stanford.edu/Course/CS107 (недоступен на Курсере)
Курс о парадигмах программирования от университета Стендфорда для бывалых и продвинутых программистов. Рекомендуется к прохождению после того, как вы уже имеет опыт написания программ на каком-то ЯП (особенно хорошо, если это С и/или С++). Позволяет систематизировать свои знания CS, архитектуры компьютеров, различных парадигм программирования (структурное, объектно-ориентированное, функциональное, параллельное программирование), для чего в курсе рассматриваются сразу несколько ЯП: С, С++, Python, Scheme и Assembler.
3. Владимир Рустинов. Наука о данных: большие данные, машинное обучение и другое с использованием языка Питон
В последние 15-20 минут перед тем, как аудиторию необходимо было освободить, успели немного поговорить о big data, где эти данные можно хранить (распределенные файловые системы - Hadoop FS, Ceph FS), как эти данные можно обрабатывать (Hadoop), почему MapReduce лучше MPI, и что можно использовать для анализа таких данных (машинное обучение).
Договорились, что Владимир в одну из следующий встреч покажет демонстрацию использования Hadoop для обработки больших данных.
Далее информация от лица Валентины Пикаловой.
Игровые онлайн платформы. В дополнение к уже используемым.
Пикалова Валентина, [email protected]
http://codecombat.com/ - многопользовательская RPG игра, обучающая программированию.
Особенности:
1) это действительно игра, а не набор геймифицированных уроков;
2) в свободном доступе есть набор готовых уровней, посвященных разным темам программирования. Уровни открываются по мере прохождения;
3) реализация для Python и Javascript программирования;
4) есть раздел для учителя, руководство по прохождению уровней, возможность создания класса и добавления учеников для отслеживания их прогресса;
5) все коды в открытом доступе, так же как и графика. Выложен на Github.
6) приветствуется участие в развитие проекта в роли переводчика, программиста, разработчика уровней, тестировщика и т. д.;
7) почти полная локализация на русском языке;
8) сайт участвует в часе кода (code.org);
9) подойдет для изучения программирования начиная с 4-5 классов. Приблизительная целевая аудитория с 4 по 7 классы;
10) доступны подсказки и видео уроки по уровням;
11) в процессе прохождения уровней ваш герой развивается и получает дополнительные возможности в виде новых команд питона;
12) дополнительные баллы могут начисляться за решение с первой попытки без ошибок и за оптимальный код;
13) возможность организации командных игр,
Минусы:
1) бесплатно доступен только первый курс, дальнейшие курсы по подписке 9,99$ в месяц. Второй вариант - самостоятельное разворачивание проекта, используя открытый код с Github;
2) предлагаемый вариант Питона достаточно специфичен, поскольку команды используются только для этой конкретной игры.
3) команды предлагаются с самого начала в форме self.moveDown(), вместо например moveDown()
http://www.codewars.com/ - аналог сайт checkio.org с минималистичным дизайном.
В отличии от предыдущего сайта, подразумевает изучение языка за пределами проекта. Прекрасен для оттачивания навыков решения задач. Основная цель — решение отдельных задач по программированию. Элементы геймификации: успешное решение задач повышает рейтинг игрока в системе КЮ и Данов, по аналогии с боевыми искусствами. Каждая задача представляет собой Ката, в дальнейшем доступны более комплексные задачи — Кумите. Встроенный редактор, система тестов, возможность написания и отладки собственных тестов, анализ и сравнение различных вариантов решения одной задачи. Возможность переключаться между разными языками программирования.
Система хороша для домашних заданий (старшая школа, сладшие курсы вузов), изучения дополнительного языка программирования, удобна для реализации идеи парного программирования.
http://www.pythonchallenge.com/ - игра- квест. Прохождение уровней подразумевает решение головоломок средствами языка Питон. В игре 33 уровня. Сложность может представлять не только сама головоломка, но и форма подачи ответа. Начиная с мая 2005, здесь проходили уровни около 2 мил. человек.
https://opensource.com/education/15/7/codewars-codecombat-review — очень хороший обзор двух платформ Codecombat и Codewars от школьного учителя на английском языке
https://newtonew.com/overview/codecombat-teach-code - статья на русском языке о проекте Codecombat
Презентация Валентины: Google Drive.
Предыдущие встречи:
№6 28.11.2015 https://teletype.in/@obrizan/19981.html
№5 21.11.2015 https://teletype.in/@obrizan/19236.html
№3, №4 07.11.2015, 14.11.2015 https://teletype.in/@obrizan/19196.html
№2 31.10.2015 https://teletype.in/@obrizan/16536.html
№1 24.10.2015 https://teletype.in/@obrizan/15820.html
Как получать новости о встречах клуба "Питон на АПВТ"?
Подписка на новости о встречах клуба "Питон на АПВТ": http://bit.ly/python-apvt-reg Почтовая рассылка — это будет основной канал информирования о встречах.
Группы Вконтакте и Фейсбуке: https://vk.com/python.apvt и https://www.facebook.com/groups/python.apvt соответственно.
Сайт для вопросов и ответов о Питоне и о клубе: http://bit.ly/python-apvt-qa
Вопросы? Можно обратиться ко мне лично: [email protected]