Согласно githut.info – статистике самого известного сервиса для хранения исходного кода приложений GitHub, JavaScript – это язык, на котором написан код в самом большом числе репозиториев – свыше 300 000. Вместе с классическими языками C и Java он уже несколько лет входит в десятку самых популярных языков по версии рейтинга TIOBE. Как указывается на stackoverflow.com, уже восьмой год подряд JavaScript сохраняет свое прочное положение как наиболее часто используемый язык программирования (67%). Своей популярностью JavaScript обязан не только простоте и выразительности, обеспечивающим низкий порог вхождения и возможность быстро начать решать реальные профессиональные задачи, но также универсальности и незаменимости – это единственный официальный язык браузера. На нём создаются пользовательские интерфейсы, обрабатываются события и реализуются визуальные эффекты. Также это единственный язык программирования в мире, который можно без специальных преобразований использовать для написания кода и на стороне клиента, и на стороне сервера, чтобы получить полноценное изоморфное приложение. Все это обосновывает актуальность программы повышения квалификации, которая направлена на совершенствование профессиональной компетенции «Способен ставить и решать прикладные задачи по созданию и совершенствованию программного кода с использованием специализированных программных средств на примере инструментов экосистемы JavaScript». Для успешного освоения программы обучающимся необходимо владеть базовыми компетенциями цифровой грамотности, в том числе навыками владения ПК на уровне среднего или продвинутого пользователя; компетенции в области алгоритмизации (знание основных алгоритмических структур, умения выражать их на псевдокоде и в виде блок-схем) и основ программирования. В процессе обучения по программе обучающимся рекомендуется прослушать все видеолекции и видеоролики по практическим занятиям, выполнить по каждой теме практические задания с автоматизированной проверкой, проработать самостоятельно учебную литературу и информационные ресурсы и выполнить задания для самостоятельной работы, после этого необходимо выполнить тесты по каждой теме и для успешного завершения обучения выполнить итоговый тест (70% верных ответов). Обучающийся в результате освоения программы: будут знать синтаксис языка программирования JavaScript и особенности программирования на JavaScript, особенности выбранной среды программирования, стандартные библиотеки языка программирования JavaScript, технологии программирования на языке JavaScript, место JavaScript среди современных интерпретируемых языков и сценарных языков программирования; будут уметь применять JavaScript для написания программного кода, использовать выбранную среду программирования (редактор кода) для создания сценариев, использовать возможности имеющейся программной архитектуры веб-приложения; будут владеть навыками создания программного кода на JavaScript в соответствии с спецификациями; методами совершенствования программного кода с использованием специализированных программных средств на примере линтеров JavaScript; способами определения и манипулирования данными на JavaScript и JSON; навыками размещения программного кода в страницах, созданных при верстке информационных ресурсов (в клиентской части веб-ресурса). В процессе освоения программы обучающиеся научатся создавать модули и слушатели событий, узнают отличия коллбэка от замыкания и статической типизации от динамической, получат опыт транспиляции кода, содержащего новейшие характеристики языка, научатся самостоятельно компилировать проект на TypeScript. В качестве бонуса в курсе предлагается развёртывание простого серверного веб-приложения на JavaScript. Результаты обучения по программе будут востребованы при решении следующих профессиональных задач: создание программного кода в соответствии с спецификациями и его совершенствование с использованием специализированных программных средств на примере линтеров JavaScript; написание программного кода на языках JavaScript и JSON, определение и манипулирование данными; размещение программного кода в клиентской части веб-ресурса.
Формирование профессиональных компетенций, необходимых для решения прикладных задач по созданию и совершенствованию программного кода с использованием специализированных программных средств на примере инструментов экосистемы JavaScript
Образование: среднее профессиональное, высшее
Квалификация: уровень квалификации не ниже 4
Наличие опыта профессиональной деятельности: опыт разработки программного обеспечения, электронных образовательных ресурсов и информационных систем
Предварительное освоение иных дисциплин/курсов /модулей: Основы алгоритмизации, Введение в JavaScript
Образование: среднее профессиональное, высшее
Квалификация: уровень квалификации не ниже 4
Наличие опыта профессиональной деятельности: опыт разработки программного обеспечения, электронных образовательных ресурсов и информационных систем
Предварительное освоение иных дисциплин/курсов /модулей: Основы алгоритмизации, Введение в JavaScript
свернуть
Тема 1. Эволюция JavaScript (4 час.)
История JavaScript. Современная экосистема JavaScript. Организация рабочего места для выполнения сценариев на JavaScript. Инструменты, среды и методологии программирования на JavaScript
Тема 3.1. Переменные и области видимости (2 час.)
Понятие переменной, объявления, присваивания и переприсваивания. Область видимости и подъём. Блоки и изоляция
Тема 3.2. Примитивные и объектные типы данных (2 час.)
Примитивные и ссылочные типы данных. Явное и неявное преобразование типов, undefined и null, логические значения
Тема 3.3. TypeScript и статическая типизация (3час.)
Статическая и динамическая типизация в программировании. Аннотации типов. TypeScript. Flow
Тема 5.1. Ветвление (3 час.)
Линейная организация кода. Ветвление
Тема 5.2. Циклы (2час.)
Циклы в императивном и функциональном стиле
Тема 7.1. Массивы и множества (3 час.)
Массивы в сравнении со строками. Методы массивов. Цепочки методов
Тема 7.2. Литеральные объекты. Свойства и методы (5 час.)
Ключи и значения. Формат JSON. Иммутабельность, нумерабельность, итерабельность. Контекст this
Тема 7.3. Прототипы и конструкторы (3 час.)
Понятия прототипа, класса и конструктора. Цепочка прототипов. Мутация прототипов
Тема 9.1. Клиентские фреймворки: особенности (2 час)
Веб-фрейморк, типы. Компоненты в современном фронтэнде.
Тема 9.2. Примеры клиентских фреймворков (5 час.)
Создание приложений на React в браузере. Создание приложений на Vue в браузере
Тема 2.1. Синтаксис и основные понятия JavaScript (6 час.)
Низкоуровневый синтаксис – лексическая структура, кодировки. Выражения и инструкции. Структура программы
Тема 2.2. Управление пакетами и зависимостями (3 час.)
Подключение зависимостей в браузере и вне браузера. Менеджмент зависимостей и подключение библиотек.
Девелоперские зависимости. Система npm и программа yarn
Тема 4.1. Функции как структурный элемент сценария (3 час.)
Понятие функции, обычные и стрелочные функции. IIFE. Сигнатура функции и аргументы. Контекст this
Тема 4.2.Функции как тип данных (4 час.)
Сущности первого класса. Лямбды и коллбэки. Синхронные и асинхронные коллбэки
Тема 6.1. Строки и бинарные данные (4 час.)
Строки и кодировки. Методы строк (класса String). Цепочки методов
Тема 6.2. Регулярные выражения (3 час.)
Использование регулярных выражений в вебе. Валидация полей формы. Поиск и замена
Тема 8.1. Модули и транспиляция. DOM (6 час.)
Модули в современном ECMAScript. Транспиляция между версиями ECMAScript. Сборка кода для браузера. DOM
Тема 10.1. Внебраузерный JavaScript (4 час.)
Фронтэнд и бэкэнд на JavaScript. Моноязыковая платформа разработка. Примеры работы с файловой системой
Тема 10.2. Прототипирование серверного приложения (4 час.)
Создание простейшего веб-сервера с помощью модуля http
Итоговая аттестация (1 час.)
Итоговое тестирование
Тема 1. Эволюция JavaScript (4 час.)
История JavaScript. Современная экосистема JavaScript. Организация рабочего места для выполнения сценариев на JavaScript. Инструменты, среды и методологии программирования на JavaScript
Тема 2.1. Синтаксис и основные понятия JavaScript (6 час.)
Низкоуровневый синтаксис – лексическая структура, кодировки. Выражения и инструкции. Структура программы
Тема 2.2. Управление пакетами и зависимостями (3 час.)
Подключение зависимостей в браузере и вне браузера. Менеджмент зависимостей и подключение библиотек.
Девелоперские зависимости. Система npm и программа yarn
Тема 3.1. Переменные и области видимости (2 час.)
Понятие переменной, объявления, присваивания и переприсваивания. Область видимости и подъём. Блоки и изоляция
Тема 3.2. Примитивные и объектные типы данных (2 час.)
Примитивные и ссылочные типы данных. Явное и неявное преобразование типов, undefined и null, логические значения
Тема 3.3. TypeScript и статическая типизация (3час.)
Статическая и динамическая типизация в программировании. Аннотации типов. TypeScript. Flow
Тема 4.1. Функции как структурный элемент сценария (3 час.)
Понятие функции, обычные и стрелочные функции. IIFE. Сигнатура функции и аргументы. Контекст this
Тема 4.2.Функции как тип данных (4 час.)
Сущности первого класса. Лямбды и коллбэки. Синхронные и асинхронные коллбэки
Тема 5.1. Ветвление (3 час.)
Линейная организация кода. Ветвление
Тема 5.2. Циклы (2час.)
Циклы в императивном и функциональном стиле
Тема 6.1. Строки и бинарные данные (4 час.)
Строки и кодировки. Методы строк (класса String). Цепочки методов
Тема 6.2. Регулярные выражения (3 час.)
Использование регулярных выражений в вебе. Валидация полей формы. Поиск и замена
Тема 7.1. Массивы и множества (3 час.)
Массивы в сравнении со строками. Методы массивов. Цепочки методов
Тема 7.2. Литеральные объекты. Свойства и методы (5 час.)
Ключи и значения. Формат JSON. Иммутабельность, нумерабельность, итерабельность. Контекст this
Тема 7.3. Прототипы и конструкторы (3 час.)
Понятия прототипа, класса и конструктора. Цепочка прототипов. Мутация прототипов
Тема 8.1. Модули и транспиляция. DOM (6 час.)
Модули в современном ECMAScript. Транспиляция между версиями ECMAScript. Сборка кода для браузера. DOM
Тема 9.1. Клиентские фреймворки: особенности (2 час)
Веб-фрейморк, типы. Компоненты в современном фронтэнде.
Тема 9.2. Примеры клиентских фреймворков (5 час.)
Создание приложений на React в браузере. Создание приложений на Vue в браузере
Тема 10.1. Внебраузерный JavaScript (4 час.)
Фронтэнд и бэкэнд на JavaScript. Моноязыковая платформа разработка. Примеры работы с файловой системой
Тема 10.2. Прототипирование серверного приложения (4 час.)
Создание простейшего веб-сервера с помощью модуля http
Итоговая аттестация (1 час.)
Итоговое тестирование
Государев
Илья Борисович
АНО ДПО "СофтЛайн Эдюкейшн"