Это 3-я статья из цикла "подготовка к обучению".
Итак, курс обучения выбран, назад пути нет, позади неуверенность и рефлексия, впереди гранит знаний и куча шишек. Чему я очень рад.
Но перед официальным стартом необходимо пройти курс молодого бойца, который включает в себя интерактивный курс по основам программирования. Начинается он с бодрого приветственного видео,
где молодой парень предлагает каждому желающему попробовать окунуться в мир программирования посредством языка JavaScript, написав несколько простых программ и, как будто этого мало, даже написать свою веб-страницу. И это всего лишь за пять уроков!
Что ж, попробуем свои силы, разомнём извилины.
В вводном видео автор объясняет, как будет проходить данное обучение. Оригинальной особенностью, на мой взгляд, является то, что после каждого урока мало того, что необходимо сделать ДЗ и сдать его на проверку, так и то, что проверять вас будут такие же студенты данного курса! Как, впрочем, и вы - их работы тоже. Можете себе представить такую систему в школе? Я вот тоже нет, но эта система рабочая и лишний раз побуждает к анализу, ибо:
Первый урок начинается с того, что вам предлагают пройти небольшой тест на предрасположенность к программированию. Как известно, научить кодить можно и обезьяну, но вряд ли он будет получать от этого удовольствие, для человека же это важно - любить то, чем ты занимаешься. Ведь программирование - это и про творчество в том числе.
В дальнейшем философия заканчивается и начинается само обучение, где объясняются принципы построения алгоритмов, в кратце описывается работа компьютера, пишется хрестоматийная фраза привет мир галактика и открываются новые грани JS арифметики (2+2=4? Ща! 2+2=22. Как тебе такое, Илон Маск?). Программировать рекомендуется в бесплатной специализированной программке Sublime Text. Опробовал - отличная прога.
Второй урок про циклы и ветвления. Циклы - пока (будний день) {ходим на работу с 8 утра до 6 вечера}, ветвление - если (выходной), {то не ходим}, иначе {ходим}. Также немало внимания уделено таким интересным символьным конструкциям как != , && , || - так называемым операторам сравнения. Звонит будильник, мыслим следующим образом: если сейчас утро && день будний и этот (день != праздничный || отпуск), то пора вставать и !спешить !наслаждаться работой.
ДЗ - написать 2 миниигры: угадайку на двоих игроков, где нужно за энное количество попыток угадать число от 0 до 100; и загадки с окошком ввода для ответа.
Третий урок раскрывает понятие массивов, вводит такое понятие как функция и объясняется, для чего она нужна. Стоит отметить, что если предыдущие уроки вызывали трудности, но разумные, то этот на неподготовленный разум вываливает такой объём информации, что котелок начинает свистеть. По-хорошему его надо пересматривать несколько раз максимально вдумчиво, пока не станет понятна логика происходящего, особенно застопорить может т.н. рекурсивная функция.
Но эти трудности необходимы, чтобы двигаться дальше.
ДЗ - написать тренажер для слепой печати. Всего-то.
И почти в самом конце зрителя знакомят с фронтендом, а именно с HTML, CSS и даже по касательной с Php. Объясняются принципы работы с удалённым сервером и этапы создания своей веб-странички. В ней подытоживается весь итог многодневной работы и размещается собственноручно написанные программы.
Завершает курс обзорная лекция по основным языкам программирования и сфере их применения, которую условно можно поделить на десктоп-разработку (программы для операционных систем), фронтенд (сайты), бэкэнд (серверы) и мобильную разработку. Тест же позволит понять, какие темы были закреплены хорошо, а какие стоило бы повторить.
В целом от данного вводного курса у меня один позитив: он разнообразный в плане задач, информативный, доступный (насколько это вообще возможно на базовом уровне) и заставляет закреплять материал на практике. Могу смело его рекомендовать всем, кто только планирует начинать обучение программированию или хотя бы хочет понять - подходит ли ему этот путь или нет.
В следующей статье я уделю внимание программам, с которыми предстоит работать в будущем.
PS. Это не рекламный пост, здесь описана логика выбора платформы обучения, которой я сам руководствовался. Уверен, можно найти вариант и дешевле, и примерно сопоставимый по обширности даваемых знаний.