Знакомство с миром программирования и популярнейшим языком JavaScript. Этот курс рассчитан на новичков без опыта в программировании. На протяжении десятков уроков вы познакомитесь с фундаментальными понятиями и концепциями программирования, научитесь писать простые программы, понимать ошибки, которые возникают при запуске и выполнении кода, получите опыт работы с модулями в JavaScript и получите необходимую базу для движения к следующим курсам учебной программы «Профессия JavaScript-программист».
1. Введение
Цель: Познакомиться с курсом и программой обучения. Изучить не только содержание курса, но и понять мотивацию при изучении: зачем мы будем изучать те или иные аспекты программирования в целом и языка JavaScript в частности, почему эти аспекты важны.
2. Идеальная программа
Цель: Посмотреть на гипотетическую идеальную программу чтобы лучше понимать к чему стремиться при написании кода. Познакомиться с важными понятиями декларативного и императивного описания кода и взглянуть на языки программирования через призму такой классификации. Ответить на вопрос «для кого пишется код?»
3. Первая программа
Цель: Познакомиться со средой для написания простых программ, написать и запустить свою первую программу на языке JavaScript. Привыкнуть к процессу и поэкспериментировать с программным кодом.
4. Арифметика
Цель: Рассмотреть арифметические операции в языке программирования. Научиться использовать их для выполнения простых математических вычислений в своих программах и выяснить некоторые важные детали, касающиеся приоритета выполнения операций.
5. Числа
Цель: Рассмотреть неочевидности и сложности, связанные с работой с числами в языке программирования JavaScript. Узнать ответ на вопрос «что происходит при делении на ноль?» и «что будет, если работать с бесконечностью?». Изучить причины, по которым числа в компьютерах представлены тем или иным образом.
6. Структура
Цель: Познакомиться со строительными блоками — инструкциями в языке JavaScript и рассмотреть структуру программ. Понять, чем по сути является любая программа (на любом языке), и каким образом происходит последовательное выполнение каждой строчки кода.
7. Онлайн-среда Хекслета
Цель: Познакомиться с онлайн-средой для выполнения практических упражнений на Хекслете. Научиться правильно читать задания, отправлять ваши решения на автоматическую проверку и читать сообщения об ошибках.
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. Понять отличие динамической типизации от статической, и изучить плюсы и минусы, которые возникают при использовании того или иного подхода, а главное — понять проблемы, которые помогает решить система типов.
программирование, разработка программного обеспечения, javascript
Comments