МИНОБРНАУКИ РОССИИ Федеральное государственное автономное образовательное учреждение высшего профессионального образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Факультет математики, механики и компьютерных наук Рассмотрен и рекомендован к утверждению на заседании кафедры алгебры и дискретной математики протокол № 12 от «02» июля 2012 г. УТВЕРЖДАЮ Декан факультета математики, механики и компьютерных наук ЮФУ _________________________________М.И.Карякин Зав. кафедрой __________________Штейнберг Б.Я. «03» июля 2012 г. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ «Интернет-программирование» Направление подготовки Профиль подготовки Степень выпускника Форма обучения Разработчик Прикладная математика и информатика 010501 Математическая кибернетика Специалист Очная Алымова Е.В., асс. каф. АДМ Ростов-на-Дону - 2013 1 МИНОБРНАУКИ РОССИИ Федеральное государственное автономное образовательное учреждение высшего профессионального образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» Факультет математики, механики и компьютерных наук УТВЕРЖДАЮ Декан факультета математики, механики и компьютерных наук ________________________М.И.Карякин «03» июля 2012 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ «Интернет-программирование» Направление подготовки прикладная математика и информатика 010501 Профиль подготовки «Математическая кибернетика» Квалификация (степень) выпускника Специалист Кафедра алгебры и дискретной математики Курс 5 семестр 10 Форма обучения очная Программа разработана Алымова Е.В., ассистент каф. АДМ Ростов-на-Дону - 2013 2 Рассмотрена и рекомендована к утверждению на заседании учебнометодического совета факультета математики, механики и компьютерных наук, направление подготовки «Прикладная математика и информатика» протокол заседания от _________________ № ________ Рассмотрена и рекомендована к утверждению на заседании кафедры алгебры и дискретной математики протокол заседания от _________________ №_________ СОГЛАСОВАНО Протокол заседания кафедры/учебнометодического совета факультета _________________________________ (название выпускающей кафедры/ факультета, реализующего ООП ВПО) от ______________ № _____________ I. ЦЕЛИ И ЗАДАЧИ ОСВОЕНИЯ ДИСЦИПЛИНЫ Цели освоения дисциплины: изучение методов проектирования и разработки web-ресурсов, изучение подходов к использованию web- ориентированных баз данных; обучение использованию нескольких языков программирования в одном проекте, сборке неоднородных компонентов в одно целое. Задачи: приобретение знаний в области известных и перспективных направлений разработки web-ориентированных ресурсов; овладение средствами, методами и навыками проектирования webориентированных баз данных и web-сайтов; формирование технологий верстки использования новых способности web-страниц, библиотек самостоятельного разработки для освоения стилевых построения новых описаний, пользовательских интерфейсов. II. МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП ВПО Учебная дисциплина (модуль) «Интернет-программирование» относится к циклу М2. 2.1. Для изучения данной учебной дисциплины (модуля) необходимы следующие знания, умения и навыки, формируемые предшествующими дисциплинами: знание основных понятий и концепций работы в сети Internet, публикации web-страниц, разработки интерактивных web-страниц; умение разрабатывать простые документы на языке разметки HTML, пользоваться простыми клиентскими сценариями JavaScript; навыки программирования простых алгоритмов. Предшествующая дисциплина «Web/XML технологии». Знание средств и методов подготовки информации к публикации в сети Internet; умение составлять простые документы в формате XML и HTML; навыки проектирования баз данных. III. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ 3.1. Процесс изучения дисциплины направлен на формирование элементов следующих компетенций в соответствии с ФГОС ВПО (ОС ЮФУ) и ООП ВПО по данному направлению подготовки (специальности): а) общекультурных (ОК) ОК-2, ОК-3,ОК-4, ОК-5, ОК-6. б). профессиональных (ПК): ПК-1, ПК-2, ПК-3, ПК-8, ПК-10, ПК-11, ПК-12. В результате освоения дисциплины обучающийся должен: Знать основные понятия, методы и средства проектирования и разработки web-ресурсов: - верстка HTML-страниц; - программирование серверных сценариев на языке PHP; - скрипты JavaScript с использованием библиотеки JQuery; - web-серверы и способы их настойки; - базы данных MySQL и язык запросов; - подход к разработке системы управления контентом. Уметь: - самостоятельно разрабатывать шаблоны для web-сайтов; - самостоятельно проектировать архитектуру web-ресурсов; - самостоятельно проектировать web-ориентированные базы данных; - использовать полученные знания для более глубокого изучения известных и новых web-технологий; - оценивать возможности различных готовых библиотек и применение готовых решений в своих проектах. Владеть: - языками HTML, PHP, JavaScript, языком запросов MySQL; - основными средствами и технологией создания web-ресурсов; - способами программирования сценариев взаимодействия «клиентсервер». IV. СОДЕРЖАНИЕ И СТРУКТУРА ДИСЦИПЛИНЫ 4.1. Содержание модулей дисциплины № модуля 1 1 2 3 4 Наименование модуля 2 Динамические шаблоны сайтов Содержание модуля 3 Сайт с точки зрения пользователя и разработчика. Верстка страниц. Разработка единого стиля. Программирование динамических элементов. Клиентский JavaScript. Использование технологии AJAX. «КлиентWeb-сервер и его настройка. серверное» Разработка сценариев на языке PHP. взаимодействие Программирование автособираемого меню сайта на основе XMLописания. GET/POST запросы. Базы данных СУБД MySQL, использование MySQL PHPMyAdmin. Проектирование базы данных. Типы полей, первичные ключи. Доступ к данным средствами PHP, составление запросов к базе данных, отображение данных из базы на сайте по запросу клиента. Система Разработка простой системы управления управления контентом средствами контентом PHP. Логика управления страницами. Использование единого шаблона сайта. Формы текущего контроля 4 Защита лабораторной работы. Защита лабораторной работы. Защита лабораторной работы. Защита лабораторной работы. 4.2. Структура дисциплины. Общая трудоемкость дисциплины составляет ____1_____ зач.ед. (____72_____ часов). Вид работы Трудоемкость, часов № семестра Общая трудоемкость Всего 12 72 Аудиторная работа: 36 Лекции (Л) 12 18 Лабораторные работы (ЛР) 12 18 Самостоятельная работа: 12 36 Расчетно-графическое задание (РГЗ) 12 16 Самостоятельное изучение модулей 12 8 Самоподготовка (проработка и повторение лекционного материала и материала учебников и учебных пособий, подготовка к лабораторным занятиям) 12 12 зачет Вид итогового контроля (зачет, экзамен) Модули дисциплины, изучаемые в ___10_____ семестре Количество часов № Наименование модулей Аудиторная модуля Всего работа ВнеЛ ПЗ ЛР ауд. работа СР 1 Динамические шаблоны сайтов 16 4 4 8 2 «Клиент-серверное» взаимодействие 16 4 4 8 3 Базы данных MySQL 16 4 4 8 4 Система управления контентом 24 6 6 12 4.3. Лабораторные работы № ЛР № модуля Наименование лабораторных работ Кол-во часов 1 1 Разработка динамических шаблонов сайтов 4 2 2 Программирование серверных скриптов на языке PHP 4 3 3 Разработка базы данных MySQL 4 4 4 Разработка простой системы управления контентом 6 4.6. Самостоятельное изучение модулей дисциплины. № модуля Темы/вопросы, выносимые на самостоятельное изучение Кол-во часов 1 Прогрессивные методы верстки страниц. HTML5. 10 2 Настройки web-сервера Apache и файл настроек htaccess. 10 3 Технология AJAX. 10 4 Популярные системы управления контентом. 8 V. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ При проведении занятий используются следующие инновационные методы: Использование информационных ресурсов (интернет-ресурсы: учебники, форумы, научные и образовательные материалы); Использование проблемно-ориентированного междисциплинарного подхода к изучению наук (применение технологий и средств, используемых в других курсах учебного плана); Применение электронных мультимедийных средств (мультимедийные лекции); Применение активных методов обучения (практические семинары с использованием докладов студентов, проводимые в дискуссионной форме) ______30________ % - интерактивных занятий от объема аудиторных занятий. Семестр 12 Вид занятия (Л,ПР,ЛР ) Используемые интерактивные образовательные технологии Количество часов Л Использование проблемноориентированного междисциплинарного подхода к изучению наук (применение технологий и средств, используемых в других курсах учебного плана); Применение электронных мультимедийных средств (мультимедийные лекции); 6 ЛР Применение активных методов обучения (практические семинары с использованием докладов студентов, проводимые в дискуссионной форме); Использование информационных ресурсов (интернетресурсы: учебники, форумы, научные и образовательные материалы) 6 Итого: 12 VI. ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ И ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ Текущим контролем предусмотрены задания, выполняемые в цикле практических работ. Итоговая аттестация включает зачет и экзамен в конце семестра. Зачет выставляется по итогам выполнения лабораторных работ. Экзаменационный билет включает два теоретических вопроса разного уровня сложности и одно практическое задание, например: 1. Разработать архитектуру базы данных на основе неформального описания данных. 2. Написать CSS-инструкции, задающие стилевое оформление готовой HTML-разметке по представленному образцу. 3. Написать код сценария JavaScript, при выполнении которого к заданным элементам страницы применяется заданное стилевое оформление. VII. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 7.1. Основная литература. 1. Прохоренок Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера // Профессиональное программирование. Спб.: БХВ-Петербург, 2010. 912 с. 2. Дакетт Д. Основы веб-программирования с использованием HTML, XHTML и CSS. М.: Эксмо. 2010. 768 с. 3. Бенедетти Р., Крэнли Р. Изучаем работу с jQuery. Спб.: Питер. 2012. 512 с. 4. Зандстра М. PHP. Объекты, шаблоны и методики программирования. М.: Вильямс. 2011. 560 с. 5. Бенедетти Р., Крэнли Р. Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript. Спб.: Питер. 2013. 496 с. 7.2. Дополнительная литература. 1. Фримен Э., Робсон Э. Изучаем программирование на HTML5. – Спб: Питер, 2013. 592 с. 2. Шмитт К., Симпсон К. HTML5. Рецепты программирования. – Спб: Питер, 2012. 288 с. 7.5. Интернет-ресурсы 1. The World Wide Web Consortium (W3C) http://www.w3.org/ VIII. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ 8.1. Учебно-лабораторное оборудование Медиапроектор для проведения лекций-презентаций. Дисплейный класс. КРАТКОЕ ИЗЛОЖЕНИЕ ПРОГРАММНОГО МАТЕРИАЛА С МЕТОДИЧЕСКИМИ УКАЗАНИЯМИ СТУДЕНТУ 1. Методические указания по видам управляемой самостоятельной работы. Примеры заданий и требования к выполнению. 1. Прогрессивные методы верстки страниц. HTML5. Изучить подход к разработке документов на языке HTML5. Составить доклад или реферат с обзором новых подходов и новых элементов языка. 2. Настройки web-сервера Apache и файл настроек htaccess. Изучить подход к настройке web-сервера Apache. Разобрать подход к трансформации URL средствами Apache. Подготовить доклад или презентацию. 3. Технология AJAX. Разобрать концепцию асинхронной загрузки данных. Исследовать возможности и целесообразность использования AJAX. Подготовить доклад о зарекомендовавших себя практиках использования AJAX. 4. Популярные системы управления контентом. Провести обзор существующих систем управления контентом. Систематизировать знания о современных подходах к разработке и сопровождению систем управления контентом. Выбрать одну систему управления контентом, развернуть ее на локальном сервере и произвести минимальную настройку. 2-3. Методические указания по выполнению заданий. Методические рекомендации по подготовке к лабораторным занятиям Модуль 1. Лабораторная работа 1: 1. Сверстайте на языке HTML страницу по заданному в виде изображения образцу. Стилевое оформление необходимо вынести в отдельный файл. 2. Реализуйте на языке JavaScript динамические элементы: простой ротатор изображений, модуль выбора фона страницы. 3. Дан список коротких предложений в XML-формате. Реализуйте модуль вывода предложений из файла с использованием AJAX. 4. Дан файл с длинным текстом. Реализуйте с помощью JQuery и AJAX вывод текста из файла в html-документ с разбивкой на страницы (длина текста, помещаемого на одной странице, задается пользователем). 5. Реализуйте отображение группы картинок на html-странице с помощью дополнения к JQuery «Аккордеон». 6. Реализуйте просмотр увеличенных изображений на html-странице с помощью модального окна LightBox (можно использовать любое готовое решение, например CoolBox). Модуль 2. Лабораторная работа 2: 1. Дано XML-описание меню сайта. Разработать PHP-скрипт, генерирующий html-разметку меню по данному описанию. 2. Разработайте PHP-сценарий, который на вход получает адрес текстового файла и n-целое число. На выходе формируется html-документ с постраничной навигацией по тексту входного файла. Входные параметры скрипта передаются через GET-массив. 3. Разработайте PHP-сценарий формы обратной связи. Форма должна содержать поля: «Имя отправителя», «e-mail отправителя», «Текст сообщения». Данные форму должны отправляться через POST-массив. 4. Разработайте модуль валидации полей формы обратной связи на клиенте (JavaScript) и сервере (PHP). Модуль 3. Лабораторная работа 3: 1. Спроектируйте архитектуру базы данных на основе неформального описания данных. 2. Реализуйте спроектированную архитектуру с помощью инструмента PHPMyAdmin. Заполните базу данными. 3. Разработайте PHP-скрипт, отображающие данные из базы данных по запросу пользователя. 4. Разработайте PHP-сценарий регистрации пользователя через специальную форму с сохранением записи в базу данных. Модуль 4. Лабораторная работа 4: 1. Настройте web-сервер Apache таким образом, чтобы все запросы перенаправлялись на страницу index.php 2. Спроектируйте PHP-модуль, реализующий основу системы управления содержимым. Соберите сайт с помощью разработанной системы управления содержимым таким образом, чтобы на всех страницах сайта использовался единый шаблон, разработанный в предыдущих заданиях. В качестве страниц сайта должны браться страницы, разработанные в предыдущих заданиях. 3. Реализуйте PHP-модуль автособираемого меню сайта на основе обходчика страниц. 4. Реализуйте PHP-сценарий, генерирующий табличное представление информации из базы данных с использованием «DataTables» - дополнения к JQuery. 5. Реализуйте инструмент тестирования ссылок на сайте. На вход должен подаваться web-адрес тестируемого ресурса. На выходе формируется список нерабочих ссылок.