МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Саратовский государственный университет имени Н.Г. Чернышевского» Факультет компьютерных наук и информационных технологий УТВЕРЖДАЮ ___________________________ "__" __________________20__ г. Рабочая программа дисциплины Спецсеминар 2_1 Технология Java Направление подготовки 010500 Математическое обеспечение и администрирование информационных систем Профиль подготовки Параллельное программирование Квалификация (степень) выпускника Бакалавр Форма обучения очная Саратов, 2011 1. Цели освоения дисциплины Целями освоения дисциплины Спецсеминар 2_1 «Технология Java» являются 1. Изучение процесса проектирования программных продуктов на основе объектно-ориентированной технологии с использованием Java платформы; 2. Развитие умений использования преимущества данной технологии при решении профессиональных задач; 3. Получение и систематизация знаний о развитии технологий программирования, о разработке компонентов программного продукта; 4. Освоение структуры и приемов работы с инструментальными средствами, поддерживающими создание программного обеспечения на языке Java (Eclipse/NetBeans) для решения профессиональных задач; 5. Развитие способностей анализа предметной области с целью выявления требований к разрабатываемому программному обеспечению; 6. Воспитание культуры публичных выступлений, чувства ответственности за результаты своего труда. 2.Место дисциплины в структуре ООП бакалавриата Дисциплина входит в раздел «Профессиональный цикл. Вариативная часть» ФГОС-3. Для изучения курса необходимы компетенции, сформированные в ходе изучения следующих дисциплин профессионального цикла: «Информатика и программирование», «Структуры и алгоритмы компьютерной обработки данных», «Операционные системы и оболочки», «Технология разработки программного обеспечения». Прохождение курса запланировано в седьмом семестре (первом семестре четвертого курса). Для успешного освоения данной дисциплины обучающийся должен знать: основные этапы компьютерного решения функциональных и вычислительных задач; базовые структуры и алгоритмы компьютерной обработки данных; основные принципы объектно-ориентированного программирования. уметь: разрабатывать алгоритмы решения практических задач; создавать эффективные и надежные компьютерные программы по готовым алгоритмам. Параллельный курс Спецкурс 2_1 «Программирование на языке Java» предполагает теоретическую основу, получение базовых знаний о языке Java(лекционные занятия) и решение задач с использованием системы автоматической проверки задач, размещенной на университетском сервере (организация самостоятельной работы студента). Данный курс Спецсеминар 2_1 предполагает практическое сопровождение тем Спецкурса 2_1, обсуждение и решение с помощью платформы Java дополнительных проблем и задач. Компетенции, сформированные в ходе изучения данной дисциплины, будут использоваться при написании выпускной квалификационной работы. 3 Компетенции обучающегося, формируемые в освоения дисциплины Спецсеминар 2_1 «Технология Java» результате определение общих форм, закономерностей, инструментальных средств для данной дисциплины (ПК 1); умение понять поставленную задачу (ПК 2); умение формулировать результат (ПК 3); умение грамотно пользоваться языком предметной области (ПК 7); умение ориентироваться в постановках задач (ПК 8); умение извлекать полезную научно-техническую информацию из электронных библиотек, реферативных журналов, сети Интернет (ПК 17); умение публично представить собственные и известные научные результаты (ПК 18); знание содержания, основных этапов и тенденции развития программирования, математического обеспечения и информационных технологий (ПК 21). В результате освоения дисциплины обучающийся должен: Знать: Основные этапы и тенденции развития ООП на языке Java; Возможности, реализуемые технологией Java в интернете; Особенности стиля кодирования Java; Различные паттерны проектирования программного обеспечения, реализованные в стандартных библиотеках Java; 5. Приемы контроля входных данных приложения. 1. 2. 3. 4. Уметь: 1. Использовать компоненты стандартных библиотек Java для решения профессиональных задач; 2. Создавать иерархию классов приложения; 3. Создавать диаграммы UML; 4. Документировать Java-программу; 5. Извлекать полезную научно-техническую информацию из электронных библиотек, реферативных журналов, сети Интернет; 6. Представлять известные научные результаты и результаты своего труда. Владеть: 1. Навыками работы в средах разработки программного обеспечения NetBeans/Eclipse для решения профессиональных задач; 2. Методами проектирования и производства программного продукта, используя технологию Java. 4. Структура и содержание дисциплины Спецсеминар 2_1 «Технология Java» Общая трудоемкость дисциплины составляет 2 зачетные единицы 72 часа. Неделя семестра Раздел дисциплины Семестр № п / п Виды учебной Формы текущего работы, контроля успеваемости включая (по неделям семестра) самостоятельн Формы промежуточной ую работу аттестации (по студентов и семестрам) трудоемкость (в часах) 1. Происхождение языка Java. 7 Связь с другими языками. Возможности, реализуемые технологией java в интернете. Среда разработки NetBeans/Eclipse 1 сем 2 2. ООП. Диаграммы UML Разработка проектов с использованием UML 3. Реализация части проекта, реализация иерархии классов 4. Документирование C javaпрограмм 5. Создание графического интерфейса с использованием Swing 6. Обработка исключительных ситуаций. Контроль вводимых данных. Регулярные выражения 7. РаботаCс БД в Java (JDBC). 7 2 2 2 Опрос. Проверка набора диаграмм по проекту 7 3-4 4 4 Контрольная работа 1 7 5 2 2 Опрос 7 6 2 4 Проверка индивидуальных заданий 7 7 2 2 Контрольная работа 2 7 6 6 8. Создание JavaBean 7 810 11 2 2 9. Сведения об апплетах. Структура апплета. Создание апплета. 10. Сервлеты. Жизненный цикл. Использование Tomcat 11. Создание и использование Unitтестов. 12. Создание Web-сервисов. 13. Промежуточная аттестация 14. Итого 7 4 4 6 4 Опрос 7 1213 1416 17 Проверка индивидуальных заданий Опрос. Проверка индивидуальных заданий Опрос 2 2 Проверка Unit-тестов. 7 18 2 2 Опрос Зачет 36 36 7 сам 2 Опрос 5. Образовательные технологии Все аудиторные часы являются практическими занятиями. Студенты готовят доклады на темы, предлагаемые преподавателем. В докладах предполагается теоретическая и практическая части, разбор конкретных задач и сценариев развития событий. Предлагаемые студентами решения рассматриваются всей группой, обсуждаются преимущества и недостатки выбранного пути решения. По ряду тем предполагается решение аналогичных задач каждым студентом группы. Предусмотрены задания, связанные с разбиением студентов на группы на основе выполнения ими различных профессиональных задач. Предполагается участие в видеоконференциях, проводимых фирмами-разработчиками программного обеспечения и экспертами в области программирования. В рамках данного курса используется технология смешанного обучения. Поддержка студента организована с использованием системы управления обучением LMS Moodle, которая установлена на сервере http://course.sgu.ru/. Система LMS Moodle является свободно распространяемым программным обеспечением с открытым исходным кодом. Техническая поддержка системы в Саратовском государственном университете имени Н.Г. Чернышевского осуществляется подразделением университета Поволжским региональным центром новых информационных технологий. Курс доступен для студентов направления 010500 Математическое обеспечение и администрирование информационных систем по адресу http://course.sgu.ru/course/view.php?id=279. LMS Moodle позволяет организовывать общение студентов и преподавателя через форумы, чаты и обмен короткими сообщениями. Результаты работы студентов могут присылаться в виде файлов любого формата: исходный код приложений, библиотеки, снимки экрана компьютера и так далее. Дополнительный материал для самостоятельного изучения доступен студентам в виде аннотированного списка интернет-источников. Система Moodle позволяет реализовывать в курсе интерактивные элементы, направленные на выбор темы собственной работы, существует возможность оценивания работ студентов не только преподавателем, но и однокурсниками. Эти и другие возможности системы используются в курсе. В рамках курса предусмотрены встречи с представителями компаний, специализирующихся на разработке программного обеспечения (в рамках договора сотрудничества с факультетом КНиИТ). 7. Учебно-методическое и информационное обеспечение дисциплины Спецкурс 2_1 «Технология Java» а) основная литература: 1. Г. Шилдт. Искусство программирования на Java- М. ; СПб. ; Киев : Вильямс, 2005 б) дополнительная литература: 1. Х. Дейтел. Технологии программирования на Java 2. Кн. 1 : Графика, JavaBeans, интерфейс пользователя - М. : БИНОМ, 2003; 2. Х. Дейтел. Технологии программирования на Java 2. Кн. 2 : Распределенные приложения. - М. : Бином-Пресс, 2003; 3. Х. Дейтел. Технологии программирования на Java 2. . 3 : Корпоративные системы, сервлеты, JSP, Web-сервисы- М.: БИНОМ, 2003; 4. Хабибуллин И. Ш. Разработка Web-служб средствами Java лин. - СПб. : БХВ-Петербург, 2003; 5. Г. Шилдт. Полный справочник по Java SE 7 Edition – М. ; СПб. ; Киев : Изд. дом "Вильямс", 2008. в) программное обеспечение и Интернет-ресурсы 1. Операционная система Windows/Linux; 2. Пакет Microsoft Office: Word, Power Point или пакет Open Office: Writer, Empress; 3. Браузеры Microsoft Internet Explorer/Mozilla Firefox; 4. Adobe Reader для просмотра электронных документов в формате .PDF; 5. Проигрыватель мультимедийного содержимого Flash Player; 6. Среда исполнения Java Runtime Envitonment http://java.com/ru/; 7. Бесплатная интегрированная среда разработки с открытым исходным кодом NetBeans http://netbeans.org/downloads/index.html 8. Страница курса http://course.sgu.ru/course/view.php?id=279 9. Система автоматической проверки задач http://school.sgu.ru; 10.Примеры кода http://wikis.sun.com/display/code/Home 11.Создание графического пользовательского интерфейса при помощи компонент Java Foundation Classes Swing http://download.oracle.com/javase/tutorial/uiswing/index.html 12.Набор статей о технологии Java http://www.ibm.com/developerworks/ru/java/ 13.Обзор Java EE. Документация. Сообщество. Платформы. http://www.oracle.com/technetwork/java/javaee/overview/index.html?ssSou rceSiteId=ocomen 14. Связанные ссылки, центр разработчиков, технологии, блоги http://www.oracle.com/technetwork/java/index.html 15.Центр разработки Java http://www.oracle.com/technology/global/ru/tech/java/index.html 16.Экстремальное программирование http://xp.1024.info/XPRules/UnitTests.html 17.Создание апплетов - визуализаторов по работе алгоритмов криптографии, дискретной математики, обработки абстрактных структур данных http://rain.ifmo.ru/cat/view.php 18.Andrew Watt. Beginning regular expressions Chapter 25 Introduction to java.util.regex package, page 648 http://reslib.com/book/Beginning_Regular_Expressions/ 19.Вязовик Н.А. Программирование на Java http://www.intuit.ru/department/pl/javapl/ 20.Каллахан И. Практика разработки Web-страниц http://www.intuit.ru/department/internet/webdev/ 21.Мейер Б. Основы объектно-ориентированного программирования http://www.intuit.ru/department/se/oopbases/ 22.Мейер Б. Основы объектно-ориентированного проектирования http://www.intuit.ru/department/se/ooad/ 23. Монахов В.В. Язык программирования Java и среда NetBeans http://www.intuit.ru/department/pl/javanetbeans/ 24.Степанов Е.О. Кросс-платформенные и многозвенные технологии http://www.intuit.ru/department/se/crosspl/ 25.Свистунов А.Н. Построение распределенных систем на Java http://www.intuit.ru/department/pl/distrsysjava/ 8. Материально-техническое обеспечение дисциплины Компьютерный класс, с установленным программным обеспечением, подключенный к сети интернет и к локальной сети университета. Количество компьютеров рассчитывается из соотношения компьютер на каждого студента и преподавателя (8-12). Мультимедийный проектор. Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и Примерной ООП ВПО по направлению 010500 Математическое обеспечение и администрирование информационных систем и профилю подготовки параллельное программирование Автор Ассистент кафедры информатики и программирования ___________ М. С. Портенко Программа одобрена на заседании кафедры информатики и программирования от «14»февраля 2011 года, протокол № 9. Заведующий кафедрой информатики и программирования, доцент ___________ А. Г. Федорова Декан факультета КНиИТ, доцент ___________ А. Г. Федорова