О КУРСЕ «АЛХИМИЯ ПРОГРАММИСТА»

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

Проще говоря, курс «Алхимия программиста» адресован любому, кто хочет научиться программировать. Курс построен таким образом, чтобы человек, вообще ничего не знающий о программировании – так сказать, «чистый лист» – мог самостоятельно освоить эту непростую, но очень интересную дисциплину. Курс преследует цель таким образом выстроить обучение, чтобы в конце обучающийся начал мыслить как профессиональный программист. Это значит, что обучение построено с прицелом на создание профессиональных коммерческих программ, а не только простеньких задачек из школьного курса. Хотя, начинается все, как сказано, с нуля.

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

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

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

Какие предварительные знания требуются для того, чтобы приступить к изучению программирования в рамках курса «Алхимия программиста»? Ответ: никаких. И это самое чудесное в курсе «Алхимия программиста». Единственные навыки, которые потребуются начинающему – уметь работать с компьютером. Уметь включить компьютер, запустить любую программу. Также потребуются некоторые математические знания. Ученик должен владеть основными алгебраическими операциями. Вот и все. Никаких других специальных знаний не требуется. А теми, про которые сказано выше, владеет сегодня любой подросток 12-14 лет, не говоря уже про людей более старшего возраста.

Чем же, в таком случае, курс «Алхимия программиста» отличается от той же дисциплины «Информатика», которую изучают в средних школах и в рамках которой даются начальные сведения о программировании? А тем, что на Информатике в школе дети не учатся разрабатывать полноценные программы, как того требует профессиональное программирование. Научиться написать короткий код, скажем, для сложения нескольких чисел, чтобы получить хорошую оценку в школе – это не программирование.

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

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

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

Однако есть некоторые базовые теоретические знания, без которых обойтись немыслимо. И эта базовая теория программирования включена в электронный учебник «Алхимия программиста» Дмитрия Румянцева. Учебник «Алхимия программиста» представляет из себя не маленькую методичку, а полноценный учебник по программированию, написанный на основе более раннего учебника Дмитрия Румянцева «Путь программиста», который позволил огромному числу людей сделать первый шаг в увлекательный (и достаточно прибыльный) мир профессионального программирования. В новом учебнике – «Алхимия программиста» – Дмитрий Румянцев учел предыдущий опыт и избавился от некоторых слишком затянутых теоретических фрагментов. Но даже в таком, более компактном виде, учебник имеет объем 270 страниц. А вариант учебника с дополнительными главами о языке программирования Java – 365 страниц.

Вторая составляющая курса «Алхимия программиста» – практическая, видеоуроки. Полная версия курса включает в себя 17 тем. Некоторые большие темы разбиты на отдельные уроки (всего в курсе содержится 30 таких уроков) для удобства восприятия. Каждая тема представляет из себя подробное объяснение разработки какой-то программы с самого начала до завершающей стадии. Большое внимание уделяется возможным «подводным камням» в виде ошибок и тому, как находить и исправлять эти ошибки. Дикторский текст автора достаточно динамичен. Чтобы учащийся следил за теми фрагментами, о которых говорит автор, эти фрагменты подсвечиваются на экране специальными маркерами (вроде лазерной указки). Таким образом, ученику гораздо проще следить за объяснениями.

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

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

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

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

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

Таким образом, чтобы от ничего не знающего о программировании новичка (уровень «чистый лист») дойти до профессионала начального уровня (т.н. «джуниор»), необходимо изучить все три составляющие курса: (1) теорию в виде электронного учебника «Алхимия программиста», (2) практику в виде двух элементов: видеоуроков и (3) проделать самостоятельную работу по разбору листингов программ.

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

Видеоуроки, разумеется, посмотрит каждый учащийся. Тем более, что они сделаны по возможности увлекательно, ибо «говорящая» голова, монотонно рассказывающая о том, что происходит на экране (а порой ещё эта «говорящая голова» для чего-то присутствует на экране в небольшом окошке), через полчаса может вызывать у ученика желание заснуть. Видеуроки содержат и шутки, и небольшие – но важные – отступления и короткие теоретические пояснения. Когда такие теоретические пояснения даются по ходу урока, как правило в правом нижнем углу экрана появляется изображение алхимика со знаменитой гравюры Питера Брейгеля старшего. Эта гравюра является постоянной заставкой всех видеоуроков, зримо иллюстрируя символичность названия всего курса. А сам алхимик, таким образом, является как бы воплощением ментора (наставника), ведущего ученика через горы и долы программирования к конечной цели – Знанию и Умению.

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

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