https://habrahabr.ru/company/1c_club/blog/235229/

> -- Цитата:
> 1 сентября 2014 в 19:34Желтый велосипед с красными колесами или еще один курс алгоритмов от фирмы «1С»Блог компании 1С: Клуб программистовСоздание велосипеда – дело неблагодарное… Однако у фирмы «1С» в этом плане есть огромный успешный опыт. Еще одна программа финансового учета, ставшая фактически стандартным ПО российской бухгалтерии, еще один язык программирования, который сейчас используют сорок процентов российских программистов…Вот и еще один учебный курс.Зачем?В ИТ-отрасли — бурный рост. А на фоне демографической ямы это значит — приближается страшный кадровый голод.Студентов не хватает, становится популярным брать на работу ребят сразу после школы. Вот только знаний у школьников по программированию маловато.Фирма «1С» поставила перед собой задачу — в каждый двор по парашютной вышке программерскому клубу для школьников. Судя по информации на club.1c.ru, в 133 городах такие клубы уже есть. Для этих клубов 1С и разрабатывает линейку IT-шных курсов. Среди них есть не только специфические, корпоративные, по обучению школьников языку 1С, но и курсы по «обычному» прикладному программированию, и даже по системному администрированию. В этом деле 1С является фактически первопроходцем.Но зачем еще один курс по обучению школьников алгоритмическому программированию, когда существует великое множество пособий, и хорошо разработаны подходы, то есть собственно системы обучения?Прежде всего, видимо, это старая программистская традиция: зачем использовать готовое, когда можно написать самому. Тем более, что все системы имеют свои недостатки и в своем «продукте» их можно преодолеть.Сразу скажем, что, несмотря на многочисленные отличия от «классики», этот курс остается «классическим»: изучаемые темы, техническая организация проверки решений при помощи автоматической системы, деление занятий на теорию и практику, все это очень похоже на другие курсы по алгоритмам. И, несмотря на то, что говорить мы будем преимущественно об отличиях курса 1С от других, у них есть много общего.Что, прежде всего, хочется от нового курса, чего особенно не хватает в уже существующих разработкам?Быстрый самостоятельный стартПрежде всего, это, пожалуй, возможность автономной работы с самого начала. Курс не задумывался как самоучитель, но на практике необходимо, чтобы ребенок и при обучении алгоритмическому программированию, мог двигаться в некоторых случаях самостоятельно. В этом плане возникают серьезные проблемы у начинающих. Даже взрослому трудно осознать и привыкнуть к тому, что надо писать программы, полностью лишенные пользовательского интерфейса, точно соблюдать формат входных и выходных данных и тому подобное.На первом занятии идет подробный рассказ о том, чем отличается алгоритмическое (олимпиадное) программирование от проектного. Подробно описывается взаимодействие с проверяющей системой и приводится пример работающей программы. Сейчас, после двукратного тестирования стало ясно, что даже такая степень подробности недостаточна для большинства детей. Мы постараемся дополнить курс очень простой, наглядной вводной частью, с которой начнем преподавание курса в Летней школе в этом году.НаглядностьДругая существенная проблема – отсутствие наглядности. После знакомства с программированием графического интерфейса достаточно сложно убедить школьников в необходимости использования бумаги и карандаша для разработки алгоритмов. В любом случае при изучении алгоритмического программирования основная работа происходит «в уме».Некоторые приемы повышения наглядности все же есть. (Не будем здесь говорить о визуализаторах алгоритмов – это замечательное подспорье для достаточно долго изучающих алгоритмы, но не для новичков, которые испытывают серьезные трудности именно с кодированием.)Очень желательно познакомить изучающих алгоритмы с отладчиком. Отладчик, встроенный в Eclipse, прост и нагляден. Второе занятие первого модуля курса предлагается посвятить именно работе с отладчиком и на следующих занятиях постоянно его использовать, перекладывая большую часть работы на компьютер.

> -- Цитата:
> Особо следует сказать о языке, который используется в курсе. Существует мнение, что преподавание алгоритмов можно вести на любом языке программирования. Это верно, но с небольшой оговоркой. Некоторые языки более пригодны для реализации алгоритмов, другие менее. Ведь в задачах по программированию важно не только придумать, но и безошибочно закодировать решение.Сейчас в этом плане безусловно лидирует Python – в нем много встроенных в синтаксис интересных механизмов для разработки алгоритмов и большая функциональная библиотека.О целесообразности использования языка Java для решения олимпиадных задач можно спорить, но в любом случае Java имеет также как и Python большую библиотеку классов, которые можно использовать для кодирования алгоритмов. Это и библиотека коллекций – встроенных структур данных — и богатые функциональные возможности, например, по работе со строками.До прихода Python-а в олимпиадное программирование, несмотря на то, что даже минимальная программа на Java содержит около десяти строк кода и предполагает знакомство с объектно-ориентированным подходом, многие серьезные олимпиадники предпочитали именно язык Java.Практически все курсы 1С для школьников построены на базе этого языка. Изучая его применение в курсах и алгоритмического и прикладного программирования, они получают универсальный инструмент для решения любых програмистстких задач.