Pull to refresh
0
Zero to Hero
IT-обучение: от новичка до супер-звезды

«Программирование для начинающих» + теория вероятностей

Reading time 2 min
Views 13K
Интересное дело: любой видео-курс по программированию, от PHP до Java, включает в себя главу для начинающих — чаще всего в ней рассказывается об азах структурного программирования: переменных, ветвлениях и циклах.

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

Видео-анонс курса:


В одном из первых видео объясняется, зачем вообще учиться программировать: вокруг всего так много только благодаря массовому производству, конвееру и автоматизации. Поэтому если мы не рабы, чтобы повторять тупую и нудную работу, то нужно учиться программировать — про это ещё Лейбниц сказал в XVII веке, только другими словами.

Курс сделан под язык JavaScript (как равноправного члена языков Си-семейства), и основы работы с ним студенты получают прямо в консоли браузера — удобно, ибо не надо ничего устанавливать.

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

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

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

Немножко скриншотов из курса


Переменные мы решили объяснять на яблоках. "У вас есть 2 яблока. Некто взял у вас одно яблоко...", — говорит девочка с голубыми волосами. Эту простую задачу мы и взяли для того, чтобы проиллюстрировать факт, что у переменной есть постоянное имя и изменяемое значение. Переменные из повседневной жизни: курс доллара, цена барреля нефти, моя зарплата, сегодняшнее число, и т.д.

Условия тоже интуитивно понятны. «Красный — стой, зелёный — иди» — светофор как пример логики ветвления.

Рисунок 1 — условие

Вот циклы могут быть понятны не всем. Хоть это и операция, требующая повторения тех же действий, но опыта программирования циклов у студентов нет. Поэтому подробно рассматриваются идеи счёта итераций и того, что случится, если цикл гонять бесконечно.

Рисунок 2 — цикл

Итог программы визуально выглядит вот так (заодно и разобрались, что такое Unicodе-символы, и использовали их на практике):

Рисунок 3 — программа генерации стратегии в «Камень-ножницы-бумага»

Надеюсь, мы не зря старались, и курс вам понравится! Эмм, уже говорил, что он бесплатный?..

P.S. Подписывайтесь на наши обновления — скоро будет анонс ещё нескольких интересностей, посерьёзнее.
Tags:
Hubs:
+10
Comments 2
Comments Comments 2

Articles

Information

Website
zero2hero.org
Registered
Founded
Employees
1 employee (me only)