Знакомство с языком JavaScript
В первом блоке студент будет введен в основы стандартного языка JavaScript, включая типы данных, управляющие конструкции и функции.
Вы научитесь:
- Работать с консолью разработчика, включая инструменты Elements, Console и Network
- Познакомитесь со стандартами и возможностями языка JavaScript в версиях ES5 и ES6
- Изучите различные типы данных в JavaScript
- Работать с переменными
- Изучите основные условные конструкции в JavaScript
- Работать с параметрами функций
Методический план модуля:
В ходе данного модуля студенты изучат инструменты Elements, Console и Network, которые позволяют проводить различные операции и отладку веб-страниц. Они узнают, как использовать консоль для вывода сообщений, выполнения JavaScript-кода и проверки ошибок. Кроме того, студенты познакомятся с возможностями инструмента Elements, который помогает визуально изучать и редактировать HTML и CSS код страницы. Инструмент Network предоставит им информацию о загрузке ресурсов и сетевых запросах. В результате модуля студенты будут уверенно работать с консолью разработчика и использовать указанные инструменты для эффективной разработки и отладки веб-приложений.
Итог модуля:
Студент будет обладать фундаментальными навыками в программировании на JavaScript, позволяющими разрабатывать веб-приложения, работать с данными, реализовывать условную логику, использовать циклы и функции для эффективного написания кода.
Алгоритмизация
Во втором модуле студент познакомится с основными структурами данных и алгоритмами поиска и сортировки.
Вы научитесь:
- Изучите основные структур данных
- Изучите алгоритмы
- Работать со структурами данных
- Работать с регулярными выражениями
Методический план модуля:
В данном модуле студент изучит алгоритм быстрой сортировки, который является одним из самых эффективных алгоритмов сортировки. Студент узнает, как этот алгоритм работает и как его реализовать на языке JavaScript. Он познакомится с понятием разделяй и властвуй, которое лежит в основе алгоритма быстрой сортировки. Студент также изучит различные стратегии выбора опорного элемента и их влияние на эффективность алгоритма. В результате модуля студент получит практические навыки реализации и применения алгоритма быстрой сортировки в своих проектах на языке JavaScript.
Итог модуля:
Студент после изучения данных тем получит навыки работы с различными структурами данных, алгоритмами поиска и сортировки, а также умение определять сложность алгоритма. Знание этих концепций позволит студенту эффективно решать задачи в программировании и разработке, выбирать наиболее подходящие структуры данных и алгоритмы для решения конкретных задач, а также анализировать и оптимизировать код.
ООП и TypeScript
В третьем модуле студент будет ознакомлен с платформой TypeScript, которая является расширением языка JavaScript с добавлением строгой типизации и дополнительными возможностями. TypeScript предоставляет программисту большую контроль и безопасность в разработке приложений, поскольку типы данных явно определены и проверяются на этапе компиляции. Это позволяет выявлять ошибки на ранних этапах разработки и облегчает сопровождение кода. TypeScript также включает в себя набор дополнительных функций, таких как интерфейсы, перечисления и модули, которые улучшают организацию и структуру проекта. Изучение TypeScript дает студенту возможность работать с более надежным и мощным инструментом для разработки веб-приложений на основе JavaScript.
Вы научитесь:
- Познакомитесь со средой разработки TypeScript и его основными принципами
- Изучите понятия классов, полей и методов
- Изучите понятия полиморфизма и его применение
- Познакомитесь с перегрузкой операторов для разных типов данных.
Методический план модуля:
В данном модуле студент изучит понятие полиморфизма и его применение в языке JavaScript. Полиморфизм относится к способности объектов различных классов использовать общий интерфейс для выполнения разных действий. Студент поймет, как полиморфизм способствует гибкости и расширяемости кода. В ходе модуля студент изучит различные аспекты полиморфизма, включая полиморфизм параметров и возвращаемых значений функций, а также полиморфизм объектов и наследование. Он узнает, как создавать и использовать полиморфные функции и классы, а также как переопределять методы и использовать их в различных контекстах. После завершения этого модуля студент будет иметь глубокое понимание полиморфизма и сможет применять его в своих проектах на языке JavaScript. Это позволит ему создавать более гибкий и модульный код, который легко поддерживать и расширять в будущем.
Итог модуля:
Студент после изучения данных тем получит навыки работы с платформой TypeScript и понимание основ ООП. Он будет уметь создавать классы, определять поля и методы, а также применять наследование, инкапсуляцию и абстракцию. Эти знания позволят студенту разрабатывать более структурированный и поддерживаемый код, а также эффективно использовать преимущества TypeScript для разработки приложений.
Реализация серверной части
В четвёртом модуле студент познакомится с основами разработки backend на языке JavaScript с использованием Node.js. Этот блок будет посвящен введению в Node.js и его возможностям.
Вы научитесь:
- Работать с глобальными переменными и объектами в Node.js
- Работать с различными событиями и передачей параметров в обработчики событий
- Работать с потоками данных
- Понимание работы событийного цикла в Node.js и асинхронных операций
- Освоение техник одновременного выполнения разных участков кода
- Понимание основ тестирования программ и принципов TDD (Test-Driven Development)
- Использование библиотеки Mocha для написания и выполнения тестов
Методический план модуля:
После прохождения этого модуля студент будет уверенно работать с глобальными переменными и объектами в Node.js, что позволит ему более эффективно управлять данными и выполнять различные задачи в своих приложениях.
Итог модуля:
После изучения этого модуля студент получит фундаментальные знания о backend-разработке на языке JavaScript с использованием Node.js. Он научится управлять зависимостями с помощью NPM, создавать серверы, работать с событиями и глобальными объектами. Также студент освоит потоки данных, научится асинхронному программированию и пониманию событийного цикла. Наконец, он овладеет основами тестирования программ с использованием Mocha. Эти знания позволят студенту создавать эффективные и надежные backend-приложения на Node.js.
Реализация диалоговых приложений
В пятом модуле студент будет создавать чат-бота с использованием Node.js, что отличается от стандартных заданий, связанных с работой в браузере.
Вы научитесь:
- Регистрации и получение токена от BotFather
- Получать и обрабатывать различные события
- Создавать кнопки и клавиатуры
- Создавать ботов
Методический план модуля:
В результате модуля студенты получат понимание того, как работают события в Telegram и каким образом их можно получить через API. Они смогут использовать эти знания для разработки приложений и ботов, которые эффективно взаимодействуют с пользователем в Telegram, обрабатывая и отвечая на различные события.
Итог модуля:
После завершения этого модуля студент получит практические навыки работы с чат-ботами в Telegram, включая получение событий, обработку изображений, создание кнопок и клавиатур, а также создание квиз-бота. Эти навыки позволят студенту создавать собственные чат-боты и взаимодействовать с пользователями через платформу Telegram.
Стек MERN
В шестом модуле студент познакомится со стеком MERN, который включает в себя несколько библиотек для JavaScript. MERN представляет собой установленный набор инструментов для FullStack разработчика.
Вы научитесь:
- Синтаксис JSX
- Разбивать веб-приложение на компоненты
- Создавать собственные методы и вызывать их при возникновении определенных событий
- Познакомитесь с библиотекой MongoDB
- Создавать маршруты для навигации по страницам
- Получать данные из форм
- Отображать данные на странице
- Взаимодействовать с базой данных с помощью Node.js
Методический план модуля:
В данном модуле студент познакомится с концепцией получения событий и выполнения методов в React.js. Он узнает, как обрабатывать различные события, возникающие в компонентах React, и как связывать эти события с выполнением определенных методов. Студент научится создавать пользовательские методы и вызывать их при возникновении событий, таких как клики, изменения состояния и ввод данных. Это позволит студенту создавать интерактивные и отзывчивые компоненты, которые реагируют на действия пользователя и выполняют соответствующие операции.
Итог модуля:
После прохождения этого блока студент приобретет навыки работы с React.js и JSX, освоит обработку событий, методы и компоненты React, а также научится взаимодействовать с базой данных MongoDB с использованием Node.js и фреймворка Express. Завершение приложения позволит студенту применить полученные знания на практике и создать полноценное веб-приложение.
Библиотека Koa
В седьмом блоке студент познакомится с библиотекой Koa, которая используется для разработки Backend части веб-сайтов. Koa является альтернативой Express, который был рассмотрен в предыдущем блоке. Кoa предлагает другой подход к созданию серверных приложений и предоставляет удобные инструменты для обработки запросов, маршрутизации и реализации промежуточных обработчиков.
Вы научитесь:
- Обрабатывать данные, отправленные из форм на сервер, используя методы GET и POST
- Работать с заголовками запросов и получать информации из них
- Узнают механизмы хранения данных на сервере, таких как сессии и куки
- Различать особенности использования сессий
Методический план модуля:
Студент будет обладать навыками получения данных из форм на сервере и работы с заголовками запросов. Эти навыки позволят ему эффективно обрабатывать и использовать данные, отправляемые пользователем через формы, а также управлять и контролировать запросы, получаемые сервером.
Итог модуля:
В результате этого модуля студент овладеет навыками маршрутизации, обработки данных из форм, работы с сессиями и куки, а также реализации простого веб-сайта с возможностью отправки электронных писем. Эти знания позволят ему разрабатывать более сложные и функциональные веб-приложения.