10 советов о том, как научить ребенка программировать на Python


Оглавление (нажмите, чтобы открыть):

С чего начать программирование на Python

Python это мощный и высокоуровневый объектно-ориентированный язык программирования, созданный Гвидо ван Россумом. Отличается простым в использовании синтаксисом, что делает его идеальным языком для тех, кто решил впервые научиться программированию. Перед вами подробное руководство по началу работы с Python, в котором также найдете ответы на вопросы о том, почему нужно изучить его и как его учить. Однако, если вы знаете другие языки программирования и хотите максимально быстро начать работу с Python, посмотрите уроки Python для начинающих.

Что такое программирование на Python?

Перед началом познакомиться с самим языком.
Python — язык общего назначения. Имеет приложения разных направлений: веб-разработки (например, Django и Bottle ), научных и математических вычислений ( Orange, SymPy, NumPy ) для настольных графических пользовательских интерфейсов ( Pygame, Panda3D ).

Синтаксис языка простой, а длина кода относительно короткая. Работать на Python приятно, потому что он позволяет решать задачу, а не фокусироваться на сложном синтаксисе.

История Python

Python старый язык, созданный Гвидо Ван Россумом. Разработка началась в конце 1980-х., и в феврале 1991 года вышла первая версия.

Зачем создан Python?
В конце 1980-ых, Гвидо Ван Россум работал над группой операционных систем Amoeba. Он хотел использовать интерпретируемый язык, такой как ABC (у ABC простой и доступный в понимании синтаксис), который мог бы получить доступ к системным вызовам Amoeba. Поэтому он решил создать масштабируемый язык. Это привело к созданию нового языка, у которого позже появилось название Python.

Почему выбрали Python
Нет. Он не назван в честь опасной змеи. Россум был фанатом комедийного сериала в конце 70-х. Название “Python” было взято из этого же сериала “Monty Python’s Flying Circus” (Летающий цирк Монти Пайтона).

Дата выпуска версий языка

Версия Дата выпуска
Python 1.0 (первый стандартный выпуск) Python 1.6 (последняя выпущенная версия) Январь 1994
Сентябрь 5, 2000
Python 2.0 (представлены списки) Python 2.7 (последняя выпущенная версия) Октябрь 16, 2000
Июль 3, 2010
Python 3.0 (Сделан акцент на удаление дублирующих конструкций и модулей) Python 3.7 (Последняя обновленная версия) Декабрь 3, 2008
настоящее время

Особенности программирования на Python

  1. Простой язык, легкий и доступный в изучении
    У Python читаемый синтаксис. Гораздо проще читать и писать программы на Python по сравнению с другими языками, такими как: C++, Java, C# . Python делает программирование интересным и позволяет сфокусироваться на решении, а не синтаксисе.
    Для новичков, отличный выбором — начать изучение с Python.
  2. Бесплатный и с открытым кодом
    Можно свободно использовать и распространять программное обеспечение, написанное на Python, даже для коммерческого использования. Вносить изменения в исходный код Python.
    Над Python работает большое сообщество, постоянно совершенствуя язык в каждой новой версии.
  3. Портативность
    Перемещайте и запускайте программы на Python из одной платформы на другую без каких-либо изменений.
    Код работает практически на всех платформах, включая Windows, Mac OS X и Linux.
  4. Масштабируемый и встраиваемый
    Предположим, что приложение требует повышения производительности. Вы можете с легкостью комбинировать фрагменты кода на C/C++ и других языках вместе с кодом Python.
    Это повысит производительность приложения, а также дает возможность написания скриптов, создание которых на других языках требует больше настроек и времени.
  5. Высокоуровневый, интерпретируемый язык
    В отличии от C/C++ , вам не нужно беспокоиться о таких сложных задачах, как “сборка мусора” или управление памятью.
    Так же, когда вы запускаете код Python, он автоматически преобразует ваш код в язык, который понимает компьютер. Не нужно думать об операциях более низкого уровня.
  6. Стандартные библиотеки для решения общих задач
    Python укомплектован рядом стандартных библиотек, что облегчает жизнь программиста, так как нет необходимости писать весь код самостоятельно. Например, что бы подключить базу данных MySQL на Web сервер, используйте библиотеку MySQLdb , добавляя ее строкой import MySQLdb .
    Стандартные библиотеки в Python протестированы и используются сотнями людей. Поэтому будьте уверенны, они не нарушит работу приложения.
  7. Объектно-ориентированный
    В Python все объект. Объектно-ориентированное программирование (ООП) помогает решить сложную проблему интуитивно.
    Разделяйте сложные задачи на маленькие части, создавая объекты.

Приложения на Python

Веб-приложения
Создание масштабируемых веб-приложений (Web Apps), с помощью фреймворков и CMS (Система управления содержимым), созданных на Python. Популярные платформы для создания Web приложений: Django, Flask, Pyramid, Plone, Django CMS .
Сайты, такие как Mozilla, Reddit, Instagram и PBS написаны на Python.

Научные и цифровые вычисления
У Python много библиотек для научных и математических вычислений. Есть библиотеки, такие как: SciPy и NumPy которые используются для общих вычислений. И специальные библиотеки, такие как: EarthPy для науки о Земле, AstroPy для астрономии и так далее.
Также, язык часто используется в машинном обучении, анализе и сборе данных.

Создание прототипов программного обеспечения
Python медленный, в сравнении с компилированными языками, такими как C++ и Java. Это не очень практичный выбор, если ресурсы ограничены и при этом нужна максимальная эффективность.
Тем не менее, Python — прекрасный язык для создания прототипов. Используйте Pygame (библиотека для создания игр), чтобы создать для начала прототип игры. Если прототип понравился, используйте язык C++ для создания реальной игры.

Тест на знание python

Простой язык для изучения программирования
Python используется для обучения программированию детей и новичков.
Это хороший язык с множеством функций и возможностей. Тем не менее это один из самых простых языков для изучения из-за простого в использовании синтаксиса.

4 причины выбрать Python в качестве первого языка

  1. Простой элегантный синтаксис
    Программировать на Python интересно. Легче понять и написать код на Python. Почему? Синтаксис кажется естественным и простым. Возьмите этот код для примера:

Даже если вы не программировали ранее, вы с легкостью поймете, что эта программа добавляет две цифры и выводит их.

  • Не слишком строгий
    Не нужно определять тип переменной в Python. Нет необходимости добавлять “;” в конце строки.
    Python принуждает следовать методам написания читаемого кода (например, одинаковым отступам). Эти мелочи могут значительно облегчить обучение новичкам.
  • Выразительность языка
    Python позволяет писать программы с большей функциональностью и с меньшим количеством строк кода. Вот ссылка на исходный код игры Tic-tac-toe с графическим интерфейсом и противником в лице смарт-компьютера менее чем на 500 строк кода. Это просто пример. Вы будете удивлены, как много можно сделать с Python, как только изучите основы языка.
  • Большое сообщество и поддержка
    У Python большое сообщество с огромной поддержкой. Множество активных форумов в интернете, которые помогут, когда возникают вопросы. Вот некоторые из них:
    • Python на Хабре
    • Вопросы о Python на Тостер
    • Вопросы о Python на Stack Overflow
  • Первая программа на Python

    Часто программа, которая называется “Hello, World!” используется для демонстрации языка программирования новичкам. “Hello, World!” это простая программа, которая выводит “Hello, World!”

    Python — один из простейших языков для изучения и создание программы “Hello, World!” такое же простое, введите print(«Hello, World!») . Поэтому, мы напишем другую программу.

    Программа сложения двух чисел

    Как работает эта программа?

    Строка 1: # Сложите два числа
    Строка, начинающаяся с # в программировании на Python — комментарий.
    Комментарии используются для описания цели строки кода. Это поможет вам, так же как и другим программистам понять смысл кода. Они игнорируются компиляторами и интерпретаторами.

    Строка 2: num1 = 3
    Здесь, num1 — переменная. Вы можете сохранять значение в переменной. В этом случае, 3 сохраняется в переменной.

    Строка 3: num2 = 5
    Аналогично, 5 сохраняется в переменной num2 .

    Строка 4: sum = num1 + num2
    Переменная num2 прибавляется к num1 с помощью оператора + . Результат сложения сохраняется в другой переменной sum .

    Строка 5: print(sum)
    Функция print() выводит результат на экран. В нашем случае, она выводит на экран 8.

    Важные вещи, о которых следует помнить.

    Для представления инструкции в Python, используется новая строка (enter). Использование “;” в конце утверждения не требуется (в отличии C/C++, JavaScript, PHP ).
    Вместо фигурных скобок < >, используются отступы (4 пробела) для перехода на новый блок.

    Научитесь самостоятельно программировать на Python

    Изучите Python с помощью PythonRU.com

    PythonRu предлагает уроки и примеры, которые помогут в обучении программированию с нуля.
    Наши материалы предназначены для начинающих программистов, которые владеют базовыми знаниями о программировании в целом. В каждом учебном пособии описаны примеры и подробное объяснение.

    Также рекомендуем посмотреть наши примеры кода. Как только вы поймете как работает библиотека, попробуйте написать что-то новое. Это лучший способ научиться программированию.

    Рекомендуемые книги

    Если вы настроены серьезно обучаться программированию, следует обзавестись хорошей книгой.

    Чтение книги по программированию требует много терпения и времени. Но вы получите общую картину концепций программирования в книге, которую, возможно, не найдете в другом месте.

    Обложка Описание
    Изучаем Python
    Четвертое издание «Изучаем Python» – это учебник, написанный доступным языком, рассчитанный на индивидуальную скорость обучения. В книге представлены основные типы объектов в языке Python, порядок их создания и работы с ними, а также функции как основной процедурный элемент языка.
    Программирование на Python 3. Подробное руководство
    Автор начинает с описания ключевых элементов Python, знание которых необходимо в качестве базовых понятий. Затем обсуждаются более сложные темы, поданные так, чтобы читатель мог постепенно наращивать свой опыт: распределение вычислительной нагрузки между несколькими процессами и потоками, использование сложных типов данных, управляющих структур и функций, создание приложений для работы с базами данных SQL и с файлами DBM.
    Python и анализ данных
    Книгу можно рассматривать как современное практическое введение в разработку научных приложений на Python, ориентированных на обработку данных. Описаны те части языка Python и библиотеки для него, которые необходимы для эффективного решения широкого круга аналитических задач: интерактивная оболочка IPython, библиотеки NumPy и pandas, библиотека для визуализации данных matplotlib и др.
    Python для детей и родителей. Играй и программируй
    Научите своих детей программировать уже сейчас с помощью этой книги! В книге представлен язык Python, один из самых популярных и простых. Вы найдете здесь много упражнений – полезных, интересных и забавных, поэтому ваш ребенок не заскучает. Материал написан доступно и просто, поэтому ему не составит труда освоить азы программирования.

    Python — потрясающий язык. Синтаксис настолько прост, и длина кода настолько коротка, что делает его понятным и легким в написании.
    Если вы только начинаете программировать, Python— отличный выбор. Вы будете удивлены тому, сколько задач решает Python как только изучите его основы.
    Легко упустить из виду факт, что Python — мощный язык. Хорош для обучения программированию. Воплотите свою идею, создайте игру или начните с Data Science, Python поможет во всем, чтобы вы не затеяли.

    Для начинающих изучать программирование(Python)

    Следует отметить, что python-лучший выбор для новичка, желающего приступить к изучению программирования. Однако это тема не для одного поста. Да и изучение программирования должно быть построено не на одном лишь языке, а включать себя несколько составляющих предметов, но этот пост именно для тех, кто знает что хочет учить питон, но не знает какую именно литературу ему выбрать.

    1.Майкл Доусон — Программируем на python

    Начать стоит именно с этой книги. Без излишнего углубления в язык рассматриваются его основы. Весь материал подкреплен множеством примеров, в основном связанных с игровой тематикой. Глава строится так: в самом начале дается программа, подобную которой вы сможете написать по прочтении главы, ну а по ходу изучения сталкиваешься с рядом более простых программ, приводящих к пониманию основной. Это буквально наводняет книгу примерами, и дает необходимую практику новичкам. Ну и разумеется подталкивает к созданию своих собственных программ.

    Отличная книга, но слишком подробная для новичка, читать ее стоит в связке с практикой. Нечто вроде: вы захотели написать программу, но вам не хватает более глубоких знаний что бы сделать ее удобней/короче/красивей и т.д.

    3.Марк Саммерфилд — Программирование на Python 3

    Присутствует та же динамика что и в первой книге, нет лишней информации, однако она сложнее, все не так разжевано как у Доусона. Стоит отметить что после прочтения Доусона, освоение данной книги особо труда не составит.

    4.Марк Лутц — Программирование на Python

    Книга учит применять знания полученный в «Изучаем Python 4-е издание», однако так же перегружена лишней для новичков информацией, воспринять которую будет куда проще после Доусона и Саммерфилда. Эта книга-некий финиш в начальном изучении языка. Освоив ее вы сможете перейти куда к более углубленным работам.

    Надеюсь кому то поможет эта подборка. Приятного чтения и удачи в обучении.

    Дубликаты не найдены

    для новичков в программировании можно так же посоветовать a byte of python, распространяется бесплатно, есть перевод на русский, ничего лишнего, только основы, дальше уже можно брать более обширную литературу, сам сейчас с нее начинал с нуля, зная только базовые понятия из школьного курса на паскале, вполне устраивает

    вообще не лучший выбор, вот ни разу.

    хороший выбор не для новичка, а для «быстро осилил пару книжек и пошел веслать джуном в бодишоп»


    Определитесь с тем, чего вы достичь хотите. И выбирайте.
    Хотите стать нормальным инженером? Пожалуйста, учите операционки, сети, алгоритмы и структуры. Начните с СИ и плюсов, изучите, как работает память, познакомьтесь с протоколами популярными. Потом вполне можете пересесть на более высокоуровневый язык вроде пистона или руби. Вас не будет пугать ни исходники питонячие, ни дизассемблер встроенный, ни асинхронность. Насмотредся я уже на питонистов, которые с трудом pdb юзают, про gdb вообще не стоит заикаться. дизассемблер питонячий — это что-то для хакеров, и т.д. Управление памятью? зачем, у меня ж 8 гигов оперативы, хватает.

    хотите формошлепить — учите сразу Джангу, и будет вам счастье

    Вот, вроде более-менее знающий человек. Спрошу у тебя совета.

    Студент, четвертый курс информационной безопасности, два года до выпуска. Студент осознал, что не хочет заниматься защитой информации, но универ он закончит. У студента есть минимальные (один семестр) знания плюсов, баз данных, чуть большее знание сетей.

    Студент последние два месяца полу-активно учил питон, так как ему понравился сей яп (особенно после плюсов) — синтаксис, функции и по мелочи всякое. Сейчас постегает азы ООП через питоновские классы.

    Студент хочет постигнуть азы ООП, а потом попробовать себя в настоящем программировании, а не в академических задачках.

    Далекие планы: джуниор/стажер широкого профиля, который путем проб и ошибок постепенно осознает в какой сфере он хочет продолжать работать.

    Что именно искать, гуглить, изучать и щупать?

    В интернете толком советов не наберешься. Или «Почитай Лутца, а потом бери более обширную литературу» без каких либо уточнений хотя бы о чем эта литература должна быть, или что-то совсем заумное, чего мой неокрепший ум еще не понимает.

    Если более или менее умеете в плюсы и алгоритмизацию, то не нужен вам лутц и прочая «обширная литература».

    Начните с какого-нибудь онлайн курса типа coursera или udacity. Там и с примерами, и с задачками, и объясняют хорошо. В азы въедете гораздо быстрее, чем читая книги. Единственная годная книга, которую могу рекомендовать — Fluent Python by Luciano Ramalho. Но она не для начинающих, скорее для тех, кто постиг азы, и готов двигаться дальше 🙂

    Если сравнивать с плюсами, в питоне ООП простое как два пальца.

    Умеете в сети — напишите простенький многопоточный сервер, и кдиента к нему. Вот вам пусть и академическая, но хорошая задачка.

    Сканер сети/портов на питоне. Простенький сканер уязвимостей. Да вам виднее, что в иб можно заавтоматить.

    Из простого — бот для телеграма, бот для твиттера, парсер какого-нибудь популярного форума, парсер статей из вк или FB(вот это будет реальный изврат), бложек себе напишите на Django или Flask.

    Самый быстрый способ стартовать — начать с того, что уже знакомо. Я изначально умел в Си и линух. минимально поднял питон — пошел кодить стриминговые сервера под arm железки. прокачал скилл и зп, решил попробовать Django. Поднял ее минимально за пару месяцев — устроился джанго макакой. через пару лет надоело до дури, сейчас кодю для софт для кластеров — чистый питон + SaltStack, Ansible, Celery время от времени.

    10 советов о том, как научить ребенка программировать на Python

    Чему сможет научиться ребенок на занятиях по Python?

    Во время обучения дети пишут на python3 в стандартной IDLE до темы while включительно, потом устанавливают редактор кода.

    Чтобы перейти к созданию сложных и реальных проектов, ученики должны основательно пройти базу. На каждую тему выполнить большое количество практических заданий разной сложности:

    1. Ввод и вывод данных: понятие переменной, типы данных, функции print(sep, end) и input, форматирование строк
    2. Математика: арифметические операции, целочисленное деление, остаток от деления, округление
    3. Условия: if-elif-else, тип данных bool, операторы сравнения, логические операторы
    4. Цикл while: while, break, continue, else, бесконечный цикл
    5. Строки: срезы, методы find, rfind, replace, lower, upper, isdigit, isalpha ect.
    6. Регулярные выражения
    7. Цикл for: for i in range, for i in list, else
    8. Списки: генераторы списков, методы split и join, sort, max, min с использованием key
    9. Функции: параметры, возвращаемый результат, рекурсия, область видимости переменных, lambda
    10. Обработка исключений: try, except, finally, else
    11. Словари и кортежи: создание словаря, перебор элементов словаря
    12. Множества: создание множеств, операции со множествами
    13. Двумерные массивы: создание вложенных массивов, генератор двумерных массивов, поиск диагоналей, разворот массива
    14. Модули: импортирование модулей, модули random, datetime, time, math
    15. Tkinter: создание окна, настройка и упаковка виджетов, функции в tkinter, messagebox, filedialog
    16. Tkinter: рисование с помощью Canvas, метод bind
    17. Работа с файлами: запись и чтение фалов, сериализация и десериализация с помощью библиотеки pickle
    18. ООП: классы и объекты, конструктор, наследование, полиморфизм, инкапсуляция

    Также дети знакомятся с графической библиотекой Pygame. Детям нравится делать игры, так что это отличный вариант для них 🙂
    Используя pygame, можно создавать красочные и сложные проекты. Дети одновременно будут учиться и наслаждаться своими проектами.

    При обучении преподаватели использую теоретические материалы, проекты из разных книг, авторские задания, разные игры для начинающих питон-программистов. Очень много разных источников, чтобы сделать обучение максимально эффективным и интересным для каждого.

    программирование на Python

    HTML-код:
    BB-код для форумов:

    Как это будет выглядеть?

    Подскажите, людидобрыя, у кого дети программированием занимаются.
    Дочка занимается онлайн на сайте учи.ру программированием (первые уроки). Есть список рекомендованной литературы:
    — Программирование на Python. Иллюстрированное руководство для детей / Кэрол Вордерман и др.
    — Программирование для детей. Иллюстрированное руководство по языкам Scratch и Python / Кэрол Вордерман и др. Читать полностью
    +11 Зарегистрируйтесь и получите возможность оценивать материалы, общаться в комментариях и многое другое!’)»> Зарегистрируйтесь и получите возможность оценивать материалы, общаться в комментариях и многое другое!’)»> helga0782 25.02.2020 186 8 32 комментария
    Все рецепты
    Рецепты от Поваренок.ру
    Настоящий грузинский хачапури .
    Хочу предложить вам рецепт очень вкусного, сырного .
    Подробнее »
    Торт «Наполеон»
    11 страниц, выданных мне сайтом по запросу «торт .
    Подробнее »
    Торт «Птичье молоко» .
    Торт «Птичье молоко» был изобретен одним .
    Подробнее »
    Запеканка творожная «3 .
    Долго не решалась выложить рецепт творожной запеканки .
    Подробнее »

    Комментарии

    мой сын в школе занимался усиленно математикой, физикой, английским, Питон учит в вузе

    всегда было интересно а что именно будет программировать
    изучать язык просто так — зачем?
    у нас в конторе на питоне пишут для распознавания лиц
    ну за бабло
    а так дома . зачем?
    тем более языки программирования меняются

    Подождите немного, время покажет, чем заниматься

    Не торопитесь, интересы детей очень быстро меняются: сегодня — одно, завтра — другое. Программирование — это один из самых сложных разделов информатики, его хорошо осваивают единицы. Хоть и говорили, что программирование — это вторая грамотность, но это занятие очень узко специальное, не все могут заниматься программированием в силу разных причин. Переключите внимание и интерес своей дочери на что-нибудь другое, за компьютером еще успеет насидеться и наработаться

    Python для самых маленьких: 11 школ, где детей и подростков научат программировать

    Популярность профессии программиста в России растет с невероятной скоростью. Неудивительно, что рынок школ программирования для детей тоже переживает бум. За последние пять лет открылось множество школ, где детей с трех лет учат программировать на Scratch, JavaScript и Python. Сделали подборку главных игроков на рынке.

    1. CODDY

    Города: Москва, Санкт-Петербург и еще 39 городов России

    Возраст: от 3 до 16 лет

    Курсы: «Minecraft: программирование на Python», «Веб-программирование», «Программирование на JavaScript», «Технология блокчейн», «Киберспорт» и другие

    Стоимость: 6000 рублей в месяц за занятия в группе (продолжительность курса — 3 месяца), 12000 рублей за 6 персональных онлайн-занятий по индивидуальному расписанию

    Хочешь писать на темы предпринимательства, образования и технологий? Стать автором Rusbase Young может каждый. Узнать как

    Школа программирования Coddy — один из лидеров рынка детских IT-школ. Coddy предлагает более 30 курсов как базовых, так и узкоспециализированных. Программы в школе построены так, что окончив любую из них, ученик может перейти на следующий уровень и изучить углубленно. Занятия проходят раз в неделю по выходным и длятся два часа. Для полного погружения в мир высоких технологий детей обучают преподаватели-практики, а сами занятия проходят в офисах Coddy и IT-компаний: КРОК, QIWI, Технопарка «Сколково», SAP, и других (полный список на сайте).

    2. «Кодабра»

    Города: Москва, Санкт-Петербург, Екатеринбург и Уфа

    Возраст: от 6 до 17 лет

    Курсы: «Разработка нейронное сети на Python», «Создание игр на Unity», «Разработка и дизайн сайтов», «Основы HTML, CSS и JavaScript», «Разработка и дизайн сайтов» и другие

    Стоимость: 24900 рублей за курс

    Как и многие подобные школы, «Кодабра» делает упор на игры и их разработку: творчество и программирование в Minecraft, дизайн сайтов и анимация, математика, логика и так далее. Для занятий детям требуется ноутбукам с заранее установленным ПО. Если его нет, то можно взять его в аренду за 2000 рублей в месяц. Большую часть занятий «Кодабра» тоже проводит в офисах IT-компаний, например, в Mail.ru Group. Пробное занятие в школе бесплатное, курс длится два месяца, а в одной группе обучаются не более 15 человек.

    3. «Фоксфорд»

    Города: все

    Возраст: школьники с 3 по 11 класс

    Курсы: «Алгоритмика (основы программирования) для 3–4 классов», «Курс программирования на Python для начинающих», «Курс программирования на Python (продвинутый уровень)», «Курс программирования на C и C++ 9–11 классы»

    Стоимость: от 1500 рублей в месяц

    «Фоксфорд» — онлайн-школа для учеников 3−11 классов, а также для учителей и родителей. Школа в режиме онлайн готовит школьников к ЕГЭ, ОГЭ, олимпиадам и помогает освоивать отдельные школьные предметы. Занятия ведут преподаватели ведущих вузов страны (МГУ, МФТИ, ВШЭ и других), а учиться можно как с компьютера, так и с планшета или смартфона. В «Фоксфорде» школьники могут изучать множество предметов: от русского языка до астрономии и программирования. Последнее включает курсы Python для начинающих и продвинутых, программирование на C и C++, алгоритмику, подготовку к олимпиадам по программированию и другие. Выбор очень большой.

    4. «КодКласс»

    Города: Москва, 10 представительств в городах России

    Возраст: от 5 до 16 лет

    Курсы: «Вундеркинд», «Junior», «Middle», «High», «Super», «Expert»

    Стоимость: 6400 рублей за курс

    Школу основал выпускник МГТУ имени Баумана в 2020 году. Сегодня она насчитывает 30 площадок по Москве и 10 представительств по России. Особое внимание в школе уделяется подготовке персонала — обучение проходят как преподаватели и их ассистенты, так и администраторы, а новые кадры подбираются через трехэтапную систему отбора. Для слушателей «КодКласс» предлагает 6 курсов в зависимости от возраста, каждый из них длится один учебный год — 32 занятия по 1,5 часа.

    5. «Алгоритмика»

    Города: Москва, филиалы в 115 городах России и 13 странах мира

    Возраст: от 5 до 14 лет

    Курсы: Основной курс для детей от 8 до 12 лет, курс Python, Робототехника, «Рыцарь кода» для дошкольников, «Дизайн 2D. Основы», летние смены

    Стоимость: от 4750 рублей в месяц за Python, основной курс и «Рыцаря кода»

    Курсы программирования для детей «Алгоритмика» существуют с 2020 года. Создатели делают упор на доступности школ — площадки есть почти в каждом районе Москвы, сейчас их около 60. На курсе для дошкольников занимаются максимум 8 учеников, для детей от 8 лет группа включает не более 12 человек. Для новых слушателей «Алгоритмика» предлагает бесплатный урок, на котором ребёнок программирует марсобота (героя специальной образовательной онлайн-платформы), узнает, что такое алгоритм, и знакомится со Scratch, а преподаватели рассказывают об организации учебного процесса и отвечают на вопросы.

    6. Crush Pro

    Города: Москва

    Возраст: от 6 до 16 лет

    Курсы: «Программирование на Python», «Программирование Scratch», «Создание компьютерных игр на Unity», «Основы кибербезопасности» и другие

    Стоимость: от 15000 рублей за курс


    Школа использует проектный метод обучения — программы Crush Pro составлены так, что дети в процессе обучения используют свои навыки на практике и на выходе получают собственный digital-продукт. Всего в школе 10 программ, посвященных инженерным, творческим и digital-профессиям. Они разделены на две категории — для детей 6-12 лет и для 12-16-летних. Курс длится 3 месяца, занятия проходят на одной из четырех площадок в Москве — в главном отделении Crush Pro на Курской, в Центральной детской библиотеке имени Братьев Гримм, в школе One School и детском центре «Макарун».

    7. Coding Skills

    Города: Москва

    Возраст: 8-17 лет

    Курсы: «Базовая компьютерная подготовка», «Программирование на C++», «Создание сайтов на HTML 5 и CSS 3», «Программирование на JavaScript» и другие

    Стоимость: 5000 рублей абонемент на месяц (длительность курса — 4-7 месяцев)

    В школе программирования Coding Skills учат программировать, создавать свои проекты и свободно использовать программное обеспечение. На выбор слушателям предлагаются 7 разных курсов продолжительностью от 4 до 7 месяцев. Занятия проходят в оборудованных компьютерных классах в мини-группах из 5-10 человек. Пробное занятие бесплатное.

    8. «Юниум»

    Города: Москва, Санкт-Петербург и еще 30 городов России

    Возраст: с 1 по 11 класс

    Курсы: «Компьютерные курсы: программирование»

    Стоимость: от 521 рубля за академический час

    Федеральная сеть образовательных центров «Юниум» рассчитана на школьников с 1-11 классов. Занятия сфокусированы на практических упражнениях, поэтому с первых уроков дети начинают создавать программу, приложение или личный мессенджер. Сегодня у центра около 70 школ по всей России, включая Москву, Санкт-Петербург, Владимир, Нижний Новгород, Владивосток, Самару и другие города.

    9. Международная Компьютерная Академия ШАГ

    Города: Москва и еще 18 городов России

    Возраст: от 7 до 16 лет

    Курсы: «Основы программирования c использованием Scratch», «Программирование на Python», «Программирование игр на Construct», «Робототехника LEGO», «Программирование микроконтроллеров Arduino» и другие.

    Стоимость: 8500 рублей в месяц в будни, 10700 рублей в месяц по выходным

    Занятия по программирования для детей проходят в рамках Малой Компьютерной Академии. Преподаватели обещают превратить компьютер из игрушки в рабочий инструмент. В академии есть курсы, на которых детей учат разрабатывать интернет-сайты, моделировать и программировать роботов, создавать игры, анимировать персонажей и работать с поисковыми системами. За обучением детей в «Шаге» можно наблюдать с помощью системы MyStat. Она позволяет отслеживать посещаемость занятий, домашние задания, а также дает доступ ко всем учебным материалам.

    10. Polycent

    Города: Москва

    Возраст: от 5 до 15 лет

    Курсы: «Программирование Scratch», «Программирование Swift (iOS App Creator)», «Программирование PYTHON», «Minecraft Creator».

    Стоимость: 28160 рублей за курс

    Polycent — это центры молодежного инновационного творчества, появившиеся на базе компьютерной студии «Политех» более 20 лет назад. Сегодня Polycent обучает детей от 4 до 15 лет, охватывая самые разные IT-области, такие как «Робототехника», «Информатика», «Инженерия», «Развитие», а также регулярно проводит тематические мастер-классы, научные праздники и другие мероприятия. Обучение проходит на платформах LEGO WeDo, LEGO Mindstorms, Arduino, ScratchDuino, Bioloid, Fischertechnik, Minecraft EDU и Пиктомир, среди преподавателей — выпускники и преподаватели МЭИ, СТАНКИНа, НИУ МЭИ, МГТУ им. Баумана.

    11. Школа программистов

    Города: Москва, Московская область и онлайн

    Возраст: школьники с 3 по 11 класс

    Курсы: «Программирование с нуля»

    Стоимость: 3900 рублей в месяц за онлайн-курс

    Школа программистов для учеников 3-11 классов работает с 2001 года. На занятиях школьников обучают программированию и информационным технологиям, готовят к олимпиадам всероссийского и международного уровня. В Школе можно учиться от 2 до 9 лет, но стандартная базовая программа рассчитана на три года обучения. Чтобы попасть в школу, ученики младших классов должны пройти собеседование, а дети старше 11 лет — сдать письменный экзамен. Всего у школы 9 площадок в Москве и области, отделения находятся в офисе «Яндекса», ВШЭ и «Физтехпарке».

    Rusbase Young Awards: ищем юного Илона Маска

    Принимаем заявки на всероссийскую бизнес-премию для студентов и школьников Rusbase Young Awards. Управляешь своим бизнесом, хотя тебе еще нет 24 лет? У тебя есть шанс получить 100 тысяч рублей, Apple MacBook Pro и другие ценные призы и возможности от организаторов. Заявки принимаем до 22 апреля.

    При поддержке «Тинькофф Банк» и SAP.

    Материалы по теме:

    Фото на обложке: Кодабра

    Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

    Кабинет Информатики

    Приветствую Вас Гость | RSS

    Главная | Регистрация | Вход Понедельник, 11.11.2020, 00:04
    Меню сайта
    Новости.
    Конкурсы
    Статистика
    Форма входа

    Если ваш ребёнок учится программировать на Python

    Школа программировать не научит, возможно, даст азы и понимание процесса, да и то — не все государственные школы могут справиться с этой задачей. Но умение программировать — это навык будущего, как умение писать и читать сегодня. Кто-то учится программированию в кружках дополнительного образования, кому-то повезло с родственниками-программистами, но если есть желание и усидчивость, то программирование вполне можно освоить самостоятельно. В данной статье рассмотрены онлайн-курсы для школьников и начинающих программировать взрослых, которые вы можете пройти онлайн и бесплатно. А ещё подготовлен список книг, которые помогут вам в освоении языка программирования Python — одного из простых и востребованных языков программирования.

    -== Курсы по Python ==-

    Python (пайтон или питон) — несложный язык. Проще его только Scrath, пожалуй. (Скрэтч — это программирование для дошкольников и младших школьников, и вот здесь у нас лежит подборка книг по Скрэтч). Если вы хотите, чтобы ваш ребёнок принимал участие в различных конкурсах и олимпиадах для юных инженеров, то без знания Питона там делать нечего. Например, НТИ ставит знание Питона в список обязательных навыков для участников олимпиады. Если вы убедились в необходимости его освоения, записывайтесь на следующие курсы, они бесплатные.

    С этого курса советуем начать знакомство с языком. Он знакомит с самыми азами, с базовыми понятиями, начиная с объяснения, что такое Python, зачем он нужен и где его можно применять, с установки программы на компьютер. Закрепляется изучаемый материал решением соответствующих уровню задач. За задачи ученик получает баллы и на их основе — общие оценки. Не нужно бояться этого курса, аттестат с двойками никто не выдаст, ошибаться можно сколько угодно раз, за неверные попытки оценка не снижается, а баллы не отнимаются. В курсе есть видео и текстовые материалы, он доступен в любое удобное для вас время, хоть вот прямо сейчас. Просто регистрируйтесь на сайте Stepik (курс расположен на нем) и записывайтесь на курс.

    Сертификат — выдаётся в случае успешного прохождения курса (нужно набрать не менее 80 баллов при решении задач)

    Курс по программированию в Python 3+. Он подойдет для школьников 5-7 классов. В курсе рассмотрены только базовые темы: переменная, ввод-вывод, типы данных, реализация некоторых алгоритмов. Попробуйте посмотреть и его вместе в предыдущим курсом. Сертификат не выдается.

    Этот курс рекомендуется осваивать после первого, он немного посложнее. Хотя всё индивидуально — вашему ребёнку, возможно, интереснее будет осваивать Python непосредственно с этого курса. Курс делится на 3 модуля:

    • Основы алгоритмизации (для 5-7 класса) — в модуле раскрываются основные понятия алгоритмизации, происходит знакомство со средой программирования «Scratch» (опционально), подробно изучается раздел «Исполнители» в среде «Кумир», изучаются языки программирования, их история, слушатели знакомятся с популярными языками программирования, учатся работать с тестирующей системой Stepik.
    • Введение в Python 3 (для 7-10 классов) — модуль позволяет (при качественной проработке теоретического материала, самостоятельной работе с заданиями и задачами на программирование), научиться программировать в среде Python 3, познакомиться с основными алгоритмическими конструкциями, подготовиться к решению ОГЭ и ЕГЭ на программирование и алгоритмизацию, дает представление о практическом применении Python.
    • Олимпиадное программирование (для 7-10 классов) — модуль знакомит с типизацией олимпиадного движения в России; подробно рассматриваются задания школьного и муниципального тура, слушатели научатся решать задачи не только корректно, но и эффективно по времени и занимаемой памяти.

    Сертификат — выдается (нужно набрать не менее 750 баллов).

    Курс уже для продвинутых, для тех, кто освоил азы и может писать на Питоне простейшие программы. В курсе углубляются знания по базовым принципам, по стандартным средствам и по применению языка. К курсу можно перейти сразу после первого курса программирования на Python. Невозможно научиться программировать без практики, поэтому в качестве домашних заданий предлагаются задачи разной сложности и направленности: одни для закрепления материала, а другие, чтобы развить смекалку и найти способ, как применить только что изученный материал. В конце курса рассматриваются реальные задачи, с которыми может столкнуться современный человек, и идет обучение по их решению средствами языка Python.

    Сертификат — выдается бесплатно, после удачного прохождения, выполнения всех заданий.

    В курсе собрано несколько десятков разнообразных задач на языке Python разных уровней сложности. При прохождении курса включается специальный адаптивный режим, который подбирает контент индивидуально для каждого обучающегося, учитывая его уровень и пробелы в знаниях. Сертификат не выдается.

    -== Книги ==-

    Учим Python, делая крутые игры

    Осваивать Питон можно сразу с игр. Многим детям такой вариант будет гораздо интереснее, чем выполнение неких абстрактных команд и задач. На то и расчет: автор начинает со знакомства с азами программы и тут же переходит к примерам простых игр, которые ученики могут сделать сразу же. По мере углубления знаний и игры становятся сложнее. Написано понятно, инструкции подробны.

    Программирование на Python. Иллюстрированное руководство для детей

    Кэрол Вордерман вам, должно быть, уже знакома по другой своей книге по программированию для детей, которая так и называется — «Программирование для детей». В ней, кстати, есть раздел, посвященный Питону. Но эта книга полностью посвящена только Питону и, соответственно, углубляет знания о нем. Подарочный вариант для юного программиста.

    Привет, Python! Моя первая книга по программированию

    Книга подойдет в качестве одной из первых для самообучения Python, но лучше все же в компании с каким-то другими самоучителями. Не игнорируйте задания автора, прорабатывайте каждую задачу, чтобы лучше понимать язык.

    Python для детей. Самоучитель по программированию

    У этого самоучителя хорошие отзывы среди программистов, которые когда-то учились по ней сами. Правда, тогда она не была еще переведена на русский. Большой и подробный объем информации по языку, объяснение терминологии. Книга дает возможность научиться самостоятельно написать две больших игры. Пожалуй, эта книга обязательна в библиотеке начинающего программиста.

    Minecraft. Программируй свой мир на Python

    Это удачный вариант для поклонников Майнкрафта. Знакомство с программой на примере любимой игры. Можно и играть, и создавать своих персонажей, свой мир.

    Программируем с Minecraft. Создай свой мир с помощью Python

    Еще один хороший самоучитель, который как и предыдущий учит программированию сразу в пространстве Майнкрафта. Книга пользуется большим спросом, так что следите за ее появлением.

    Если самообучение не ваш формат, то в вашем городе наверняка можно найти курсы по Питону. В данной статье хотелось дать ориентиры, с чего можно начать самостоятельно. В дальнейшем, в зависимости от того, насколько интересно ребёнку и насколько ему понятен этот язык программирования, на том же Stepike или других обучающих платформах можно найти курсы углубленного уровня, для продвинутых пользователей, и соответствующую литературу, конечно же, тоже.

    Желаю приятного кодинга!

    Говорят, стать Python программистом легко. Правда?


    На биржах труда ищут мобильных разработчиков, девопсов, бэкендеров и фронтендеров, но где эти профессии в списках специальностей классических вузов?

    Мы запускаем цикл статей в которых подробно расскажем о каждой профессии через опыт людей. В первом выпуске обсуждаем Python-разработчиков. Свои истории рассказали Артем Сухаренко и Данила Лобанов. Они пришли в профессию совсем недавно, но успели набраться опыта в других сферах. А экспертом выступил Алексей Петренко — декан факультета Python в Geekbrains.

    Мы поговорили о том, что нужно знать перед обучением, чем хорош и плох язык, что трудного ждет в обучении и на чем стоит сосредоточиться; какие профессии и какая зарплата python-программиста, как готовиться к первым собеседованиям и многое другое.

    Для чего учить Python

    Артем Сухаренко учился в СибГИУ на кафедре автоматики и информатики. Его специальность была инженерной, но не связанной с программированием. После выпуска Артем устроился работать на завод ЗСМК — один из самых крупных металлургических комбинатов в России

    «Я обалдел, насколько там все ужасно», — говорит он, — «Полуразвалившийся советский электропривод, никакой модернизации, специалисты особо не нужны». Долго на заводе он не задержался, но продолжил работать с электрикой дальше. Вырос до ведущего инженера в Сибирьтелекоме, затем переехал из Сибири в Москву и устроился в коммерческий ЦОД, где отвечал за инфраструктуру.

    Программирование иногда подразумевалось. Артем пытался работать с микроконтроллерами, делать что-то более сложное, но всегда упирался в отказы работодателей и заказчиков — им это было не нужно. Хватало элементарных вещей, которыми, как говорит Артем, интересно заниматься только первые 15 минут, и особых скиллов для этого не нужно.

    «Может быть, я не туда совался, но развития для себя не нашел. Пять лет вуза — просто чтобы крутить провода. Это было так обидно».

    Однажды коллега подал Артему идею изучать программирование не для электрики, а чтобы стать Python-разработчиком. Он стал читать книги, пробовать разные задачи, но не решался сменить профессию. «Желание у меня назревало долго. Сначала не давали сменить профессию ипотека, финансовые вопросы, личный страх».

    В 36 лет Артем пошел на курсы GeekBrains «Python-разработчик».

    Веб-разработка стала клондайком для многих людей, кому интересны технические профессии. А Python — одним из популярнейших языков программирования для входа в профессию. Он привлекает простотой и универсальностью.

    «Зная Пайтон можно делать много всего — от простейших скриптов до анализа данных и построения нейронных сетей. Но конкретно разработка на Пайтон — это бэкенд для веб-серверов, разработка скрытой части интернета — той, которую не видят обычные пользователи. Сервер, его логику, взаимодействие с базами данных». Все это мы расскажем на наших курсах и ответим на ваш вопрос — «Как стать программистом Python?», говорит Алексей Петренко, декан факультета Python в Geekbrains.

    «Думаю, это хороший выбор в качестве первого языка. У него простой синтаксис. Он прощает мелкие ошибки разработчика. У Пайтона низкий порог вхождения, на нем очень легко освоить азы программирования. У него очень большая аудитория и обширная библиотека, плюс много внешних библиотек, которые делают разработчики со всего мира. За счет этого он становится языком, который подойдет для чего угодно».

    «Хоть Python и пропагандируется как язык для всего, по факту у него только две сферы применения: всякие data science, ML и прочая математика — и веб-разработка. В этом он меня немного разочаровал», — говорит Данила Лобанов, бывший сисадмин, который недавно стал Python-разработчиком.

    «Этот язык понравился мне тем, потому что питон-программист может выполнять любую работу. У него есть библиотека для мобильных приложений, для десктопных, на нем можно писать скрипты автоматизации для серверов, можно веб-приложения. Но по факту на работу без глубокой математики требуются только веб-разработчики. Никто не пишет на нем десктопные приложения, и уж тем более мобильные. Для этого есть другие языки, которые создавались специально под свои задачи».

    Данила тесно познакомился с компьютером относительно поздно, примерно в 18 лет. От высшего образования он отказался и почти сразу пошел работать сисадмином. Начинал с самых элементарных задач, потом приступил к изучению Linux и программирования.

    «Я попытался изучать С, PHP, Java еще какие-то языки, но не заходило — начинал и бросал. Не мог писать даже простейшие скрипты. Когда я ходил на курсы по С, у меня получалось читать код, но не получалось его писать. Мне давали задачу, я смотрел на нее и не представлял, как делать. Преподаватель садился рядом, писал построчно, объяснял, и я понимал, что именно так и надо было делать. Но мне давали аналогичную задачу, и я снова был в ступоре».

    После неудачных попыток Данила надолго забросил программирование. Около десяти лет он проработал сисадмином. И когда почувствовал, что администрирование больше не приносит радости, решил дать разработке еще один шанс.

    «Новичку лучше первым делом разобраться в синтаксисе», — считает Алексей Петренко, — «Только потом стоит думать, куда хочется идти дальше. Чем больше ты учишься, тем больше уходишь от синтаксиса к библиотекам, паттернам проектирования, отдельным шаблонам».

    Данила все-таки выбрал Python потому, что язык считался легким. «Синтаксис реально оказался простым», — говорит он, — «Как писать текст на английском языке. Сначала я изучал его самостоятельно по видеоматериалам на Ютубе, по статьям, решал задачи на pythontutor.ru. Но потом понял, что ресурсы в интернете — это только основы и азы. Они доступны всем и везде, и не помогут научиться программированию основательно. Я понял, что надо искать курсы, которые дадут все то же самое, только систематизировано, а потом поведут меня дальше».

    Что надо знать перед началом обучения

    Перед тем, как серьезно погружаться в изучение языка, Алексей Петренко рекомендует выяснить заранее — а нравится ли программировать вообще. «Я бы советовал попробовать написать несколько программ, пройти бесплатные уроки. Перед началом обучения лучше уже понимать, что такое переменная и как две переменные сложить.

    Чтобы курсы не стали бесполезными, поможет только одно — практика. Если только смотреть и слушать, ничего не получится. Для новичка практикой будет даже переписать код, который преподаватель показывает на экране. Переписывать и думать, как он работает.

    Необходимый минимум для занятий python разработчика — четыре часа в неделю. Два дня в неделю по два часа. Но я бы рекомендовал выделять час в день на написание собственного кода. Главное не нырять в программирование с головой, чтобы не было буйства магии. Когда три дня учишь все подряд — в голове получается каша.

    Начать может быть легко, но впереди ждут трудности

    Артем продолжал работать электриком днем, а вечерами начал учиться на курсах, несмотря на усталость. «Как и у всех наивных людей, у меня было ожидание магии от курсов. Я пришел не совсем нулевым. Я не мог даже ответить на вопросы: «Python developer — что это?», «Что должен знать программист Python?». В багаже было несколько книг и даже простых сайтиков, в том числе на PHP (грешен, признаю). Я ждал, что на курсах надмозги меня выдрессируют, и я стану волшебником. Реалии оказались другими — там такие же люди, которые просто знают чуть больше».

    Артему нравилось на курсах, но не все шло гладко. Программа на тот момент была новая, мало обкатанная и по его впечатлениям сумбурная. О спорных моментах ученики высказывались, давали обратную связь, и недостатки исправлялись на ходу. Один из преподавателей оказался настолько слабым, что его попросили убрать. Но остальные, как вспоминает Артем, были очень сильны.

    У Данилы же все шло еще труднее. После нескольких вводных курсов он перестал успевать за программой, и несколько раз покидал свой поток, чтобы повторять программу в следующем.

    «Все признавали, в том числе сотрудники Geekbrains, что уровни 2 и 3 в программе по Python были одними из самых сложных курсов в университете. Очень много информации в слишком сжатые сроки, очень большие домашние задания. Многие усваивали только часть материала. Я лично два раза переводился в следующий поток. Мы просили облегчить программу, нас спрашивали как, и я предлагал разбить два курса на три. Что-то из этого приняли во внимание и сейчас реализовали».

    В отличие от первых попыток учить С, когда ничего не получалось, Данила шел дальше. Вещи, которые он не понимал, превращались в вещи, которые он не понимает, как можно было не понимать. Но преодолеть эту грань нельзя простым зубрением учебников. Как говорит Данила, умение программировать и знание языка — абсолютно разные вещи.

    «Преподавать программирование тоже очень сложно. Всем кажется, что раз человек может писать программы, значит может и научить. Это не так. Когда мышление перестроено, и знаешь много всего — уже не можешь вспомнить, каково это — не понимать».

    Алексей предупреждает, что Python легкий только в начале. А после легкой базы придется приложить усилия, чтобы освоить более серьезные аспекты — библиотеки и фреймворки. «Если сравнить язык программирования с водоемом, то, например, язык С — это океан. Ты ныряешь с обрыва на огромную глубину, и либо плывешь, либо тонешь. Язык Пайтон — это пляж с чистым песком, где ты можешь далеко зайти, спокойно поплавать, и если понял, что хочешь двигаться дальше — то за красивым пляжем есть огромная впадина, по глубине сопоставимая с С и Java».

    «Асинхронное программирование в Python — это мозгодробительная штука», вспоминает Артем. «Мы проходили это как-то поверхностно, и потом даже на собеседованиях, когда по нему спрашивали, я чувствовал, что плыл.

    Паттерны проектирования тоже нахрапом взять невозможно. Я уже по три раза перечитывал выдержки, специально читал книгу, и все равно до конца не чувствую себя уверенным. За один месяц, который длится курс по ним, это вообще нереально освоить».

    Данила же вспоминает модуль select как самое трудное: «Все три потока помнят мою боль с селектами. Есть такой модуль, и он мне прямо очень не давался в свое время. Сейчас-то он для меня простой — я теперь не понимаю, как его можно не понять».

    «В базовой конфигурации Python лежит около 70 функций и несколько десятков зарезервированных слов, но даже крутой питон программист не обязательно использует их все. То есть, чтобы выучить сотню слов и понять, что они делают, можно потратить одну-три недели при желании и активной работе», говорит Алексей.

    «Начинающие питон программисты пишут программы, которые тоже работают. Но код один раз пишут — десять раз читают. Когда спустя время программу пытается прочитать другой человек, то возникают сложности.

    Чтобы в будущем работать в команде и показывать код кому-то еще, надо знать общепринятые стандарты стиля. В Python они называются «Пепы» (Peps). Я бы советовал читать Pep8 параллельно с изучением синтаксиса. Это соглашение программистов, которые пишут на Пайтоне. Оно рекомендует как правильно писать, а как неправильно.

    Несколько лет назад в Python произошло разделение. Был Python 2.7, а потом вышла версия 3. Вторая версия все еще используется, но только в старых фирмах для поддержания легаси-кода. Если устроиться в такую фирму, то изучать Python 2 придется, но я бы рекомендовал учить третью версию. Все современные проекты и сторонние библиотеки пишутся под нее».

    Как выдержать первые собеседования

    Артем и Данила закончили курсы очень по-разному. Данила после нескольких попыток решил не заканчивать обучение, потому что не нашел взаимопонимания с преподавателем последних курсов, но зато нашел работу. Артем же вместе с сокурсниками уже во время обучения вырастил учебный проект в стартап, который начал приносить реальные деньги.

    «Проект назвался GoLiving. Это что-то вроде AirBnb, только задумка такая: в Америке есть люди, которые часто ездят работать в разные города на непродолжительный период. И они могут между собой меняться жильем с гарантированной страховкой, чтобы точно быть уверенным, что не вернешься в разгромленную квартиру. Сейчас я не знаю, насколько далеко пошел этот ресурс, кажется финансирование приостановили. Но тогда у нас даже были инвесторы».

    Данила во время обучения на курсах полгода сидел без работы. Он уволился специально, чтобы учиться, но из-за частых переводов учеба заняла больше времени, и отложенные на это время деньги подходили к концу. Покинув курсы обучения питон программиста, Данила даже не успел начать изучение Django — самого популярного фреймворка для веб-разработки.

    «Под новый год я написал в компанию, которая просто находилась рядом с моим домом. Зашел к ним на сайт, увидел вакансию бэкенд-разработчика и написал им письмо. Говорю, хотел бы у вас поработать, хоть и учился, но знаю немного. Очень интересуюсь и буду развиваться. И меня позвали на собеседование».

    «Мой опыт в Geekbrains показывает, что некоторые студенты находят работу, до того как они заканчивают годовой курс обучения», говорит Алексей. «Работодатель хочет видеть у серверного разработчика элементарное умение работать с синтаксисом, знание как работают сайты, как устроен бэкенд, тот же самый набирающий популярность Django. Я бы сюда ещё добавил работу в команде и знания баз данных, потому что любой бэкенд любого сайта неразрывно связан с хранением информации. Требования к python разработчику растут с каждым годом.

    Ежемесячно на «Моём круге» открывается порядка 200 вакансий python-разработчиков, вы можете посмотреть самые свежие и подписаться на рассылку о новых вакансиях.

    Во время интервью главное не молчать. Если дают задачу, на которую не получается сходу ответить, то надо просто рассуждать вслух, показывать, как думаешь, и что способен двигаться к решению.

    И главное не отчаиваться, если первое собеседование оказалось неудачным. Сходя на два-три собеседования заметишь, что вопросы начинают повторяться. И тогда уже сам будешь выбирать, куда устроиться, потому что однажды из трех собеседований пройдешь сразу везде».

    Данила на собеседовании больше всего удивило то, что ему не задали ни одного технического вопроса: «Не давали никаких заданий — просто общались о том, как я учился, чем интересуюсь. В итоге предложили работу, и я согласился».

    Алексей же считает, что с такими компаниями стоить быть внимательнее. «Кроме общих вопросов должны быть задачи на написание кода. Даже если на бумаге карандашом — это нормально. Но если ты пришел на собеседование программиста и не получил ни одного вопроса о программировании, то тебя либо собеседовал некомпетентный человек, либо ты будешь заниматься вообще чем-то непрограммистским. Программистов надо проверять на программирование».

    «Я считаю, не спрашивать технические вещи — это правильный подход», говорит Данила. «Очень известный в Python-сообществе Григорий Петров тоже говорит, что скилы по программированию (хард скилы) подтянуть всегда можно. Главное сойтись во взглядах на жизнь, чтобы было комфортно вместе работать. Я с ним согласен.

    Конечно, навыки программирования важны. Но сейчас я работаю с такими вещами, которых на курсах не преподают. Мне их показали уже на работе, и дальше я разбираюсь сам, читаю документацию, статьи, смотрю примеры — требования ко мне, как к python разработчику постоянно растут. Меня больше настораживают компании, которые дают «нормальные» тестовые задания. Ты смотришь и думаешь — а это правда тестовое или я сейчас бесплатный фрилансер?»

    «Собеседование, которое проходил я, расплавило мне мозг еще как», вспоминает Артем. «Когда я вышел, состояние было, как будто иду на автопилоте — так сильно продолжали жужжать мысли».

    Проходило оно так: сидели два эйчара и два технаря. Один питонист и фулстек, который занимался вебом — куда пробовался и я. Второй — судя по вопросам — совершенный надмозг. У него такой был сильный матан, что просто ого-го!

    Сначала пошли житейские вопросы, все эти «как себя видишь, как себя чувствуешь». Потом за меня принялся фулстек, погонял меня по Python, по Django. Он прямо на бумаге накидывал примеры и спрашивал по ним. Не сложные, но с подковырками.

    А потом за меня взялся дядька-надмозг. Полез вглубь матана, спрашивал про алгоритмы, и поскольку компания работает с безопасностью и шифрованием, он меня и по нему тоже погонял. Но в этом я совершенно не силен, поэтому отвечал как пятилетний ребенок. В общем, на шифровании сыпался, в алгоритмах держался, но не очень.

    Честно, даже не ожидал, что мне перезвонят. Тем не менее — получил оффер. Через несколько дней будет первый рабочий день».

    Велика ли зарплата Python программиста

    Люди идут в ИТ не только по зову души. Это индустрия с одними из самых быстро растущих зарплат в России. И иногда кажется, что зарплаты программистов Python по сравнению со среднестатистическими профессиями отличаются как зарплаты в Москве и в регионах. Тем не менее, ни Артем, ни Данила не шли в эту профессию за богатством. Больше того — они его пока так и не нашли.

    «Даже в Москве на начальных позициях программистам предлагают 40-50 тысяч, может даже меньше. В регионах 20 тысяч для джуниора тоже не редкость. Это не такая уж высокооплачиваемая работа, как все утверждают. Да, когда достигаешь уровня синьора, зарплаты python программиста могут переваливать за 200-300 тысяч. Но где таких зарплат нет? Недавно одна такси-компания показала доходы таксистов, которые больше всех заработали. Там 230, 240 тысяч.

    На диаграмме зарплат python-разработчиков с разбивкой по квалификациям видно, что медиана для джуна составляет почти 60 000 рублей, тогда как мидл получает уже в среднем чуть больше 100 000 рублей. Зато разница между показателями медиан для сеньора и лида совсем небольшая — 151 000 рублей и 167 000 рублей соответственно.
    При построении диаграммы были использованы данные зарплатного калькулятора «Моего круга».

    Возможно, в программировании проще дойти до уровня выше среднего, чем во многих других сферах. Но для меня это вообще не было главным. Мне было интересно создавать программы».

    «Зарплаты зависят от региона», говорит Алексей, «Кто-то устроится за 40 тысяч как начинающий, кто-то может и сразу на 100 тысяч. Смотря как себя проявить. Если покажешь, что можешь писать не только код, но и разбираешься в архитектуре, можешь набросать схему проекта целиком, всех модулей, сервисов, связей между ними».

    Артем же вообще ушел в разработку на меньшую зарплату, чем имел будучи инженером. «В электрике у меня была должность главного инженера, и зарплата была очень хорошая. Я ушел, потому что хочу развития. А в программировании можно развиваться до бесконечности».

    Несмотря на то, что в программировании одна из самых четких и понятных градаций по уровню мастерства (джуниор, мидл, синьор) — она все равно остается относительной и постоянно разжигает споры размытостью своих критериев. Споры в духе «ты в компании Х синьор, а в компании Y и джуниором не возьмут» или «пока десять лет не работал — не синьор».

    «До уровня мидла можно прокачаться в течение года обучения. Например, в Geekbrains есть обязательные курсы и дополнительное. Все их надо пройти полностью чтобы честно сказать — я прокачался до уровня мидла. То есть, получается год основной программы и ещё полгода параллельных курсов», — считает Алексей, — «А синьор — это человек, у которого есть богатый опыт. Это тот, кто разбирается в разных фреймворках, способен масштабировать задачи, понимать каких ресурсов они требуют. Человек, который не изобретает велосипеды. Кто на собственном опыте разобрался во всех аспектах и нюансах работы.

    Если человек через три года работы называет себя синьором — почему бы и нет. Все зависит от фирмы, стремления и навыков. Если человек одаренный и целеустремленный, то я в это поверю. Если он скажет, что знает «Питон», а не «Пайтон», то наверное он все-таки прокололся».

    На биржах труда ищут мобильных разработчиков, девопсов, бэкендеров и фронтендеров, но где эти профессии в списках специальностей классических вузов?

    Мы запускаем цикл статей в которых подробно расскажем о каждой профессии через опыт людей. В первом выпуске обсуждаем Python-разработчиков. Свои истории рассказали Артем Сухаренко и Данила Лобанов. Они пришли в профессию совсем недавно, но успели набраться опыта в других сферах. А экспертом выступил Алексей Петренко — декан факультета Python в Geekbrains.

    Мы поговорили о том, что нужно знать перед обучением, чем хорош и плох язык, что трудного ждет в обучении и на чем стоит сосредоточиться; какие профессии и какая зарплата python-программиста, как готовиться к первым собеседованиям и многое другое.

    Для чего учить Python


    Артем Сухаренко учился в СибГИУ на кафедре автоматики и информатики. Его специальность была инженерной, но не связанной с программированием. После выпуска Артем устроился работать на завод ЗСМК — один из самых крупных металлургических комбинатов в России

    «Я обалдел, насколько там все ужасно», — говорит он, — «Полуразвалившийся советский электропривод, никакой модернизации, специалисты особо не нужны». Долго на заводе он не задержался, но продолжил работать с электрикой дальше. Вырос до ведущего инженера в Сибирьтелекоме, затем переехал из Сибири в Москву и устроился в коммерческий ЦОД, где отвечал за инфраструктуру.

    Программирование иногда подразумевалось. Артем пытался работать с микроконтроллерами, делать что-то более сложное, но всегда упирался в отказы работодателей и заказчиков — им это было не нужно. Хватало элементарных вещей, которыми, как говорит Артем, интересно заниматься только первые 15 минут, и особых скиллов для этого не нужно.

    «Может быть, я не туда совался, но развития для себя не нашел. Пять лет вуза — просто чтобы крутить провода. Это было так обидно».

    Однажды коллега подал Артему идею изучать программирование не для электрики, а чтобы стать Python-разработчиком. Он стал читать книги, пробовать разные задачи, но не решался сменить профессию. «Желание у меня назревало долго. Сначала не давали сменить профессию ипотека, финансовые вопросы, личный страх».

    В 36 лет Артем пошел на курсы GeekBrains «Python-разработчик».

    Веб-разработка стала клондайком для многих людей, кому интересны технические профессии. А Python — одним из популярнейших языков программирования для входа в профессию. Он привлекает простотой и универсальностью.

    «Зная Пайтон можно делать много всего — от простейших скриптов до анализа данных и построения нейронных сетей. Но конкретно разработка на Пайтон — это бэкенд для веб-серверов, разработка скрытой части интернета — той, которую не видят обычные пользователи. Сервер, его логику, взаимодействие с базами данных». Все это мы расскажем на наших курсах и ответим на ваш вопрос — «Как стать программистом Python?», говорит Алексей Петренко, декан факультета Python в Geekbrains.

    «Думаю, это хороший выбор в качестве первого языка. У него простой синтаксис. Он прощает мелкие ошибки разработчика. У Пайтона низкий порог вхождения, на нем очень легко освоить азы программирования. У него очень большая аудитория и обширная библиотека, плюс много внешних библиотек, которые делают разработчики со всего мира. За счет этого он становится языком, который подойдет для чего угодно».

    «Хоть Python и пропагандируется как язык для всего, по факту у него только две сферы применения: всякие data science, ML и прочая математика — и веб-разработка. В этом он меня немного разочаровал», — говорит Данила Лобанов, бывший сисадмин, который недавно стал Python-разработчиком.

    «Этот язык понравился мне тем, потому что питон-программист может выполнять любую работу. У него есть библиотека для мобильных приложений, для десктопных, на нем можно писать скрипты автоматизации для серверов, можно веб-приложения. Но по факту на работу без глубокой математики требуются только веб-разработчики. Никто не пишет на нем десктопные приложения, и уж тем более мобильные. Для этого есть другие языки, которые создавались специально под свои задачи».

    Данила тесно познакомился с компьютером относительно поздно, примерно в 18 лет. От высшего образования он отказался и почти сразу пошел работать сисадмином. Начинал с самых элементарных задач, потом приступил к изучению Linux и программирования.

    «Я попытался изучать С, PHP, Java еще какие-то языки, но не заходило — начинал и бросал. Не мог писать даже простейшие скрипты. Когда я ходил на курсы по С, у меня получалось читать код, но не получалось его писать. Мне давали задачу, я смотрел на нее и не представлял, как делать. Преподаватель садился рядом, писал построчно, объяснял, и я понимал, что именно так и надо было делать. Но мне давали аналогичную задачу, и я снова был в ступоре».

    После неудачных попыток Данила надолго забросил программирование. Около десяти лет он проработал сисадмином. И когда почувствовал, что администрирование больше не приносит радости, решил дать разработке еще один шанс.

    «Новичку лучше первым делом разобраться в синтаксисе», — считает Алексей Петренко, — «Только потом стоит думать, куда хочется идти дальше. Чем больше ты учишься, тем больше уходишь от синтаксиса к библиотекам, паттернам проектирования, отдельным шаблонам».

    Данила все-таки выбрал Python потому, что язык считался легким. «Синтаксис реально оказался простым», — говорит он, — «Как писать текст на английском языке. Сначала я изучал его самостоятельно по видеоматериалам на Ютубе, по статьям, решал задачи на pythontutor.ru. Но потом понял, что ресурсы в интернете — это только основы и азы. Они доступны всем и везде, и не помогут научиться программированию основательно. Я понял, что надо искать курсы, которые дадут все то же самое, только систематизировано, а потом поведут меня дальше».

    Что надо знать перед началом обучения

    Перед тем, как серьезно погружаться в изучение языка, Алексей Петренко рекомендует выяснить заранее — а нравится ли программировать вообще. «Я бы советовал попробовать написать несколько программ, пройти бесплатные уроки. Перед началом обучения лучше уже понимать, что такое переменная и как две переменные сложить.

    Чтобы курсы не стали бесполезными, поможет только одно — практика. Если только смотреть и слушать, ничего не получится. Для новичка практикой будет даже переписать код, который преподаватель показывает на экране. Переписывать и думать, как он работает.

    Необходимый минимум для занятий python разработчика — четыре часа в неделю. Два дня в неделю по два часа. Но я бы рекомендовал выделять час в день на написание собственного кода. Главное не нырять в программирование с головой, чтобы не было буйства магии. Когда три дня учишь все подряд — в голове получается каша.

    Начать может быть легко, но впереди ждут трудности

    Артем продолжал работать электриком днем, а вечерами начал учиться на курсах, несмотря на усталость. «Как и у всех наивных людей, у меня было ожидание магии от курсов. Я пришел не совсем нулевым. Я не мог даже ответить на вопросы: «Python developer — что это?», «Что должен знать программист Python?». В багаже было несколько книг и даже простых сайтиков, в том числе на PHP (грешен, признаю). Я ждал, что на курсах надмозги меня выдрессируют, и я стану волшебником. Реалии оказались другими — там такие же люди, которые просто знают чуть больше».

    Артему нравилось на курсах, но не все шло гладко. Программа на тот момент была новая, мало обкатанная и по его впечатлениям сумбурная. О спорных моментах ученики высказывались, давали обратную связь, и недостатки исправлялись на ходу. Один из преподавателей оказался настолько слабым, что его попросили убрать. Но остальные, как вспоминает Артем, были очень сильны.

    У Данилы же все шло еще труднее. После нескольких вводных курсов он перестал успевать за программой, и несколько раз покидал свой поток, чтобы повторять программу в следующем.

    «Все признавали, в том числе сотрудники Geekbrains, что уровни 2 и 3 в программе по Python были одними из самых сложных курсов в университете. Очень много информации в слишком сжатые сроки, очень большие домашние задания. Многие усваивали только часть материала. Я лично два раза переводился в следующий поток. Мы просили облегчить программу, нас спрашивали как, и я предлагал разбить два курса на три. Что-то из этого приняли во внимание и сейчас реализовали».

    В отличие от первых попыток учить С, когда ничего не получалось, Данила шел дальше. Вещи, которые он не понимал, превращались в вещи, которые он не понимает, как можно было не понимать. Но преодолеть эту грань нельзя простым зубрением учебников. Как говорит Данила, умение программировать и знание языка — абсолютно разные вещи.

    «Преподавать программирование тоже очень сложно. Всем кажется, что раз человек может писать программы, значит может и научить. Это не так. Когда мышление перестроено, и знаешь много всего — уже не можешь вспомнить, каково это — не понимать».

    Алексей предупреждает, что Python легкий только в начале. А после легкой базы придется приложить усилия, чтобы освоить более серьезные аспекты — библиотеки и фреймворки. «Если сравнить язык программирования с водоемом, то, например, язык С — это океан. Ты ныряешь с обрыва на огромную глубину, и либо плывешь, либо тонешь. Язык Пайтон — это пляж с чистым песком, где ты можешь далеко зайти, спокойно поплавать, и если понял, что хочешь двигаться дальше — то за красивым пляжем есть огромная впадина, по глубине сопоставимая с С и Java».

    «Асинхронное программирование в Python — это мозгодробительная штука», вспоминает Артем. «Мы проходили это как-то поверхностно, и потом даже на собеседованиях, когда по нему спрашивали, я чувствовал, что плыл.

    Паттерны проектирования тоже нахрапом взять невозможно. Я уже по три раза перечитывал выдержки, специально читал книгу, и все равно до конца не чувствую себя уверенным. За один месяц, который длится курс по ним, это вообще нереально освоить».

    Данила же вспоминает модуль select как самое трудное: «Все три потока помнят мою боль с селектами. Есть такой модуль, и он мне прямо очень не давался в свое время. Сейчас-то он для меня простой — я теперь не понимаю, как его можно не понять».

    «В базовой конфигурации Python лежит около 70 функций и несколько десятков зарезервированных слов, но даже крутой питон программист не обязательно использует их все. То есть, чтобы выучить сотню слов и понять, что они делают, можно потратить одну-три недели при желании и активной работе», говорит Алексей.

    «Начинающие питон программисты пишут программы, которые тоже работают. Но код один раз пишут — десять раз читают. Когда спустя время программу пытается прочитать другой человек, то возникают сложности.

    Чтобы в будущем работать в команде и показывать код кому-то еще, надо знать общепринятые стандарты стиля. В Python они называются «Пепы» (Peps). Я бы советовал читать Pep8 параллельно с изучением синтаксиса. Это соглашение программистов, которые пишут на Пайтоне. Оно рекомендует как правильно писать, а как неправильно.

    Несколько лет назад в Python произошло разделение. Был Python 2.7, а потом вышла версия 3. Вторая версия все еще используется, но только в старых фирмах для поддержания легаси-кода. Если устроиться в такую фирму, то изучать Python 2 придется, но я бы рекомендовал учить третью версию. Все современные проекты и сторонние библиотеки пишутся под нее».

    Как выдержать первые собеседования

    Артем и Данила закончили курсы очень по-разному. Данила после нескольких попыток решил не заканчивать обучение, потому что не нашел взаимопонимания с преподавателем последних курсов, но зато нашел работу. Артем же вместе с сокурсниками уже во время обучения вырастил учебный проект в стартап, который начал приносить реальные деньги.

    «Проект назвался GoLiving. Это что-то вроде AirBnb, только задумка такая: в Америке есть люди, которые часто ездят работать в разные города на непродолжительный период. И они могут между собой меняться жильем с гарантированной страховкой, чтобы точно быть уверенным, что не вернешься в разгромленную квартиру. Сейчас я не знаю, насколько далеко пошел этот ресурс, кажется финансирование приостановили. Но тогда у нас даже были инвесторы».

    Данила во время обучения на курсах полгода сидел без работы. Он уволился специально, чтобы учиться, но из-за частых переводов учеба заняла больше времени, и отложенные на это время деньги подходили к концу. Покинув курсы обучения питон программиста, Данила даже не успел начать изучение Django — самого популярного фреймворка для веб-разработки.

    «Под новый год я написал в компанию, которая просто находилась рядом с моим домом. Зашел к ним на сайт, увидел вакансию бэкенд-разработчика и написал им письмо. Говорю, хотел бы у вас поработать, хоть и учился, но знаю немного. Очень интересуюсь и буду развиваться. И меня позвали на собеседование».

    «Мой опыт в Geekbrains показывает, что некоторые студенты находят работу, до того как они заканчивают годовой курс обучения», говорит Алексей. «Работодатель хочет видеть у серверного разработчика элементарное умение работать с синтаксисом, знание как работают сайты, как устроен бэкенд, тот же самый набирающий популярность Django. Я бы сюда ещё добавил работу в команде и знания баз данных, потому что любой бэкенд любого сайта неразрывно связан с хранением информации. Требования к python разработчику растут с каждым годом.

    Ежемесячно на «Моём круге» открывается порядка 200 вакансий python-разработчиков, вы можете посмотреть самые свежие и подписаться на рассылку о новых вакансиях.

    Во время интервью главное не молчать. Если дают задачу, на которую не получается сходу ответить, то надо просто рассуждать вслух, показывать, как думаешь, и что способен двигаться к решению.

    И главное не отчаиваться, если первое собеседование оказалось неудачным. Сходя на два-три собеседования заметишь, что вопросы начинают повторяться. И тогда уже сам будешь выбирать, куда устроиться, потому что однажды из трех собеседований пройдешь сразу везде».

    Данила на собеседовании больше всего удивило то, что ему не задали ни одного технического вопроса: «Не давали никаких заданий — просто общались о том, как я учился, чем интересуюсь. В итоге предложили работу, и я согласился».

    Алексей же считает, что с такими компаниями стоить быть внимательнее. «Кроме общих вопросов должны быть задачи на написание кода. Даже если на бумаге карандашом — это нормально. Но если ты пришел на собеседование программиста и не получил ни одного вопроса о программировании, то тебя либо собеседовал некомпетентный человек, либо ты будешь заниматься вообще чем-то непрограммистским. Программистов надо проверять на программирование».

    «Я считаю, не спрашивать технические вещи — это правильный подход», говорит Данила. «Очень известный в Python-сообществе Григорий Петров тоже говорит, что скилы по программированию (хард скилы) подтянуть всегда можно. Главное сойтись во взглядах на жизнь, чтобы было комфортно вместе работать. Я с ним согласен.

    Конечно, навыки программирования важны. Но сейчас я работаю с такими вещами, которых на курсах не преподают. Мне их показали уже на работе, и дальше я разбираюсь сам, читаю документацию, статьи, смотрю примеры — требования ко мне, как к python разработчику постоянно растут. Меня больше настораживают компании, которые дают «нормальные» тестовые задания. Ты смотришь и думаешь — а это правда тестовое или я сейчас бесплатный фрилансер?»

    «Собеседование, которое проходил я, расплавило мне мозг еще как», вспоминает Артем. «Когда я вышел, состояние было, как будто иду на автопилоте — так сильно продолжали жужжать мысли».

    Проходило оно так: сидели два эйчара и два технаря. Один питонист и фулстек, который занимался вебом — куда пробовался и я. Второй — судя по вопросам — совершенный надмозг. У него такой был сильный матан, что просто ого-го!

    Сначала пошли житейские вопросы, все эти «как себя видишь, как себя чувствуешь». Потом за меня принялся фулстек, погонял меня по Python, по Django. Он прямо на бумаге накидывал примеры и спрашивал по ним. Не сложные, но с подковырками.

    А потом за меня взялся дядька-надмозг. Полез вглубь матана, спрашивал про алгоритмы, и поскольку компания работает с безопасностью и шифрованием, он меня и по нему тоже погонял. Но в этом я совершенно не силен, поэтому отвечал как пятилетний ребенок. В общем, на шифровании сыпался, в алгоритмах держался, но не очень.

    Честно, даже не ожидал, что мне перезвонят. Тем не менее — получил оффер. Через несколько дней будет первый рабочий день».

    Велика ли зарплата Python программиста

    Люди идут в ИТ не только по зову души. Это индустрия с одними из самых быстро растущих зарплат в России. И иногда кажется, что зарплаты программистов Python по сравнению со среднестатистическими профессиями отличаются как зарплаты в Москве и в регионах. Тем не менее, ни Артем, ни Данила не шли в эту профессию за богатством. Больше того — они его пока так и не нашли.

    «Даже в Москве на начальных позициях программистам предлагают 40-50 тысяч, может даже меньше. В регионах 20 тысяч для джуниора тоже не редкость. Это не такая уж высокооплачиваемая работа, как все утверждают. Да, когда достигаешь уровня синьора, зарплаты python программиста могут переваливать за 200-300 тысяч. Но где таких зарплат нет? Недавно одна такси-компания показала доходы таксистов, которые больше всех заработали. Там 230, 240 тысяч.

    На диаграмме зарплат python-разработчиков с разбивкой по квалификациям видно, что медиана для джуна составляет почти 60 000 рублей, тогда как мидл получает уже в среднем чуть больше 100 000 рублей. Зато разница между показателями медиан для сеньора и лида совсем небольшая — 151 000 рублей и 167 000 рублей соответственно.
    При построении диаграммы были использованы данные зарплатного калькулятора «Моего круга».

    Возможно, в программировании проще дойти до уровня выше среднего, чем во многих других сферах. Но для меня это вообще не было главным. Мне было интересно создавать программы».

    «Зарплаты зависят от региона», говорит Алексей, «Кто-то устроится за 40 тысяч как начинающий, кто-то может и сразу на 100 тысяч. Смотря как себя проявить. Если покажешь, что можешь писать не только код, но и разбираешься в архитектуре, можешь набросать схему проекта целиком, всех модулей, сервисов, связей между ними».

    Артем же вообще ушел в разработку на меньшую зарплату, чем имел будучи инженером. «В электрике у меня была должность главного инженера, и зарплата была очень хорошая. Я ушел, потому что хочу развития. А в программировании можно развиваться до бесконечности».

    Несмотря на то, что в программировании одна из самых четких и понятных градаций по уровню мастерства (джуниор, мидл, синьор) — она все равно остается относительной и постоянно разжигает споры размытостью своих критериев. Споры в духе «ты в компании Х синьор, а в компании Y и джуниором не возьмут» или «пока десять лет не работал — не синьор».

    «До уровня мидла можно прокачаться в течение года обучения. Например, в Geekbrains есть обязательные курсы и дополнительное. Все их надо пройти полностью чтобы честно сказать — я прокачался до уровня мидла. То есть, получается год основной программы и ещё полгода параллельных курсов», — считает Алексей, — «А синьор — это человек, у которого есть богатый опыт. Это тот, кто разбирается в разных фреймворках, способен масштабировать задачи, понимать каких ресурсов они требуют. Человек, который не изобретает велосипеды. Кто на собственном опыте разобрался во всех аспектах и нюансах работы.

    Если человек через три года работы называет себя синьором — почему бы и нет. Все зависит от фирмы, стремления и навыков. Если человек одаренный и целеустремленный, то я в это поверю. Если он скажет, что знает «Питон», а не «Пайтон», то наверное он все-таки прокололся».

    Язык программирования Python. Обучение с нуля: особенности, правила и рекомендации

    Еще пару десятков лет назад программисты казались какими-то шаманами, знающими то, что недоступно другим. Порой люди изучали программирование «на коленке», строча код на бумажке, потому что «концентрация компьютерных устройств на душу населения» была крайне низка. Теперь же с трудом можно найти человека, у которого дома нет стационарного компьютера или ноутбука. Технологии обучения тоже не стоят на месте.

    Немного истории

    Язык программирования Python начал разрабатываться Гвидо ван Россумом в конце восьмидесятых. Гвидо в то время был сотрудником голландского института CWI. Он писал этот язык на досуге, вложив туда некоторые идеи по языку ABC, в работе над которым он участвовал.

    Назван язык был вовсе не в честь пресмыкающегося. На самом деле идеей для названия послужило популярное британское комедийное шоу семидесятых, называвшееся «Летающий цирк Монти Пайтона», хотя Python все равно гораздо чаще сравнивают со змеей, о чем говорит даже эмблема на официальном сайте (на ней изображены две змеиные головы).

    Не только дизайнерская интуиция ван Россума считается причиной того, почему так популярен язык программирования Python. Обучение с нуля становится приятным и легким занятием, если учесть наличие дружного сообщества пользователей.

    Не так давно, в 2008 году, вышла первая, до этого долго тестировавшаяся версия Python 3000 (3.0), где было устранено множество недостатков архитектуры. При этом разработчики постарались сохранить совместимость с предыдущими версиями языка. Несмотря на наличие более свежей версии, обе ветки (2.х и 3.х) поддерживаются.

    Лаконичный язык программирования


    Python имеет ряд преимуществ перед другими языками. Он понятен практически интуитивно, имеет «прозрачный» синтаксис. Это значит, что программный код на этом языке читается гораздо легче, что сокращает время не только на его написание, но и на различные доработки и проверки.

    Конечно, программист «старой школы» скажет, что обязательно нужно знать несколько языков, а можно и вообще начать с изучения машинного кода. Но, пройдя курс программирования на языке Python, человек получит не только конкретные знания, но и возможность реализовать свою творческую натуру, создавая приложения и полезные для себя программы. Возможно, скоро программирование будет необходимо так же, как знание иностранного языка.

    Неуверенность в себе

    Стоит отбросить заблуждение о том, что программирование — это сложно. Нет, программирование гораздо интереснее, чем кажется; помешать могут другие занятия и так называемая «нехватка времени» или лень.

    Базовая литература поможет быстро изучить программирование на языке Python. Учебный курс следует начать с чтения двух книг, из которых можно почерпнуть основы. Первая из них — это «Программирование на Python» Марка Лутца, а вторая — «Программирование на Python 3» Марка Саммерфилда. Книга Лутца подробно, порой даже слишком, описывает все базовые принципы, на которых строится язык. Некоторые советуют читать Марка Лутца не для освоения, а для углубления базовых знаний. Книга Саммерфилда объясняет все более лаконично, автор не пугает читателя никакими сложностями. Есть и другая литература, однако эти учебники наиболее полезны и информативны.

    Вводный курс

    Давайте вспомним начальную школу. Как правило, даже в первый класс ребенок приходит с какими-то минимальными знаниями: с кем-то занимались родители, кто-то ходил в «нулевку». Так же проходит и обучение языку программирования Python. Он действительно удобен и «прозрачен», но без минимальных знаний о базовых принципах действия программ обучение будет идти тяжело. Это как изучать ноты, не слыша музыки. Поэтому тем, кто вообще никогда не сталкивался с программированием, стоит ознакомиться с «вводным минимумом».

    Полезным подспорьем будут лекции CS50. Это курс Гарвардского университета, посвященный программированию на Java Script, однако в первых лекциях доступно и понятно объясняется взаимодействие компьютера и программ в целом. Русскоязычному пользователю доступны видеозаписи этого курса с переводом, дополнительными материалами, текстовыми вариантами лекций и практическими заданиями. Видео можно найти практически где угодно, например, на YouTube, а вот все материалы целиком — на сайте Java Script.

    В интернете

    Язык программирования Python набирает популярность, поэтому уже давно существует несколько порталов, на которых множество материалов для самообучения. Например, «Python 3 для начинающих». На этом сайте много материалов для новичков, его можно использовать как шпаргалку. Также большой объем информации по данной теме с бесплатным доступом на сайте Codecademy.

    Немаловажным является общение на форумах. Обучение в одиночку всегда дается тяжелее, поэтому не пренебрегайте различными сообществами.

    Платные курсы

    Всегда можно воспользоваться и платными курсами, но стоит это порой немалых денег, а результат может быть неудовлетворительным. Поэтому, конечно, желательно выбирать курсы, которые предлагают бесплатное ознакомительное задание. Например, интенсив по теме «Основы программирования на языке Python» есть на GeekBrains. Занятие бесплатное, проводится каждые десять дней. Чтобы записаться, необходимо авторизоваться на сайте.

    Совет: какие бы курсы вы ни выбрали, сначала ознакомьтесь с азами языка, чтобы не тратить время на то, что вы легко можете усвоить сами. Достаточно будет прочитать указанные выше книги.

    Конечно, когда теория освоена, хочется попрактиковаться. Здесь нужно упомянуть лекции Ника Парланте. Они на английском, хотя в целом очень много хорошей обучающей литературы именно на английском, и этому не стоит удивляться. В лекциях Ник не только преподает язык программирования Python, но и дает отличные практические задачи.

    Использование

    Язык программирования Python был использован для создания множества приложений, которыми многие люди пользуются ежедневно. Например, это шестая версия торрент-клиента BitTorrent. Также «Питон» («Пайтон») используется в растровом графическом редакторе Gimp. С помощью него создаются дополнительные модули, фильтры, к примеру. На этом языке написана значительная часть игры Civilization IV и Batterfield 2.

    «Питон» используют такие компании, как «Гугл», «Фейсбук», «Инстаграм», «Дропбокс», «Пинтерест». Он также работает в ядре приложения «Яндекс-диск». Около 10% сотрудников компании пишут именно на «Питоне», а многие программисты называют его своим любимым языком.

    Как начать работу

    Никакой код не может работать «в воздухе», этому правилу подчиняется и язык программирования Python. Обучение с нуля хотя и начинается с теории, но на деле, можно сказать, оно начинается с установки на персональный компьютер рабочей среды. Как это сделать? Все просто: нужно перейти по ссылке официального сайта Python, скачать и запустить установщик, после чего внимательно выполнять предложенные им действия.

    Обратите внимание, что необходимо скачивать файл, подходящий под установленную на компьютере операционную систему!

    Если установка прошла успешно, откройте консоль (как правило, это можно сделать сочетанием клавиш «ctrl+alt+T»). Теперь можете написать свою первую программу. Например, введите «python3». Если консоль вывела «приветствие», где указана версия программы (например, 3.4.0), то все в порядке, если нет, то нужно установить третью версию «Питона» командой: «sudo apt-get install python3».
    Однако это не обязательно. Можно писать код в любом удобном текстовом редакторе, после чего запускать через консоль, а можно пользоваться средой разработки IDLE, идущей в комплекте с дистрибутивом.

    Запустите IDLE. Чтобы создать крошечную программу, достаточно написать всего одну строку кода.

    Введите этот код в окно IDLE и нажмите «Ввод». Среда мгновенно отзовется действием — выведет на экране требуемый текст. Первая программа готова.

    10 способов научиться программировать самостоятельно

    Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.

    10. Выясните, почему вы хотите программировать

    Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.

    9. Выберите правильный язык

    Не существует лучшего языка программирования, и как только вы выучите один, вам будет нетрудно освоить и второй. Так что не стоит зацикливаться на выборе первого языка. Тем не менее, считается, что некоторые языки даются новичкам легче, чем другие.

    Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.

    8. Начните с малого… и будьте терпеливы

    Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.

    7. Попробуйте приложения для детей

    Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).

    6. Воспользуйтесь бесплатными онлайн-тренингами

    Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.

    5. Пройдите онлайн-курс

    Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.

    4. Бесплатные книги по программированию

    Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.

    3. Изучайте, играя

    Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.

    2. Найдите наставника или станьте им

    Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.

    1. Разберите чужой код

    Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.

    Программирование Python и машинное обучение

    В школьных программах в качестве учебных языков программирования до сих пор преподают классические BASIC и Паскаль. Они, хотя и помогают понять именно принципы написания программ, профессиональными программистами уже не используются. Современные технологии не стоят на месте, и поэтому на сегодняшний день имеются более продвинутые и актуальные языки программирования, которые легко осваиваются и подойдут для начинающих. Хотите, чтобы ваш ребенок научился писать код на одном из самых популярных и востребованных в мире языков и использовал его для решения реальных проблем? Добро пожаловать на наш курс «Программирование Python и машинное обучение» для детей!

    Особенности и преимущества Python

    Язык Python начал разрабатываться нидерландским программистом Гвидо ван Россумом в конце восьмидесятых. Гвидо в то время был сотрудником голландского института CWI, одного из ведущих европейских научно-исследовательских институтов в области математики и теоретической информатики. Он писал этот язык на досуге, вложив туда некоторые идеи по учебному языку ABC, в работе над которым также участвовал. Завершилась разработка в 1991-м. После выхода в интернет первой официальной версии целая группа программистов присоединилась к его доработке и улучшению. На данный момент Python является мощным, выразительным языком программирования, который легко изучать и просто использовать.

    В сети Интернет имеется много уроков и самоучителей по Python. Однако полноценного успеха можно добиться при изучении под руководством опытного преподавателя-практика. Помимо освоения самого языка, на занятиях ребята научатся применять его практически в машинном обучении. Школьникам мы рекомендуем начать изучать питон с 12 лет. Он прекрасно подойдет для начинающих делать первые шаги в программировании, т.к. обладает следующими преимуществами:

    · Одним из основных достоинств Python является удобочитаемый синтаксис. Разработчики на Python ценят красоту и ясность кода, что нашло отражение в их философии под названием «Дзен Питона». «Читаемость имеет значение», «Простое лучше, чем сложное» – вот некоторые положения этой философии.

    · Python содержит самые современные механизмы многократного использования программного кода. На нем можно писать несложные и эффективные программы, не тратя на это много времени.

    · Меньший объем вводимого кода значительно повышает скорость разработки.

    · Дизайн Питона многими специалистами признается одним из лучших.

    · Интерактивная оболочка позволяет вводить программы и сразу же получать результат.

    · В Python есть вспомогательные инструменты, заметно ускоряющие обучение. Например, модуль turtle, который имитирует «черепашью графику» и модуль tkinter для работы с графической библиотекой.

    · В составе Python имеется большая библиотека модулей, которая предоставляет массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Питон допускает расширение, как за счет собственных библиотек, так и за счет библиотек, созданных другими разработчиками.

    Python используют такие гиганты, как Google, Intel, IBM. На нем работают популярные площадки YouTube и «ВКонтакте». Ученые NASA пользуются им для шифрования и анализа данных, а специалисты из самых разных областей применяют его для масштабных исследований. Python -язык программирования, который будет востребован еще очень долго!

    Все большую популярность он набирает еще и потому, что тесно связан с машинным обучением и созданием интеллектуальных компьютерных программ. Python значительно упрощает работу с кодом. Теперь компьютеры можно не программировать как раньше, а настраивать таким образом, чтобы они обучались сами. Машинное обучение является одним из главных IT-трендов современности и постепенно проникает во все сферы жизни — умный поиск от Google и Yandex, нейронные сети, умные фильтры спама, искусственный интеллект в играх и многое другое.

    На занятиях нашего курса по изучению Питон для школьников, ребята:

    · Изучат синтаксис и получат базовые навыки работы с Python;

    · Научатся устанавливать и настраивать среду разработки, применять базовые конструкции Python, создавать модули и пакеты;

    · Узнают о разных способах анализа данных;

    · Познакомятся с принципами машинного обучения;

    · Обучат несколько собственных компьютерных моделей.

    Программирование на Python дает не только хорошую базу, но и станет отличным стартом для изучения других языков. Знание этого языка поможет вашему ребенку освоить перспективную и высокооплачиваемую профессию программиста. Приходите, и мы вместе постигнем «дзен программирования»!

    Программирование на языке Python. Учебный курс (2020)
    Авторы: Роберт Седжвик, Кевин Уэйн, Роберт Дондеро
    Скачать книгу на русском — здесь.

    Скрапинг веб-сайтов с помощью Python (2020)
    Автор: Райан Митчелл
    Скачать книгу на английском — здесь.

    Разработка веб-приложений с использованием Flask на языке Python (2020)
    Автор: Мигель Гринберг
    Скачать книгу на английском — здесь.

    Intermediate Python (2020)
    Автор: М. Халид
    Скачать книгу на русском — здесь.

    Как мы понимаем, что учащийся освоил программу?

    Во время обучения мы оцениваем как практическую сторону вопроса (как это сделать?), так и понимание темы (почему и зачем).

    Ученики демонстрируют свои знания, решая задачи своим собственным способом, объясняя алгоритмы своими словами, помогая одногруппникам исправлять ошибки и создавая презентации по своим законченным проектам.

    6000 рублей в месяц за 4 занятия

    Продолжительность курса: 3 месяца

    по субботам или воскресеньям, 1 раз в неделю

    Кол-во человек в группе:

    Данный курс доступен для персонального обучения онлайн.

    По данному курсу возможно персональное обучение в формате онлайн через Skype из любого города России.

    Мастер Йода рекомендует:  123 задачи с IT-собеседований с разбором решений
    Добавить комментарий