`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

В программисты я б пошел, пусть меня научат...

+1111
голосов

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

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

Когда стоит учиться?

Многие родители благодарны современной компьютерной технике хотя бы за то, что она позволяет хоть на некоторое время отвлечь чадо от них самих. Тем не менее, приучать ребенка с пеленок к тому, что компьютер предназначен исключительно для игр и развлечений — наверное, не самая хорошая идея. Вдруг в нем скрыт новый Билл Гейтс или Марк Цукерберг? Разумеется, выявить любые способности лучше в как можно более раннем возрасте, и программирование — не исключение. Если ребенок, наигравшись в компьютерные игры, вдруг начинает интересоваться тем, как они устроены изнутри, или даже говорит о том, что у него самого есть идея для игры, то родителям не стоит упускать возможность попытаться раскрыть талант, если таковой имеется, разумеется. Поддержка родителей особенно важна и в отношении того, как ребенок будет относиться к использованию техники, будет ли он только потреблять или у него возникнет потребность создавать. О каком-то конкретном возрасте, подходящем для старта, говорить сложно, приведем только ссылку на заметку BBC от 28-го апреля сего года о шестилетнем индийском мальчике, претендующем на место в Книге рекордов Гиннеса в качестве самого юного программиста.

Microsoft Kodu Game Lab

Начать обзор стоит, пожалуй, с Microsoft Kodu Game Lab, известного в прошлом как Microsoft Boku. Это предназначенный для школьников, начиная с младших классов, визуальный язык программирования и соответствующая среда разработки, ориентированные на создание игр. Проект существует для ПК и Xbox 360, доступен для загрузки с сайта kodugamelab.com, для установки на ПК потребуется .NET Framework 3.5 и XNA Framework 3.1. Интерфейс переведен на несколько языков, присутствует среди них и русский. Визуальная составляющая — сильная сторона Kodu: созданные с помощью этой среды игры называются «мирами» и представляют собой трехмерные карты, наполненные объектами и персонажами, для которых разработчиком программно задается поведение. Кстати, обучение работе в Kodu можно пройти, запуская специально для этого созданные миры в разделе «Уроки», доступном из пункта главного меню «Загрузить».

В программисты я б пошел, пусть меня научат...

Программа в Kodu собирается в таком конструкторе

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

Создаваемые в Kodu игры могут быть достаточно сложными и потенциальную проблему ограниченной производительности разработчики решили достаточно оригинальным образом: во время игры на экране отображается термометр, показывающий, насколько сильно игра использует системные ресурсы, повышение «температуры» — признак перегрузки, а при достижении определенного критического значения появляется рекомендация уменьшить число используемых объектов. Учитывая целевую аудиторию проекта, за подобное решение непростой проблемы его создателям следует выразить отдельную благодарность.

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

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

Alice

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

Напомним, что Alice — созданная в университете Карнеги Меллона (CMU, cmu.edu) кросс-платформенная среда программирования, ориентированная на школьников и студентов младших курсов и получившая достаточно широкое распространение в учебных заведениях США. В настоящее время существуют три основных варианта проекта: рассмотренная ранее вторая версия, находящаяся в статусе предварительной третья и отдельное ответвление, носящее название Storytelling Alice, разработанное в рамках диссертационной работы Кэйтлин Келлехер (Caitlin Kelleher), профессора CMU. Последний из названных вариантов Alice по идейной концепции максимально близок к Kodu (создание миров в визуальном стиле, по возможности без написания кода) и вылился в отдельный проект, носящий название Looking Glass, о котором пока известно мало. В то же время третья версия Alice доступна всем желающим на сайте Alice.org, откуда также можно загрузить и большое число различных объектов, необходимых для создания проектов.

В программисты я б пошел, пусть меня научат...

Среда разработки Alice 3 повторяет предыдущую версию и идейно схожа с традиционными IDE

Alice 3 поддерживает Windows (XP, Vista, 7), Mac OS X и Linux и требует для своего исполнения Java. Среда разработки переведена на более чем два десятка языков, среди которых есть и русский, и украинский. Подобно Kodu, Alice ориентирована на создание компьютерных игр, но потребность в написании кода здесь намного выше, сама среда разработки Alice в значительной степени напоминает традиционные IDE. Поддерживаются два языка программирования: Alice и Java. Основное отличие новой версии от предыдущей состоит в смещении фокуса на Java, теперь рекомендуется изучать именно этот язык, что в конечном итоге существенно облегчает переход на промышленные средства разработки. Примечательно, что на сайте alice.org доступен подключаемый модуль для IDE NetBeans, позволяющий импортировать проекты Alice в эту популярную среду разработки. Следующее немаловажное нововведение Alice 3 состоит в том, что, благодаря поддержке компании Electronic Arts, доступные для проектов объекты и персонажи взяты из чрезвычайно популярной компьютерной игры The Sims 2.

В программисты я б пошел, пусть меня научат...

Возможности по созданию персонажей на основе героев из The Sims 2 в Alice 3 особенно привлекательны

В отличие от Kodu, Alice 3 требует больше усилий на освоение, к тому же для создания игр здесь потребуется больше труда, зато возможности языка программирования и сама среда разработки приближены к реальным, соответственно, полученный опыт будет гораздо полезнее при переходе на промышленные IDE, а приобретенные базовые знания Java в любом случае окажутся существенным бонусом.

Codeacademy.com

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

В программисты я б пошел, пусть меня научат...

Треки в Codeacademy в основном посвящены веб-разработке

Начать работать с Codeacademy очень просто — достаточно открыть сайт, войти с учетной записью Google, Twitter или Facebook (разумеется, можно зарегистрироваться и «обычным» способом), выбрать интересующий трек и приступить к упражнениям. Упражнения хорошо структурированы, на выполнение каждого, вместе с изучением небольшой теоретической части и ознакомлением с заданием, требуется несколько минут. Задание выполняется в текстовом редакторе в правой верхней части страницы, а проверка результата выводится в консольном окне под ним. Выполнение заданий сопровождается начислением бонусных очков, за достижение определенных вех пользователь получает виртуальные награды, о которых он сразу же может сообщить в социальных сетях. Такая социальная составляющая обеспечила вирусный рост популярности сервиса, одновременно с этим она является неплохим мотивационным стимулом выполнять новые задания и достигать новых высот.

В программисты я б пошел, пусть меня научат...

Типичное упражнение в Codeacademy: задание пошагово представлено слева, решение вводится в правой верхней части, результат отображается ниже

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

Udacity.com и Coursera.org

Мы решили объединить два проекта, поскольку они имеют близкие корни, начали свою работу почти одновременно и идейно во многом схожи, хотя каждый из них имеет свою изюминку. Также как и Codeacademy, Udacity и Coursera представляют собой онлайновые обучающие сервисы, но их отличает подход создателей, которые намерены не просто разрешить частную проблему обучения программированию, но кардинально трансформировать подход к образованию в целом. Udacity декларирует себя как «Университет XXI века», а Coursera, ни много, ни мало, обещает предоставить «лучшее в мире образование, свободно доступное любому человеку, желающему его получить». Примечательно, что основателями обоих проектов являются профессора Стэндфордского университета — для Udacity это Себастьян Трун (Sebastian Thrun), по совместительству вице-президент Google, а для Coursera это Эндрю Энжи (Andrew Ng) и Дафн Коллер (Daphne Koller).

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

В программисты я б пошел, пусть меня научат...

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

Впрочем, создатели Coursera сумели выделиться на фоне не только Udacity, но и многих других онлайновых обучающих сервисов, поскольку только их проект полностью диктует режим обучения, подобно тому, как это делается в традиционных университетах: есть график курсов, сроки записи на них и выполнения заданий, требования по успеваемости для продолжения обучения. Такие, казалось бы, неудобные ограничения, обычно не присущие онлайновым сервисам, на практике оказались важным преимуществом Coursera: как выяснилось, многие учащиеся готовы выполнять задания и уделять должное время обучению только в том случае, если испытывают определенный прессинг — если же давление ослабевает, то обучаемый расслабляется, его показатели успеваемости ухудшаются и в итоге он обучение забрасывает совсем. С другой стороны, в Udacity подобного ограничения нет, записаться на курс и пройти его можно в любое удобное время, равно как и выбрать наиболее подходящий для себя темп обучения, что может быть гораздо важнее для людей с высокой внутренней мотивацией.

В программисты я б пошел, пусть меня научат...

Coursera в наибольшей степени напоминает традиционный университет, перенесенный в Сеть

Что касается политики формирования учебных материалов, то в этом плане сервисы значительно отличаются: в то время как Udacity, стартовавший даже несколько ранее, может предложить на текущий момент всего 11 курсов, в основном ориентированных на разработку ПО, то в активе Coursera 116 курсов по самым различным направлениям — от программирования до медицины. Впрочем, если говорить не о количестве, а о качестве, то здесь выигрывает Udacity: несмотря на то, что в обоих проектах для разработки материалов задействованы признанные ученые и преподаватели из лучших университетов мира, планка качества в Udacity поднята особенно высоко, что при прочих равных оказывается решающим фактором для учащихся.

Intuit.ru

Рассматривая западные проекты, было бы несправедливо обойти вниманием российский сервис ИНТУИТ, предоставляющий бесплатные учебные курсы по ИТ в течение уже почти десятилетия (первый курс был запущен в январе 2003 г.). Как описывают себя сами создатели проекта, акроним «ИНТУИТ» расшифровывается как «интернет-университет информационных технологий» и этот проект является первым среди подобных, который получил лицензию на образовательную деятельность в России, что позволяет ему не только проводить обучение, но и подтверждать его документами государственного образца. Общее число курсов, предлагаемых им в настоящее время, превышает пять сотен, большинство из них разработаны в сотрудничестве с ведущими российскими вузами. Несмотря на то, что ИНТУИТ предоставляет отдельные услуги на платной основе, пройти большинство курсов можно бесплатно, а доступность материалов на русском языке является особым преимуществом для желающих учиться из стран СНГ.

В программисты я б пошел, пусть меня научат...

Сайт ИНТУИТ не блещет дизайном, зато предоставляет доступ к беспрецедентному числу курсов на русском языке

Заключение

Разумеется, в рамках одной статьи сложно охватить весь спектр всевозможных проектов и сервисов, предназначенных для решения такой важной задачи как обучение программированию. Достаточно просмотреть страницу Википедии, посвященную образовательным языкам программирования, чтобы убедиться в том, что над этой задачей трудились многие ученые и специалисты с собственным видением предметов и методов обучения. Тем не менее, автор, на правах человека, обладающего определенным опытом работы в данной сфере, считает своим долгом дать простой совет: любое обучение лишь тогда будет иметь смысл, когда оно проводится целенаправленно и систематически; не стоит теряться в богатстве выбора, достаточно выбрать любой приглянувшийся проект или язык, но взяться за его освоение со всей ответственностью — и результат не заставит себя долго ждать.

+1111
голосов

Напечатать Отправить другу

Читайте также

А якась така річ, щоб її команди наочно виконувалися є? Більше як алгоритмічна іграшка, ніж суто кодерська.

Відразу в голову приходить "черепашка Лого". Ось, знайшов непоганий варіант.
Качаємо звідти GameLOGO, розпаковуємо, запускаємо, в налаштуваннях задаємо затримку, після чого пишемо код, натискаємо "Виконати" і бачимо як черепашка рухається, виконуючи команди.

Дякую!

Я обычно рекомендую (для начала) эту страничку

http://www.oracle.com/technetwork/topics/newtojava/young-developers-jsp-...

Но больше (для обучения будущих специалистов) нравиться другое

http://libre.adacore.com/academia/mindstorms/

Успехов.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT