Весенние скидки до 30 000 ₽
На все профессии до 31 марта
Внимание! Этот курс находится в разделе «Песочница». Курсы в этом разделе сделаны пользователями Хекслета и всегда бесплатны. Администрация Хекслета не несет ответственности за эти курсы
Бесплатный курс

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

43226 студентов 7525 сообщений
Последнее обновление: 21 апреля 2022
Курс Основы программирования
Бесплатный курс
Зарегистрироваться
  • Бессрочный доступ к теории
  • Асинхронный формат
    обучения

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

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

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

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

Описание

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

Программа курса

Продолжительность 10 часов
  • 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

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


Аватар пользователя Andrey
Andrey 01 июня 2022

Здравствуйте! Спасибо за вашу работу! Очень понятно объясняете сложные вещи.


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

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



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

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

Рекомендуемые программы

профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 28 марта
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 28 марта
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 28 марта
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 28 марта
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 28 марта
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 28 марта
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 28 марта
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время