Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

Программирование для начинающих

Следующий раздел:

Введение

Данное пособие представляет собой начальный курс программирования для студентов 1-го курса Кафедры ДМиБМИ Факультета нано- и биомедицинских технологий СГУ. Основным отличием от большинства других книг для начинающих является упор не на язык программирования (изложением которого многие такие книжки и ограничиваются), а на выделение различных алгоритмических приемов.

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

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

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

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

Хотим предупредить, что данное состояние совершенно естественно, и не следует думать, что дело в вашей неспособности или в недостатках данного пособия (мол, вам чего-то не рассказали). Будьте уверены, с вами все нормально и все, что надо, вы знаете. Дело в том, что искусство составлять решение задачи из того небольшого набора доступных в языке команд, требует особого мыслительного навыка – алгоритмического мышления, которым большинство людей изначально не обладают. Причем это именно навык, а не какой-то набор знаний, которым можно передать словами. Единственный путь к его обретению – решение задач.

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

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

52 комментария

Добавить комментарий