Государственное образовательное учреждение высшего профессионального образования «Дальневосточный государственный университет путей сообщения» ____Естественно-научный институт___ УТВЕРЖДАЮ: Заведующий кафедрой _____________ Смагин С.И. «___»_________2011 г. РАБОЧАЯ ПРОГРАММА дисциплины ____Java-программирование Интернет приложений_______ _________________________________________________________ полное наименование дисциплины направления подготовки (специальности) ___01040068 Прикладная________ код и наименование направления подготовки __________________математика и информатика______________________ (специальности) Составитель(и) ____кандидат физико-математических наук доцент_____ _____________________Пономарчук Юлия Викторовна________________ ученая степень, должность, Ф.И.О. Обсуждена на заседании кафедры _____«Прикладная математика»______ __________________________________________________________________ полное наименование кафедры-разработчика «___» ____________ 20____ г., протокол № ____ Одобрена на заседании методической комиссии ________________________ _________________Естественно-научного института___________________ полное наименование института.факультета «___» ____________ 20____ г., протокол № ____ 2011 г. 1 ВВЕДЕНИЕ Целью преподавания дисциплины «Java-программирование Интернет приложений» является изучение и овладение навыками использования отдельных технологий, основанных на использовании языка программирования Java, позволяющих создавать клиентские и серверные приложения различного назначения, обменивающиеся информацией при помощи сети Интернет. Курс рассчитан на магистрантов, имеющих общее представление о языке Java, и включает в себя повторение его основных особенностей. 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ Целью дисциплины «Java-программирование Интернет приложений» является систематическое изучение средств J2EE, относящихся к разработке webинтерфейсов (web-tier в терминологии J2EE), включая такие программные интерфейсы как Java servlets, Java servlets filters, JSP, пользовательские библиотеки тегов и соответствующие шаблоны программирования, применяемые в данной области. Задачи курса: рассмотреть основные средства Java, используемые при создании webприложений; сформировать практические навыки использования средств JEE для разработки web-приложений; ознакомить студентов с основными методами работы с графикой, аудио- и видео-данными при создании приложений на языке Java; сформировать навыки создания клиентских и серверных приложений различного назначения. В связи с малым объёмом курса и отсутствием лекционных занятий важное значение приобретает самостоятельная работа магистрантов, в рамках которой они должны проявить умение находить и пользоваться необходимой справочной литературой и выбирать наиболее оптимальные методы создания приложений. Данная дисциплина относится к профессиональному циклу ООП к его вариативной (профильной) части. 2. ВИДЫ И ЗАДАЧИ ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ, ФОРМИРУЕМЫЕ В ПРОЦЕССЕ ОБУЧЕНИЯ ДИСЦИПЛИНЕ В СООТВЕТСТВИИ С ФГОС ВПО Магистр по направлению подготовки 010400 Прикладная математика и информатика в процессе обучения дисциплине «Java-программирование Интернет приложений» готовится к следующим видам профессиональной деятельности: разработка программного и информационного обеспечения компьютерных сетей, автоматизированных систем вычислительных комплексов, сервисов, операционных систем и распределенных баз данных; разработка аналитических обзоров состояния в области прикладной математики и информатики по направлениям профильной подготовки; участие в ведомственных, отраслевых или государственных экспертных 2 группах по экспертизе проектов, тематика которых соответствует профильной направленности ООП магистратуры. 3. КОМПЕТЕНЦИИ, ФОРМИРУЕМЫЕ В РЕЗУЛЬТАТЕ ОБУЧЕНИЯ ДИСЦИПЛИНЕ В СООТВЕТСТВИИ С ФГОС ВПО В результате изучения дисциплины «Java-программирование Интернет приложений» магистранты должны приобрести: способность разрабатывать учебно-методические комплексы для электронного и мобильного обучения (ПК-9); способность разрабатывать аналитические обзоры состояния области прикладной математики и информационных технологий по профильной направленности ООП магистратуры (ПК-10). 4. ПРОЕКТИРУЕМЫЕ РЕЗУЛЬТАТЫ ОБУЧЕНИЯ ДИСЦИПЛИНЕ В СООТВЕТСТВИИ С ФГОС ВПО В результате изучения дисциплины магистранты должны научиться использовать современные методы для исследования и решения научных и практических задач. Студент должен знать: возможности языка и области применения Java –приложений; основные пакеты, классы, методы и типы данных языка Java; исключения, классы исключений в языке Java; события и классы событий в языке Java; отличия апплетов от оконных приложений и ограничения, накладываемые на апплеты; графические возможности языка Java; особенности работы сервлетов, жизненные циклы; возможности сервлетов и их применение; отличия клиентских и серверных приложений от сервлетов и апплетов. В результате изучения дисциплины студент должен иметь представление: о классах и интерфейсах, объектах классов языка Java; о модификаторах доступа; об особенностях наследования и полиморфизма для методов Java; о создании собственных исключений при разработке приложений; о применении апплетов в Интернет приложениях; об особенностях синтаксиса JSP и отличии от сервлетов. В результате изучения дисциплины студент должен уметь: создавать консольные и оконные (GUI) приложения на Java; работать с базами данных, используя Java; работать с файлами и каталогами; разрабатывать и отлаживать апплеты для web-страниц; создавать web-сервисы и J2EE-приложения; интегрировать web-приложения с внешними системами; конструировать интерактивные порталы для доступа к данным, процессам и приложениям. 3 5. МЕЖПРЕДМЕТНЫЕ СВЯЗИ Для освоения дисциплины «Java-программирование Интернет приложений» рекомендовано освоение таких дисциплин, как: Информатика, Практикум на ЭВМ, Языки и методы программирования, Операционные системы, Системное программирование, Архитектура компьютеров, Современные технологии программирования, Объектно-ориентированный анализ и проектирование, Компьютерные сети, Локальные и глобальные компьютерные сети. 6. ТРУДОЕМКОСТЬ ДИСЦИПЛИНЫ И ЕЕ РАСПРЕДЕЛЕНИЕ ПО ВИДАМ РАБОТ Дисциплина «Java-программирование Интернет приложений» имеет трудоемкость 3 з.е. Вид занятий Лекции Практические занятия Лабораторные занятия Самостоятельная работа Курсовой проект РГР Итого часов Зачет Экзамен Количество часов в 1 семестре 32 64 1 96 + 7. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ, ИСПОЛЬЗУЕМЫЕ ПРИ РЕАЛИЗАЦИИ РАЗЛИЧНЫХ ВИДОВ УЧЕБНОЙ РАБОТЫ При обучении магистрантов дисциплине «Java-программирование Интернет приложений» используются персональные компьютеры и мультимедийный проектор для показа слайдов презентаций. 4 8. ТЕМАТИЧЕСКОЕ СОДЕРЖАНИЕ КУРСА Номер лабораторного занятия 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Всего Содержание занятия Ознакомление с языком Java. Инсталляция пакета разработчика Java. Вывод сообщений в системную консоль и в окно приложения. Вывод списка доступных системных шрифтов и работа с бегущей строкой Работа с графикой. звуки и операции с мышью. HTTP протокол Отслеживание координат объектов. Использование тригонометрических функций. HTTP протокол. Выдача заданий РГР Копирование областей экрана и добавление звуков. CGI интерфейсы Управление несколькими движущимися объектами Использование параметров HTML. Использование функций random и translate Работа с изображениями. Использование мыши по принципу drag & drop Рисование действующих часов Вращение объектов Обмен сообщениями посредством World Wide Web Объединение графики и сети Соединение с ftp-сервером и загрузка файла Java servlets API. Структура Java servlets API. Описание сервлетов, их методы и применение. Модель жизненного цикла. Фильтры и обработка системных событий в JEE. Пре- и пост-обработка запросов JSP. Архитектура JSP. Синтаксис JSP: директивы, выражения, скриптлеты. Связь JSP и сервлетов Шаблон MVC и его использование. Пакет Struts. Основные возможности и примеры использования. Обзор популярных подходов в разработке webприложений. Итоговое тестирование Образовательные технологии Кол-во часов Номера разделов основных учебников ЭВМ 2 [2], 1-3[7], 1-6[8], 1-27[10], 1-7[12] ЭВМ 2 4-5[3], 7[8], 8-15[12] ЭВМ 2 8[7], 7[8], 16-17[12] ЭВМ ЭВМ 2 2 18[12] 20[12] ЭВМ 2 7[7], 21-22[12] ЭВМ ЭВМ ЭВМ ЭВМ ЭВМ ЭВМ 2 2 2 2 2 2 7-8[8], 22[10], 23-26[12] 30-33[12] 35-36[12] 3-5[9], 20[10], 38-39[12] 20[10], 40-42[12] 3-5[9], 20[10], 43[12] ЭВМ 4 2[5], 1-3[6], 9[7], 32-33[10] ЭВМ 2 1-3[1], 3-4[5], 1-2,5-14[6] ЭВМ 2 4-5[1], [4], [5], 15-27[6], [11] 32 5 9. ВИДЫ САМОСТОЯТЕЛЬНОЙ РАБОТЫ МАГИСТРАНТОВ И ИХ СОСТАВ Самостоятельная работа магистрантов направлена на закрепление теоретических знаний, практических умений и навыков, правильное оформление результатов, на работу с учебно-методической литературой. Формы самостоятельной работы 1. Проработка лекционного материала, изложенного на лабораторных занятиях 2. Подготовка к лабораторным занятиям 3. Выполнение РГР № Срок Содержание типовых расчетов и РГР п/п выдачи 1 Работа с базами данных (Пакет java.sql. Основные чер3 ты реляционных баз данных. Основы языка SQL, виды запросов, построение запроса. Построение Javaприложения, ра. Классы Connection, Statement, ResultSet. Отображение полученных данных средствами графического пользовательского интерфейса. Построение трехслойного доступа к базе данных через web-интерфейс: апплет-сервлет-база данных.) Срок сдачи 12 10. ФОРМЫ ТЕКУЩЕГО КОНТРОЛЯ ЗНАНИЙ Основной задачей контроля за качеством усвоения материала курса является обеспечение постоянной и систематической работы студентов в течение семестра. Основные формы контроля проведение самостоятельных работ; проведение тестирования. Темы промежуточного контроля 1. Объектная модель Java 2. Апплеты 3. Сервлеты в информационных системах 4. Сетевые возможности Java 11. ВОПРОСЫ К ЗАЧЕТУ 1. Язык программирования Java: структура и базовые принципы 2. Лексика языка Java, кодировка, комментарии. 3. Соглашение об именах, идентификаторы, ключевые слова, литералы, разделители. 4. Операторы, работа с операторами, арифметические операции, битовые операции 5. Типы данных, переменные, примитивные и ссылочные типы данных, объекты и правила работы с ними. 6 6. Класс Object. Класс String. Класс Class. 7. Операторы и структура кода: Управление ходом программы. Нормальное и прерванное выполнение операторов. 8. Пакеты. Простые и составные имена. Элементы 9. Протокол HTTP 10.Поддержка сессий (cookie, URL rewriting) 11.Общая организация/структура Java servlets 12.Огранизация контейнеров для поддержки Java servlets 13.Основные классы Java servlets development kit 14.Обработка динамической информации в Java servlets 15.Общая организация/структура JSP 16.Теги (команды) JSP 17.JSP taglib 18.Разработка JSP приложений. 3 tier model, MVC. 19.Доступ к базам данных 20.Соединение с базой данных. Обработка результатов. Отображение типов данных на Java 21.Достоинства и недостатки апплетов 22.Сокеты RMI, пакет java.net. Работа с сокетами. Доступ к удаленной JVM через RMI 12. ПРИМЕРНЫЙ КАЛЕНДАРНЫЙ ПЛАН ДИСЦИПЛИНЫ Государственное образовательное учреждение высшего профессионального образования «Дальневосточный государственный университет путей сообщения» Институт/факультет Естественно-научный институт_________________ направление подготовки (специальности) 01040068 «Прикладная математика и информатика»___ Курс 1__ Группа (ы) ПМ1__ КАЛЕНДАРНЫЙ ПЛАН занятий по дисциплине Java-программирование Интернет приложений_______ полное наименование дисциплины в 1 семестре 20__/20__учебного года Трудоемкость в зачетных единицах Число часов лекций Число часов практических занятий Число часов лабораторных занятий Всего часов аудиторных занятий Число часов самостоятельной работы Форма отчетности Лектор Руководитель групповых занятий 3 0 0 32 32 32 зачет доцент Пономарчук Ю.В. доцент Пономарчук Ю.В. 7 3 4 5 Тема практического занятия (лабораторной работы). Содержание практического занятия (лабораторной работы) 6 Ознакомление с языком Java. Инсталляция пакета разработчика Java. Вывод сообщений в системную консоль и в окно приложения. Вывод списка доступных системных шрифтов и работа с бегущей строкой Работа с графикой. звуки и операции с мышью. HTTP протокол Отслеживание координат объектов. Использование тригонометрических функций. HTTP протокол. Выдача заданий РГР Копирование областей экрана и добавление звуков. CGI интерфейсы Управление несколькими движущимися объектами Использование параметров HTML. Использование функций random и translate Работа с изображениями. Использование мыши по принципу drag & drop ТСО 2 Количество часов 1 ТСО Количество часов Тема лекций. Структура лекции Контроль качества усвоения материала 7 8 ЭВМ Защита л.р., рейтинг ЭВМ Защита л.р., рейтинг ЭВМ Защита л.р., рейтинг 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 Рисование действующих часов ЭВМ 9 2 Вращение объектов ЭВМ 10 2 Обмен сообщениями посредством World Wide Web ЭВМ 11 2 Объединение графики и сети ЭВМ 12 2 Соединение с ftp-сервером и загрузка файла ЭВМ 13, 14 4 Java servlets API. Структура Java servlets API. Описание сервлетов, их методы и применение. Модель жизненного цикла. ЭВМ 15 2 JSP. Архитектура JSP. Синтаксис JSP: директивы, выражения, скриптлеты. Связь JSP и сервлетов ЭВМ 16 2 Итоговое тестирование ЭВМ всего Недели 1. План лекций, практических занятий и лабораторных 32 ЭВМ ЭВМ ЭВМ ЭВМ Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р., рейтинг Защита л.р. и РГР, рейтинг Защита л.р. и РГР, рейтинг Защита л.р. и РГР, рейтинг Защита л.р. и РГР, рейтинг 8 Подготовка РГР 20 Подготовка к зачету 4 Рейтинг за неделю Рейтинг с нарастанием Итого часов самостоятельной работы 6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Рейтинг по виду работ 40 Срок сдачи Защита лабораторных работ и проработка теоретического материала Срок выдачи Наименование вида работы (подготовка к аудиторным занятиям, РГР, КП, КР и т.д.) Часы самост. работы 2. Выполнение плана самостоятельной работы 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 65 Рейтинговые баллы по неделям и видам работ 12 10 10 5 4 4 4 8 4 12 4 16 4 20 4 24 4 28 4 32 4 36 4 40 4 44 14 58 4 62 4 66 9 75 5 5 80 80 80 64 Рейтинговый балл устанавливается преподавателем суммарно по всем видам занятий Заполнение граф плана обязательно, кроме граф "Срок выдачи" и "Срок сдачи" Согласовано: Директор института / декан факультета _________________________________ «____»________________20__г. М.Х. Ахтямов Зав. кафедрой «Прикладная математика» _________________________________ «____»________________20__г. С.И. Смагин Составил(и): Лектор (должность) _________________________________ «____»________________20__г. Доцент, Ю.В. Пономарчук 9 13. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ДИСЦИПЛИНЫ 13.1 ОБЯЗАТЕЛЬНАЯ ЛИТЕРАТУРА 1. Гери Д.М. Java Server Pages. Библиотека профессионала. – Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 448с. 2. Давыдов С.В., Ефимов А.А. IntelliJ IDEA. Профессиональное программирование на Java. – СПб.: БХВ-Петербург, 2005. – 800с. 3. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. – Технологии программирования на Java 2: Книга 1. Графика, JavaBeans, интерфейс пользователя. – Пер. с англ. – М.: ООО «Бином-Пресс», 2003. – 560с. 4. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. – Технологии программирования на Java 2: Книга 2. Распределенные приложения. – Пер. с англ. – М.: ООО «Бином-Пресс», 2003. – 464с. 5. Дейтел Х.М., Дейтел П.Дж., Сантри С.И. – Технологии программирования на Java 2: Книга 3. Корпоративные системы, сервлеты, JSP, web-сервисы. – Пер. с англ. – М.: ООО «Бином-Пресс», 2003. – 672с. 6. Перри Б. Java сервлеты и JSP: сборник рецептов, 2-е изд. – Пер. с англ. – М.: КУДИЦ-ПРЕСС, 2006. -768с. 7. Шилдт Г.ю Холмс Д. Искусство программирования на Java. – Пер. с англ. – М.: Издательский дом «Вильямс», 2005. - 336с. 8. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том 1. Основы, 7-е изд. – Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 896 с. 9. Хорстманн К.С., Корнелл Г. Java 2. Библиотека профессионала, том 2. Тонкости программирования, 7-е изд. – Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 1168 с. 10.Шилдт Г. Полный справочник по Java, 7-е изд. – М.: Издательский дом «Вильямс», 2007. - 1035с. 11.Perrone P.J., Chaganti V.S.R., Schwenk T. J2EE Developer’s Handbook. – The US: Sams Publishing, 2003, 1662 p. 13.2 ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА 12.Джамса К. Библиотека программиста JAVA. – Пер с англ. – Мн.: ООО «Попурри», 1996. – 640 с. 13.Карабин П.Л. Язык программирования Java: Создание интерактивных приложений для Internet. – М.: Бук-пресс, 2006. – 224с. 14.Монсон-Хейфел Р. Enterprise JavaBeans, 3-е изд. – Пер. с англ. – СПб.: Символ-Плюс, 2002. – 672 с. 15.Нильссон Д. Применение DDD шаблонов проектирования: проблемноориентированное проектирование приложений с примерами на C# и .NET. – Пер. с англ. – М.: ООО «И.Д. Вильямс», 2008. – 560с. 16.Шилдт Г. SWING: Руководство для начинающих. – Пер. с англ. – М.: ООО «И.Д. Вильямс», 2007. – 704с. 17.Эферган М. Java: Справочник. – СПб.: Питер, 1998. – 448с. 10 Технологическая карта изучения дисциплины Самостоятельная работа Аудиторная работа Рубежный контроль [2], 1-3[7], 1-6[8], [2], 1-3[7], 1-6[8], 1[2], 1-3[7], 1-6[8], 11-27[10], 1 2 ЭВМ 27[10], 4 27[10], 2 1-7[12] 1-7[12], [13], [17] 1-7[12], [13], [17] 4-5[3], 7-8[7], 74-5[3], 7-8[7], 7-8[8], Работа с графикой, HTML, мышью с 4-5[3], 7-8[7], 7-8[8], 212 8[8], 21-25[10], 82-9 16 ЭВМ 32 21-25[10], 8-37[12], 10 использованием Java 25[10], 8-37[12] , [17] 37[12] [17] 3-5[9], 20[10], 73-5[9], 20[10], 7-10[11] 3-5[9], 20[10], 7Работа с сетью 10 10-12 6 ЭВМ 12 13 10[11] 38-43[12] 38-43[12], [17] 10[11] 38-43[12], [17] 2[5], 1-3[6], 9[7], 2[5], 1-3[6], 9[7], 322[5], 1-3[6], 9[7], 32Java сервлеты 13 13 4 ЭВМ 8 15 32-33[10] 33[10], [17] 33[10], [17] 1-5[1], [4], [5], 11-5[1], [4], [5], 1-2,51-5[1], [4], [5], 1-2,5Java Server Pages (JSP) 15 14-15 4 ЭВМ 8 16 2,5-27[6], [11] 27[6], [11], [17] 27[6], [11], [17] Условные обозначения: номер раздела основного учебника – число перед скобками номер раздела, в скобках номер используемого учебника Ознакомление с языком Java. Работа с бегущей строкой 1 Рейтинговый балл Неделя рубежного контроля Учебно-методическая литература Затраты времени в часах Учебно-методическая литература ТСО Затраты времени в часах Лабораторные работы Номер лабораторной работы Номера разделов основных учебников Наименование элемента модуля Трудоемкость дисциплины 3 зач.ед. Число часов в семестре 96 Число часов в неделе 6 лекций 0 лабораторных работ 2 практических (семинарских) занятий 0 самостоятельной работы 4 Форма отчетности зачет Неделя начала изучения элемента модуля Направление 010400 – Прикладная математика и информатика Специальность 01040068 – Прикладная математика и информатика Семестр 1 8 40 62 75 80 11