Бесплатный курс

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

31855 студентов 7196 сообщений
Последнее обновление: 04 августа 2021
Курс Основы программирования
Бесплатный курс
Зарегистрироваться
  • Тренажер с практикой
  • Пожизненный доступ к теории
  • Асинхронный формат обучения

Включено в курс

29 уроков (видео и/или текст)
13 упражнений в тренажере
135 проверочных тестов
Помощь в «Обсуждениях»

Чему вы научитесь

  • Использовать основные языковые конструкции (условия, циклы, функции и другие)
  • Разделять код на модули для повторного использования и отсутствия конфликта имён
  • Понимать ключевые концепции, такие как чистота и детерминированность, для написания хорошего кода

Описание

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

Уроки курса

Продолжительность 23 часа
  • 1

    Введение

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

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

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

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

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

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

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

    Арифметика

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

    Числа

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

    Структура

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

    Константы

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

    Функции

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

    Выражения

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

    Модули

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

    Математика

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

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

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

    Условие с if

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

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

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

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

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

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

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

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

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

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

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

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

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

    Мутаторы

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

    Цикл for

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

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

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

    Значение null

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

    Switch

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

    Окружение

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

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

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

    Типы данных

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

    Что дальше?

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

    Дополнительные материалы

    Помогают глубже и всесторонне рассмотреть тему курса в открытых статьях и видео подобранных командой Хекслета

Формат обучения

Впечатления

Аватар пользователя Александр Волобуев
Александр Волобуев 20 января 2017

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


Аватар пользователя Вика Пыльнова
Вика Пыльнова 19 июня 2018

спасибо за массу крутых доп материалов!!!



Аватар пользователя Руслан Сухарев
Руслан Сухарев 24 апреля 2018

Понравилось решение учителя)


Аватар пользователя Ирина Русских
Ирина Русских 28 марта 2017

Отлично! Нравится форма изложения, приятный голос. С удовольствием иду дальше..