Основные возможности платформы Hexlet не доступны в вашем браузере.
Пожалуйста, обновитесь. Выбрать браузер.
курс

Основы программирования
free

Знакомство с миром программирования и популярнейшим языком JavaScript. Этот курс рассчитан на новичков без опыта в программировании. На протяжении десятков уроков вы познакомитесь с фундаментальными понятиями и концепциями программирования, научитесь писать простые программы, понимать ошибки, которые возникают при запуске и выполнении кода, получите опыт работы с модулями в JavaScript и получите необходимую базу для движения к следующим курсам учебной программы «Профессия JavaScript-программист».

ВНИМАНИЕ! Это устаревший курс. Обновленный курс "Введение в программирование" на примере JavaScript ES6.

1.

Введение

теория (видео 10:24)

Познакомиться с курсом и программой обучения. Изучить не только содержание курса, но и понять мотивацию при изучении: зачем мы будем изучать те или иные аспекты программирования в целом и языка JavaScript в частности, почему эти аспекты важны.

2.

Первая программа

теория (видео 03:26) / тесты

Познакомиться со средой для написания простых программ, написать и запустить свою первую программу на языке JavaScript. Привыкнуть к процессу и поэкспериментировать с программным кодом.

3.

Идеальная программа

теория (видео 09:05) / тесты

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

4.

Онлайн-среда Хекслета

теория (видео 07:48) / тесты

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

5.

Арифметика

теория (видео 05:58) / тесты / упражнение

Рассмотреть арифметические операции в языке программирования. Научиться использовать их для выполнения простых математических вычислений в своих программах и выяснить некоторые важные детали, касающиеся приоритета выполнения операций.

6.

Числа

теория (видео 10:04) / тесты

Рассмотреть неочевидности и сложности, связанные с работой с числами в языке программирования JavaScript. Узнать ответ на вопрос «что происходит при делении на ноль?» и «что будет, если работать с бесконечностью?». Изучить причины, по которым числа в компьютерах представлены тем или иным образом.

7.

Структура

теория (видео 08:57) / тесты

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

8.

Константы

теория (видео 07:26) / тесты / упражнение

Изучить понятие константы и научиться использовать константы для повышения модульности в программах. Рассмотреть пример использования константы для упрощения процесса вычисления и понять как работает константа в языке программирования JavaScript.

9.

Функции

теория (видео 12:53) / тесты / упражнение

Изучить главный «строительный блок» программирования — функции. Рассмотреть пример, где уместно написание и использование функции. Познакомиться с понятием «абстракции» с помощью функций. Понять структуру функции, как она создается и используется в коде, и что такое возврат функции и аргументы.

10.

Выражения

теория (видео 09:02) / тесты / упражнение

Познакомиться с понятием «выражение», которое уже использовалось в ранних уроках. Понять очень важную концепцию вычисления в значение и использовать это понимание для чтения и написания кода. Изучить отличие выражений от инструкций, что позволит понимать происходящее в коде.

11.

Модули

теория (видео 06:51) / тесты / упражнение

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

12.

Математика

теория (видео 05:03) / тесты / упражнение

Рассмотреть несколько стандартных констант и функций, помогающих выполнять математические операции вроде возведения в степень или округления чисел.

13.

Булева алгебра

теория (видео 10:29) / тесты / упражнение

Рассмотреть случай, когда кроме простых арифметических конструкций есть необходимость оперировать чем-то, что может быть «правдой» или «неправдой», научиться строить условия в программе.

14.

Условие с if

теория (видео 06:29) / тесты / упражнение

Использовать понимание булевой алгебры для знакомства с конструкцией if, которая позволяет выполнять разный код в зависимости от того, является ли выражение истинным или ложным. Научиться записывать код с условиями в полной и краткой форме.

15.

Ошибки и отладка

теория (видео 13:24) / тесты / упражнение

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

16.

Автоматические тесты и модульное тестирование

теория (видео 11:47) / тесты / упражнение

Понять, каким образом можно справляться с логическими ошибками в коде, используя автоматическое тестирование собственного кода. Познакомиться с одним из видов такого тестирования — модульным тестированием, и написать свои первые тесты.

17.

Рекурсивный процесс

теория (видео 10:08) / тесты / упражнение

Рассмотреть необходимость повторного выполнения кода, и написать программу для вычисления факториала числа, следуя простой математической рекуррентной формуле.

18.

Итеративный процесс

теория (видео 10:31) / тесты / упражнение

Рассмотреть понятие итеративного процесса, а также понять, что такое «состояние программы», и почему это понятие может быть важным в контексте программирования.

19.

Цикл while и переменные

теория (видео 17:35) / тесты / упражнение

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

20.

Отладочная печать

теория (видео 05:07) / тесты / упражнение

Научиться решать проблемы с неработающим кодом, используя метод отладки под названием «отладочная печать». Рассмотреть типичные проблемы с кодом, понять, как их обнаружить, проверить и исправить.

21.

Мутаторы

теория (видео 04:53) / тесты / упражнение

Познакомиться со специальными конструкциями, упрощающими изменение переменных в языке JavaScript.

22.

Цикл for

теория (видео 04:10) / тесты / упражнение

Изучить альтернативу конструкции while — цикл for.

23.

Строки и работа со строками

теория (видео 18:11) / тесты / упражнение

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

24.

Значение null

теория (видео 05:43) / тесты

Узнать о специальном типе и значении null и его семантическом смысле. Понять отличие null от undefined.

25.

Switch

теория (видео 04:15) / тесты / упражнение

Рассмотреть частный случай условия if и специальную конструкцию switch, позволяющую проще и удобнее работать с подобными условиями.

26.

Окружение

теория (видео 14:50) / тесты / упражнение

Изучить очень важную тему, актуальную для программирования на любом языке — окружение.

27.

Функции и побочные эффекты

теория (видео 10:32) / тесты / упражнение

Рассмотреть некоторые свойства функций, о которых важно задумываться при построении программы и ее анализе. Узнать о детерминированности функции, побочных эффектах и чистых функциях.

28.

Типы данных

теория (видео 15:17) / тесты / упражнение

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

29.

Что дальше?

теория (текст)

Узнать о том, что будет изучаться дальше, в какой последовательности и почему

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки.

Статистика
16399
учащихся
4709
вопросов
и ответов
29
часов
Учитель