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

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

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

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

Введение

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

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

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

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

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

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

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

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

50 комментариев

  1. Денис

    круто,хочу научиться

  2. Taras

    Успехов тебе в этом нелегком деле. Будут вопросы, обращайся.

  3. p-alex

    Программа, которая строит блок-схемы по текстам на языке Паскаль.
    http://programmir.far.ru/basic.htm#blokshem

  4. stas

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

  5. Виталий

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

  6. михал

    реально очень хочу научмиться программированию надеюсь ваш сайт мне поможет в этом

  7. Леонид

    Я тоже очень хочу научиться! Очень надеюсь на ваш сайт.

  8. Д

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

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

  9. Taras

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

  10. Дима

    Тяжело!Но буду стараться

  11. Дмитрий

    Ну, что же, ..попробую теперь здесь.

  12. Anton

    Привет всем. Вы уже умеете или хотите научиться программировать под андроид? У меня к Вам есть предложение. Я собираю комманду разработчиков под Андроид. Каждый желающий может к нам присоедениться. Работать будем вначале на бесплатной основе. Первые проекты будут бесплатные приложения. В далнейшем предусматривается разработка коммерческого ПО, с которого будут отчисления всем участникам проекта. Учебные материалы, тестовые проекты и примеры будут выкладываться у нас на сайте в личном кабинете. Присоединяйся к нам! Ждем Ваших заявок на почту: itxmaster@gmail.com

  13. олег

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

  14. Taras

    Нормальный путь будет выглядеть как-то так:

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

    2) Поступил в ВУЗ на специальность с хорошей программистской составляющей (может быть, прямо на программирование, а может, просто на физ.-мат.).

    3) Первые пару лет, пока преподавали основы, не волынил, занимался сверх программы.

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

    5) Проходит еще 3 года, и ты уже специалист и можешь рассчитывать на приличную зарплату.

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

  15. олег

    мне 17 с другом за неделю создали на visual basike калькулятор препод помогал скажите с чего начать?

  16. Светлана

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

  17. teamofprogrammers

    Полезный сайт, огромное Вам спасибо

  18. проф

    круто

  19. Ксения

    Здравствуйте! С недавнего времени начала увлекаться программированием. Очень надеюсь, что ваш курс поможет мне разобраться с азами. Спасибо за возможность, остается только дело за мной!

  20. Вячеслав

    Весьма доходчиво объясняете)

  21. Taras

    Спасибо. Стараюсь ))

  22. Аноним

    сколько читаю, вникаю, пробую, ну никак((

  23. Сергей

    Есть возможность скачать этот материал целиком (.chm, . doc) например ? Из всего, что видел, здесь более разжёвано и понятно, но «вчера» Вы преподаватель, «сегодня» в инофирме, «завтра» за рубеж дёрнете (возможно), в моё время не было даже информатики, поэтому мне всё абсолютно с нуля надо, да и инет не всегда работает.

  24. Сергей

    Вери гуд, т.е. Большое спасибо, я думал «поумирало» всё.
    Вот заковыка — советуют все по разному с какого языка начать. То что я хотел бы изменить — на Пайтоне, но «сухие» методы преподавания этого, у Вас уже Паскаль, я впёр и то и это, но вот опасение одно — как бы не повредиться став самодовольным-себеумным, по типу Линуксоидов (сталкивался с ними). Главное = Вы ещё решимы подсказать что нибудь, кому это понадобится, или в проццессе работы(и после неё) не до этого?

  25. Taras

    Вполне «решим» )
    Если что непонятно, спрашивайте.

  26. ,fnsh

    rhenjq ext,ybr

  27. Taras

    >> rhenjq ext,ybr

    Спасибо на добром слове!

  28. enyjar

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

  29. Руслан

    Ну так сайт ниче))) полезно. Спасибо за интересные статьи.

  30. Владимир

    Спасибо большое за сайт!!!

  31. Аноним

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

  32. Taras

    В обозримом будущем вряд ли. Времени на что-то подобное у меня не предвидится.

  33. Erop

    Круто

  34. kal

    Тут тоже есть учебники неплохие с примерами задач http://programm.ws

  35. Елена

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

  36. назар

    а мне ток 10 лет и я хочу стать програмистом но у миня нет компа ток планшет я хочу создать какую нибуть програму. поможите?

  37. Юрий

    Это устаревший курс

  38. Роман

    Добрый день! Я совершенно начинающий пользователь и хочу разобраться в программировании.Было бы крайне полезен совет с чего мне начать. Составление основ программы я понял, но не понял что мне нужно подтянуть по алгебре и геометрии( из прошлого), чтобы понять откуда берутся те или иные символы в программе. Сам принцип вложенных цифр и символов. Это ведь всё не берётся из воздуха. Подскажите только начало(суть), а дальше я пойму. Я проф.повар и например: борщ нужно варить с водой, мясом и т.д. Но то, что нужно включить плиту, понятно всем. Я прошу подсказать мне где розетка и на какую кнопку нажать, чтобы появился огонь, а дальше я сам настрою. Спасибо за помощь. Очень жду.

  39. Хумоюн

    2016

  40. UMEDJON RAHIMOV

    Привет всем! Меня завуть Umed мне 15 лет. Я хочу научиться программированию. Ищу для себя наставника. Хочу посоветоваться с программистами! Пожалуйста напишите по этому адресу umedjon.rahimov.2001@mail.ru!

  41. 5147

    я хочу научится програмирывать

  42. Александр

    Здравствуйте!Вопросов нет и быть не может. Ахинея невероятная. Оптимизма уже нет…

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