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

1. Современные Web-технологии - 20 ак.часов

В рамках данного курса
изучаются базовые понятия web-разработки, рассматриваются основные принципы проектирования и реализации клиент-серверных Web-приложений. Данный курс рассматривается в качестве основы для специализированных курсов, ориентированных на более глубокое изучение отдельных направлений Web-технологий.

Курс включает в себя следующие разделы:

Модуль 1. Введение. Структура Web-приложений. Основные понятия и термины

  • изучение базовых понятий и терминологии курса
  • обзор стандартов разработки программного обеспечения для Web
  • классификация технологий Web-разработки
  • обзор основных инструментальных средств
  • рассмотрение этапов жизненного цикла Web-приложения.

 Модуль 2. Принципы проектирования и реализации Web-приложений

  • особенности создания клиент-серверных приложений
  • основы технологий обеспечения деятельности www
  • принципы взаимодействия клиентской и серверной составляющих Web-приложения
  • принципы проектирования реляционной базы данных

Модуль 3. Обзор языков и технологий разметки

  • понятия языка разметки
  • классификация языков разметки
  • SGML-стандарт
  • основные принципы использования, валидации и трансформации данных на примере HTML и XML

Модуль 4. Обзор основных клиентских и серверных технологий Web

  • рассмотрение особенностей и принципов использования основных современных языков и технологий реализации клиентской и серверной частей Web-приложения

Модуль 5. Насыщенные интернет-приложения, RIA

  • особенности разработки и использования
  • современные технологии реализации RIA – Adobe Flash, JavaFX, HTML5  и т.п.

Модуль 6. Основы обеспечения безопасности Web-приложений

  • проектирование Web-приложения с учетом Security Development Lifecycle
  • моделирование угроз
  • классификация угроз STRIDE
  • основные угрозы и атаки на Web-приложения
  • обзор основных технологий обеспечения безопасности

 Модуль 7. Обзор базовых принципов продвижения сайта

  • основные понятия оптимизации сайта
  • краткий обзор существующих возможностей оптимизации с точки зрения разработки проекта

 2. HTML и CSS - 20 ак.часов

Данный курс позволит изучить основные возможности создания статических сайтов и логического форматирования контента с помощью языка разметки HTML, а также получить представление об использовании каскадных таблиц стилей (CSS) для визуального форматирования контента и блочной верстки.

Курс включает в себя следующие разделы:

Модуль 1. Структура HTML-кода

  • основы работы с HTML
  • создание простейшей логической разметки страницы и контента

Модуль 2. Логическое форматирование контента

  • форматирование текста
  • использование различного вида списков
  • формирование таблиц, гиперссылки
  • основы работы с изображениями и медиаконтентом

Модуль 3. Работа с формами

  • свойства и элементы HTML-форм
  • организация интерактивного пользовательского интерфейса Web-приложения

Модуль 4. Принципы создания каскадных таблиц стилей, CSS

  • понятие таблицы стилей
  • работа с различными видами селекторов

Модуль 5. Визуальное форматирование контента

  • работа с визуальными свойствами контента сайта
  • наследование
  • каскадирование

Модуль 6. Блочная верстка

  • основы представления и структурирования информации на страницах сайта средствами CSS

 3. Программирование на JavaScript - 40 ак.часов

После изучения данного курса слушатели смогут получить представление об основах технологии объектно-ориентированного программирования с использованием языка JavaScript, создавать Web-приложения с динамически изменяемым содержимым, разрабатывать FE и BE код, изучать новые и создавать собственные фреймворки JavaScript.

Курс включает в себя следующие разделы:

Модуль 1. Разработка с использованием JavaScript

  • История создания и назначения
  • Возможности и реализация в различных версиях
  • Применение в современных приложениях и средах
  • Инструментальная поддержка разработки
  • Языки надстройки и библиотеки расширения
  • Создание собственных алгоритмов
  • Практика: простое приложение на языке JavaScript

Модуль 2. Базовые возможности JavaScript

  • Синтаксис и структура языка
  • Переменные и литералы в JavaScript
  • Типы выражений
  • Операторы JavaScript
  • Организация циклов
  • Создание простейших скриптов с использованием стандартных методов
  • Практика: реализация собственного алгоритма

Модуль 3. Расширенные возможности JavaScript

  • Типы данных встроенные и собственные
  • Массивы обычные и ассоциативные
  • Использование библиотек
  • Определение и преобразование типов
  • Логические операторы
  • Практика: реализация продвинутого алгоритма

Модуль 4. JavaScript и процедурное программирование

  • Процедурный подход
  • Что такое функция?
  • Правила именования
  • Создание и вызов функций в JavaScript
  • Область видимости
  • Стандартные функции верхнего уровня
  • Практика: разработка процедурного кода

Модуль 5. JavaScript и объектно-ориентированное программирование

  • Изучение основ объектно-ориентированных технологий
  • Объектные модели сценариев, иерархии объектов
  • Стандартные объекты JavaScript
  • Создание объектов
  • Методы и свойства объектов
  • Практика: создание собственных объектов и их использование

Модуль 6. ООП с использованием прототипов и функций

  • Интерфейсная модель
  • Шаблоны проектирования
  • Наследование
  • Конструирование объектов
  • Встроенные классы
  • Проверка типов
  • Практика: использование прототипов

Модуль 7. Продвинутые возможности JavaScript

  • Современные тенденции разработки кода
  • Обработка исключений
  • Перегрузка функций
  • Функциональные выражения
  • Использование замыканий
  • Статические члены
  • Использование памяти
  • Практика: использование продвинутых возможностей

Модуль 8. ECMAScript 2015 – новые возможности

  • Переменные: let и const
  • Декомпозиция при присвоении объектов и массивов
  • Параметры функций по умолчанию
  • Свойство name у функции
  • Синтаксис функций через «стрелку» =>
  • Строки-шаблоны (многострочные, с переменными)
  • Современный синтаксис классов
  • Тип данных Symbol
  • Практика: первое приложение на ECMAScript 2015

Модуль 9. ECMAScript 2015 – новые возможности (продолжение)

  • Итераторы
  • Map – коллекции записей
  • Set – коллекции уникальных элементов
  • Promise – объект который содержит своё состояние
  • Цепочки (chaining) объектов
  • Генераторы
  • Прокси (proxy)
  • Практика: разработка современного JavaScript кода

Модуль 10. Разработка front-end на JavaScript

  • Событийно-ориентированное программирование
  • Иерархия объектов обозревателя
  • Обработчики событий
  • Динамический HTML (DHTML)
  • Добавление и удаление узлов DOM
  • Визуальное форматирование
  • Слои. Движущиеся элементы
  • Практика: создание front-end на JavaScript

Модуль 11. Разработка back-end на JavaScript

  • Основы Node.js
  • Модули
  • Цикл жизни
  • События
  • Потоки
  • Инструментальная поддержка
  • Практика: создание back-end на JavaScript

Модуль 12. Фреймворки JavaScript

  • Где еще применяется JavaScript?
  • Разработка мобильных приложений
  • Tessel — микроконтроллер, программируемый на JavaScript
  • Калейдоскоп: Angular, Backbone, Dojo, Prototype, React, …
  • Создание собственной библиотеки
  • Пакетирование и распространение
  • Практика: Фреймворки JavaScript - использование

  4. Разработка Web-приложений на базе HTML5, CSS3, JavaScript - 40 ак.часов

После изучения данного курса слушатели смогут создавать сценарии на JavaScript, реализовывать средствами JavaScript  визуальные эффекты в HTML-документе, применять возможности HTML5 для создания интерактивных страниц, изменять и настраивать отображение страниц с помощью CSS3, создавать веб-приложения, поддерживающие хранение данных на стороне клиента, использовать возможности обмена данными между веб-приложением и сервером используя Web Worker, выполнять асинхронную обработку JavaScript, применять запросы XMLHTTPRequest для связи с удаленным источником данных, осуществлять работу с jQuery, реализовывать кросс-доменный скриптинг на основе Web Messaging API.

Курс включает в себя следующие разделы:

Модуль 1. Введение в HTML5. Управление стилями CSS3 и разметка страницы

  • новые элементы языка разметки HTML5, CSS3 Media Queries, Transforms 2D, Fonts, Borders и Backgrounds (Border Radius, Multiple Backgrounds)

Модуль 2. Встроенная поддержка графики и современные средства мультимедиа HTML5

  • программное создание графики с помощью Canvas API
  • масштабируемая векторная графика SVG в HTML5, HTML5 Audio и Video – встроенная поддержка мультимедиа

Модуль 3. Построение форм, ввод и проверка данных. Средства хранения данных на стороне клиента в HTML5

  • Web Forms - новые атрибуты форм
  • элементы ввода данных
  • управление датой и временем
  • возможности валидации данных, вводимых пользователем
  • использование Интернет-хранилища данных Web Storage
  • применение IndexedDB API для работы с индексированной по типу ключ-значение базой данных

Модуль 4. Новые интерактивные возможности JavaScript в интегрированных и связанных APIспецификации HTML5

  • перетаскивание объектов с HTML5 Drag and Drop API
  • новые возможности объекта History в HTML5
  • геолокация в HTML5 с использованием Geolocation API, File API – работа с файлами на стороне браузера в HTML5

Модуль 5. Реализация  обмена сообщениями между браузером и веб-сервером и асинхронная обработка JavaScript

  • Offline Application API и продвинутое кэширование ресурсов
  • двунаправленная связь для Web-приложений с Web Sockets API,  Server-Sent Events – передача браузеру уведомлений Web-сервера
  • асинхронная обработка JavaScript вWeb Workers API

Модуль 6. Связь с удаленным источником данных и расширенные  возможности JavaScriptв HTML5

  • применение  HTTP/HTTPS запросов вXMLHTTPRequest
  • кросс-доменный скриптинг на основе HTML5 Web Messaging API (XMLHTTPRequest Level 2)
  • возможности технологии AJAX и  ее применение в HTML5
  • обзор возможностей и использование библиотеки jQuery

Модуль 7. Работа с библиотекой jQuery и фреймворками JavaScript для мобильных платформ

  • использование библиотеки jQuery при разработке Web-приложений
  • особенности Web-разработки для мобильных устройств
  • обзор Web-фреймворков JavaScript для мобильных платформ
  • разработка Web-приложений в фреймворках jQTouch и jQuery Mobile
  • работа с фреймворком Sencha Touch

Модуль 8. Разработка интерактивных Web-приложений с помощью HTML5 и Ajax

  • AJAX запросы и передача данных на Web-сервер
  • особенности совместной работы AJAX и JSON
  • создание AJAX запросов с помощью jQuery, AJAX и клиент-серверная архитектура
  • использование Ajax при разработке Web-приложений

5. Основы разработки баз данных: СУБД MySQL - 20 ак.часов

Курс включает в себя следующие разделы:

 Модуль 1. Основные понятия баз данных

  • Базы данных и системы управления базами данных (СУБД)
  • Основы реляционных баз данных на примере СУБД MySQL
  • Таблицы реляционных баз данных
  • Нормализация баз данных
  • Ссылочная целостность базы данных

Модуль 2. Основы работы с СУБД MySQL

  • Особенности работы с СУБД MySQL
  • Виды интерфейсов СУБД MySQL
  • Работа с графическими утилитами MySQL
  • Проектирование и реализация базы данных средствами СУБД MySQL 

Модуль 3. Основы работы с SQL

  • Понятие запроса в реляционных базах данных
  • Основы языка структурированных запросов SQL
  • Виды запросов в реляционных база данных
  • Основные операторы SQL

Модуль 4. Организация работы с запросами в СУБД MySQL

  • Работа с операторами определения данных (DDL)
  • Работа с операторами манипуляции данными (DML)
  • Основы работы с операторами определения доступа к данным (DCL) и операторами  управления транзакциями (TCL)
  • Принципы организации обмена данными между СУБД MySQL и PHP

6. Web-программирование: PHP - 50 ак.часов

Основной целью курса является изучение основных возможностей языка программирования PHP, а также принципов взаимодействия с базами данных на примере реляционной СУБД MySQL, После изучения курса слушатели смогут создавать серверную часть веб-приложения, реализовывать подключение веб-приложения к базе данных с целью хранения и обмена информацией между базой данных и приложением, работать с веб-интерфейсом MySQL PhpMyAdmin, использовать методы GET и POST для передачи и обмена данными, использовать HTML-формы для обеспечения ввода, вывода и обработки данных веб-приложения, реализовывать работу с файлами и каталогами.

Курс включает в себя следующие разделы:

Модуль 1. Основные технологии веб-программирования. Особенности языка PHP.  Установка и настройка веб-сервера

  • описание языка PHP и его основных синтаксических особенностей
  • взаимодействие PHP и других языков, используемых для работы с веб

Модуль 2. Синтаксические конструкции и операторы  PHP

  • переменные PHP и работа с ними
  • типы данных и особенности типизации языка PHP
  • константы, принципы их использования и базовые функции работы с константами
  • операторы языка PHP и их использование
  • управляющие конструкции языка PHP: условные операторы, циклы

Модуль 3. Основы работы с СУБД MySQL

  • обзор особенностей реляционной СУБД MySQL
  • основы языка SQL
  • разработка реляционной базы данных
  • принципы взаимодействия веб-приложения с базой данных
  • работа с веб-интерфейсом PhpMyAdmin
  • создание таблиц базы данных и работа с информацией в таблицах

 Модуль 4. Обработка запросов средствами PHP

  • принципы работы протокола HTTP
  • использование HTML-форм для ввода и передачи данных
  • методы GET и POST: принципы использования для передачи данных (обмен данными между страницами веб-приложения и передача полученных из HTML форм данных на обработку)

Модуль 5. Работа с массивами

  • особенности массивов в языке PHP
  • типы массивов PHP и способы их инициализации
  • одномерные и многомерные массивы
  • основные функции для работы с массивами
  • суперглобальные массивы

Модуль 6. Работа с функциями

  • синтаксическая структура определения функции
  • аргументы функций
  • функции и область определения переменных: сравнение глобальных и локальных переменных, статические переменные
  • исключительные ситуации
  • область определения функции
  • рекурсии
  • основные встроенные функции PHP

Модуль 7. Работа со строками

  • строки в языке PHP: синтаксические конструкции, операции со строками
  • строковые функции: проверка строк, поиск символов в строке, сравнение и поиск, выборка подстроки, замена строк
  • основы работы с шаблонами

Модуль 8. Работа с файлами

  • особенности работы с файлами
  • функции управления файлами и каталогами
  • функции для работы с данными в файлах

7. Поисковая оптимизация сайта - 10 ак.часов

Курс включает в себя следующие разделы:

Модуль 1. Понятие SEO

  •   изучение работы поисковых систем
  •   понятие SEO
  •   другие типы рекламы в интернете ( преимущества и недостатки)
  •   факторы ранжирования

Модуль 2. Определение целевой аудитории и семантическое ядро

  • определение целевой аудитории
  • выбор рекламы в интернете
  • понятие семантического ядра, типы запросов
  • кластеризация запросов
  • инструменты для сбора запросов

Модуль 3. Внутренняя и внешняя оптимизация

  • написание мета-тегов
  • основы составления ТЗ на копирайтинг, оформление
  • перелинковка на сайте
  • ЧПУ
  • работа с внешними ссылками, основы покупки

Модуль 4. Возможные технические ошибки на сайте

  • дубли страниц
  • битые ссылки
  • составление robots.txt, sitemap
  • полезный инструментарий

Модуль 5. Апдейты и фильтры ПС

  • понятие апдейта
  • фильтры за переоптимизацию
  • фильтры за внешние ссылки

Моудль 6. Счетчики сбора статистики и панели Вебмастера

  • поясние работы с панелями Яндекс.Вебмастер и Google.Webmasters
  • пояснение работы со счетчиками Яндекс Метрика, Google Analytics

 

8. Разработка Web-приложений на основе ASP.NET - 60 ак.часов

В рамках данного курса изучаются базовые понятия web-разработки приложений на основе технологии ASP.NET, рассматриваются основные принципы проектирования и реализации клиент-серверных Web-приложений. Курс рассчитан на Web - разработчиков, имеющих опыт работы с HTML и DHTML и знакомых с XML

Курс включает в себя следующие разделы:

Модуль 1. Принципы работы и структура Web-приложений на основе ASP.NET

Рассматривается архитектура современных Web-приложений и принципы их организации в среде ASP.NET.

  • Архитектура Web-приложений
  • Архитектура .NET Framework
  • Компиляция и язык MSIL
  • Архитектура ASP.NET

 

Модуль 2. Основы работы в Visual Studio .NET

 

Рассматриваются возможности интегрированной среды разработки Visual Studio для создания приложений ASP.NET и настройки ее интерфейса для конкретного пользователя. Изучается процесс создания нового Web-приложения, способы навигации по его структуре, просмотра и редактирования в режиме работы с исходным кодом и дизайна, использование различных элементов управления на страницах, а также процедур – обработчиков событий этих элементов.

  • Начало работы с Visual Studio
  • Создание нового приложения
  • Редактирование Web-документов
  • Отладка приложения
  • Редактирование кода
  • Структура ASP.NET приложения
  • Работа со справочной системой
  • Запуск приложения

 

Модуль 3. Основы языка C#

 

Рассматривается система типов языка C#, приводятся отличия и особенности ссылочных и значимых типов данных, контейнерных типов и коллекций. Уделяется внимание вопросам выполнения основных операций преобразования между различными типами данных, а также использования динамических массивов и коллекций. Рассматриваются основные принципы работы со строками, определяются принципы описания, вызова и передачи параметров в процедуры и функции. Рассматриваются классы, описание их полей, методов и свойств, отношения между классами.

  • Типы данных. Преобразования типов
  • Основные операторы и управляющие конструкции языка C#
  • Массивы, перечисления, коллекции
  • Работа со строками в C#
  • Процедуры и функции
  • Структуры
  • Классы, отношения между классами

 

Модуль 4. Основы Web-программирования с использованием ASP.NET

 

Рассматриваются вопросы формирования отклика сервера и структура HTML-файла, получаемого при этом, а также вопросы вывода информации в окне браузера клиента и особенности этого процесса. Изучаются возможности динамического создания элементов управления в Web-приложении и создания обработчиков событий для них. Изучается структура Web-приложения и ее составляющих: класс Page, коллекция ViewState, объекты Session и Application. Рассматриваются принципы работы с файлами cookies.

  • Динамическое создание элементов управления
  • Класс Page
  • Управление состоянием.
  • Использование строки запроса
  • Объекты Response и Request

 

Модуль 5. Принципы разработки пользовательского интерфейса Web-приложения

 

Рассматриваются вопросы создания пользовательского интерфейса интернет-приложения, принципы позиционирования элементов пользовательского интерфейса, основные интерфейсные элементы, используемые в ASP.NET. Описываются возможности применения каскадных таблиц стилей для оформления внешнего вида элемента управления и всей страницы. Рассматриваются базовые принципы организации проверки вводимых данных.

  • Основные интерфейсные элементы, используемые в ASP.NET.
  • Позиционирование элементов пользовательского интерфейса
  • Интерфейсные элементы для вывода информации на Web-страницу и организации ввода данных.
  • Применения каскадных таблиц стилей для оформления внешнего вида элемента управления и всей страницы.
  • Привязка элементов управления к данным.
  • Организация проверки вводимых данных.

 

Модуль 6. Использование Master Page при построении Web-приложений

 

Рассматриваются принципы использования мастер-страниц при разработке Интернет-приложений.

  • Мастер-страница
  • Страница содержимого
  • Вложенные мастер-станицы

 

Модуль 7. Навигация по Web-приложению

 

Рассматриваются вопросы организации навигации по страницам Web-приложения, разбираются вопросы использования существующих в ASP.NET элементов управления, предназначенных для организации эффективных механизмов навигации по Web-приложению.

  • Карта сайта
  • Элементы навигации
  • Программные средства создания навигации

 

Модуль 8. Стандартизация оформления страниц Web-приложения

 

Рассматриваются вопросы стандартизации оформления страниц, включенных в интернет-приложение, с помощью механизма тем, поддерживаемого ASP.NET, приводятся примеры реализации тем приложения для различных его элементов и страниц. Затрагиваются вопросы динамического изменения темы приложения.

  • Создание и использование тем
  • Совместное использование тем и CSS
  • Динамическое изменение темы

 

Модуль 9. Использование кэширования в Web-приложениях

 

Рассматриваются вопросы использования различных видов кэширования, поддерживаемых ASP.NET.

  • Основы кэширования в ASP.NET
  • Кэширование вывода

 

Модуль 10. Использование баз данных в приложениях ASP.NET

 

Рассматриваются вопросы использования баз данных в приложениях ASP.NET.

  • Основные сведения о модели доступа к данным ADO.NET
  • Организация взаимодействия с БД
  • Привязка и отображение данных
  • Применение технологии ADO.NET Entity Framework

 

Модуль 11. Обеспечение безопасности веб-приложения ASP.NET

 

Рассматриваются вопросы реализации безопасности веб-приложений ASP.NET

  • Система безопасности ASP.NET
  • Проверка подлинности в ASP.NET
  • Защита файла конфигурации

9. Дипломное проектирование - 60 ак.часов


Программа курса может корректироваться