Является дисциплиной по выбору. Курс знакомит студентов с основными подходами, технологиями, протоколами взаимодействия, используемыми в веб-программировании. Программа состоит из 2-х частей: первая посвящена языку программирования JavaScript и программированию с использованием этого языка, вторая рассматривает основные прикладные аспекты программирования для веб и используемые современные технологии.
Цель освоения дисциплины
Формирование у студентов практических навыков разработки клиентских web, mobile, desktop приложений на единой кодовой базе и серверных приложений для взаимодействия с ними.
Планируемые результаты обучения
Выбирать необходимый для эффективного решения тип данных
Выделять общие части кода с помощью указанных методов
Выделять общую часть программ используя прототипное наследование
Использовать асинхронные интерфейсы и структуры данных разных платформ (NodeJs, Браузер)
Использовать базовый синтаксис для решения прикладных задач
Использовать встроенные функции языка для управления и трансформации типов
Использовать динамический контекст и определять его текущее значение
Использовать инкапсуляцию для сокрытия части реализации
Использовать подходы Объектно-ориентированно программирования для предотвращения возникновения проблем при масштабировании программ
Использовать подходы функционального программирования для асинхронных программ
Использовать рекурсию и функции как объекты первого класса
Находить требуемый элемент в дереве DOM
Обеспечивать быстродействие для работы программы в реальном времени
Описывать структуру отображаемых данных в виде HTML
Определять область видимости обвяленных переменных
Определять события браузера при пользовательском взаимодействии
Оценивать эффективность (сложность алгоритма) на базе выбранного типа
Передавать данные между веб серверами или между клиентом и сервером через протокол HTTP
Применять декларативный и императивный подходы в программировании
Создавать изменяемые и неизменяемые структуры данных
Создавать надежные, расширяемые программные интерфейсы
Создавать необходимые структуры данных на базе примитивов
Управлять отображением данных при помощи CSS
Управлять представлением в браузере посредством изменения дерева DOM
Запускать программные компоненты при наступлении определённых событий
Использовать встроенные в браузер механики HTML элементов
Использовать менеджер пакетов для управления зависимостями проекта
Использовать протоколы более высокого уровня на основе HTTP
Применять сборщик пакетов для компиляция исходного кода в бандл
Содержание учебной дисциплины
Обзор синтаксиса JavaScript
Типы и структуры данных
Функции, области видимости и замыкания
Объекты и прототипы
Объектно-ориентированное программирование в JavaScript
Gamma, E., Helm, R., Johnson, R. E., & Vlissides, J. (2009). Design Patterns : Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1599365
Goralski, W. (2017). The Illustrated Network : How TCP/IP Works in a Modern Network (Vol. Second edition). Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1450801
Haverbeke, M. (2019). Eloquent JavaScript, 3rd Edition : A Modern Introduction to Programming (Vol. Third edition). San Francisco, CA: No Starch Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1739634
Введение в HTML5 : учебное пособие. — 2-е изд. — Москва : ИНТУИТ, 2016. — 133 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100680 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Каскиаро, М. Шаблоны проектирования Node.js. Воспользуйтесь самыми мощными компонентами и шаблонами платформы Node.js для создания масштабируемых модульных приложений / М. Каскиаро, Л. Маммино , перевод с английского А. Н. Киселева. — Москва : ДМК Пресс, 2017. — 396 с. — ISBN 978-5-97060-485-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/108127 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
Computer Networks : A Systems Approach. (2019). Princeton, New Jersey: Larry Peterson and Bruce Davie. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsotl&AN=edsotl.OTLid0000771
Государев И.Б. - Введение в веб-разработку на языке JavaScript: учебное пособие - Издательство "Лань" - 2019 - ISBN: 978-5-8114-3539-5 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/118648
Диков А.В. - Клиентские технологии веб-дизайна. HTML5 и CSS3: учебное пособие - Издательство "Лань" - 2019 - ISBN: 978-5-8114-3822-8 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/122174
Преподаватели
Архимандритов Игорь Борисович
Свидченко Олег Анатольевич
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы