УТВЕРЖДАЮ Заведующий кафедрой ИСТ _____________О.И.Наранович (подпись) «____»_______________20__ г. Методические указания для подготовки к входному компьютерному тестированию «Программирование сетевых приложений» (дисциплина) для специальности: 1-40 01 02 Информационные системы и технологии (название специальности) 4 курс 2 семестр ФЗО . (название факультета (ФЗО, ФНО)) Номер раздела, темы, занятия Выписка из учебной программы дисциплины 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Название раздела, темы, занятия; перечень изучаемых вопросов 2 Раздел 1. Концепция и особенности объектно-ориентированного подхода при использовании языков программирования для разработки сетевых приложений Тема 1. Основные принципы, методы и перспективы разработки объектноориентированных программ и сетевых приложений Тема 2. Фундаментальные методы и свойства сетевой архитектуры и механизмы ее программной реализации в Windows и web-приложениях Раздел 2. Концептуальные основы языка программирования для разработки сетевых приложений Тема 3. Обзор базовых конструкций и основных элементов языка Java Тема 4. Структурные элементы класса, методы взаимодействия объектов и организация наследования в Java Тема 5. Типы исключительных ситуаций и процесс их обработки в Java Тема 6. Потоки ввода – вывода и работа с файлами в Java Тема 7. Организация потоков, параллельной обработки, синхронизации и распределенной обработки синхронизуемых участков кода в Java Тема 8. Структурные механизмы языка Java программирования для реализации полиморфизма в программах. Тема 9. Средства языка Java для организации работы в сети. Основные классы и интерфейсы реализации сетевого взаимодействия Тема 10. Библиотеки и средства внедрения визуальных компонент для организации GUI-интерфейсов пользователя. Обработка событий. Тема 11. Проектирование и разработка приложений в архитектуре клиент-сервер с организацией взаимодействия с базой данных Раздел 3. Технологии web-программирования и разработки сетевых приложений Тема 12. Основы применения расширенных языков гипертекстовой разметки документов и разработки клиентских и серверных скриптов. Тема 13. Создание динамических веб-страниц. Разработка web-приложений с организацией обработки клиентских запросов. Тема 14. Концепция распределенной обработки данных и технологии удаленной обработки данных Конкретные вопросы, позволяющие раскрыть содержание каждой темы 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Язык Java. Интегрированные среды разработки для языка Java Базовые конструкции и основные элементы языка Java Пакеты в Java и импорт классов Платформа Java Комплект разработчика JDK. Исполняющая система JRE. Виртуальная машина Java Парадигмы программирования Основные направления в программировании Основные концепции ООП Понятие класса. Компонентные характеристики в определении класса Конструкторы и методы. Их различия Создание объектов класса и время жизни объекта. Сборщик мусора Виды спецификаторов доступа Спецификаторы [static] [abstract] [final] [native] [synchronized] Наследование классов Внутренние и вложенные классы Перегрузка и переопределение методов. Их применение Динамическая диспетчеризация методов Понятие и использование абстрактных классов Необходимость обработки исключительных ситуаций. Типы исключений Определение и порождение собственных исключительных ситуаций Потоки ввода-вывода и работа с файлами в Java Байтовые и символьные потоки ввода-вывода Понятия сериализации и десериализации объектов Потоки выполнения. Многопоточное программирование Способы создания и запуска потоков выполнения Расширение класса Thread и реализация интерфейса Runnable Жизненный цикл потока Управление потоками и планирование потоков Синхронизация и синхронизированные методы. Синхронизация блоков операторов Управление приоритетами и группы потоков Коммуникация между потоками Понятие интерфейсов. Виды интерфейсов Особенности применения интерфейсов Интерфейсы и классы Множественное наследование интерфейсов Понятие о сетевой архитектуре. Виды сетевых архитектур Одноранговая архитектура Клиент-серверная архитектура и их разновидности Сетевая модель OSI. Уровни модели OSI Понятие протокола, ip-адреса, URL, DNS Стек протоколов TCP/IP Основные сетевые классы и интерфейсы Прокси-серверы Понятие сокетов. Основные классы Понятие дейтаграмм. Основные классы Многоуровневые приложения Java и их структура Паттерны проектирования. Паттерн MVC Понятие фреймворков и их использование 49. Обработка событий при организации GUI-интерфейсов 50. Понятие ODBC-JDBC. Связь ODBC и JDBC 51. Настройка базы данных. Создание соединения с источником данных 52. Драйверы для подключения к БД. Класс DriverManager. Мост JDBC-ODBC 53. Работа с метаданными 54. Основы применения расширенных языков гипертекстовой разметки документов 55. Понятие и виды web-серверов. Настройка 56. Понятие клиентских и серверных скриптов. Запуск и выполнение 57. Обработка форм. Запросы GET и POST 58. Основные элементы и структура языка XML. Схемы DTD и XSD 59. Сервлеты. Основные интерфейсы. Применение сервлетов 60. Жизненный цикл сервлетов 61. Обработка клиентского запроса. Генерация ответов сервера. Основные интерфейсы 62. Технология JSP 63. Сервлеты и JSP 64. Понятия и архитектура распределенной системы и приложений. Требования к распределенным системам 65. Программная реализация удаленного вызова процедур RMI 66. Веб-службы и их использование 67. Протоколы взаимодействия веб-служб 68. Программирование под платформу Java EE. Enterprise JavaBeans Перечень рекомендуемых литературных источников ОСНОВНАЯ ЛИТЕРАТУРА 1. Васильев, А. Н. Java. Объектно-ориентированное программирование для магистров и бакалавров: базовый курс по объектно-ориентированному программированию / А. Н. Васильев. - СПб: Питер, 2012. - 396 с.: ил. 2. Вилтон П. JavaScript. Руководство программиста: учебное пособие / Пол Вилтон, Джереми МакПик. – СПб: Питер, 2009. - 720 с.: ил. 3. Днепров, А. Г. JavaScript на 100 % / А. Г. Днепров. - Москва [и др.] : Питер, 2008. - 299 с.: ил. 4. Лафоре, Р. Структуры данных и алгоритмы Java / Роберт Лафоре. - 2-е изд. СПб: Питер, 2011. - 701 с. : ил. 5. Мархвида И.В. Создание WEB-страниц: HTML, CSS, Javascript / И.В.Мархвида. Мн.: Новое знание, 2002. – ил. 6. Монахов В. Язык программирования Java и среда NetBeans / В. Монахов. – СПб: БХВ-Петербург, 2011. – 720 с. 7. Олифер, В. Г. Компьютерные сети: принципы, технологии, протоколы : учебное пособие для студентов вузов / В. Олифер, Н. Олифер. - 4-е изд. - СПб: Питер, 2010. - 943 с.: ил. 8. Поллок, Дж. JavaScript: руководство разработчика / Джон Поллок. – СПб: Питер, 2011. - 543 с.: ил. 9. Рейсиг, Дж. JavaScript. Профессиональные приемы программирования : учебное пособие / Джон Рейсиг. - СПб: Питер, 2008. - 351 с.: ил. 10. Стивенс, У. Р. UNIX. Разработка сетевых приложений: мастер-класс / У. Р. Стивенс, Б. Феннер, Э. М. Рудофф ; [пер. с англ. Д. Солнышкова]. - 3-е изд. - Москва [и др.] : Питер, 2007. - 1038 с.: ил. 11. Таненбаум, Э. Компьютерные сети: учебное пособие / Э. Таненбаум ; [пер. с англ. В. Шрага]. - 4-е изд. - Москва [и др.] : Питер, 2007. - 991 с. : ил. 12. Эккель Б. Философия Java / Б. Эккель. – СПб: Питер, 2011. – 640 с.: ил. ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА 13. Дейтел Х. М., Дейтел П. Дж. Технологии программирования на Java 2. Книга 2. Распределенные приложения. / Х. М. Дейтел, П. Дж. Дейтел — М. Издательство: «Бином-Пресс», 2009 г. 14. Корнелл Г., Хорстман К. Java 2. Библиотека профессионала. Том 1. Основы. / Г. Корнелл, К. Хорстман. – М.: Вильямс, 2011. – 816 с.: ил. 15. Мухамедзянов Р. Р. Серверные приложения на языке Java / Р. Р. Мухамедзянов. — М. Издательство: «СОЛОН – Р», 2002. 16. Ноутон П., Шилдт Г. Java 2: Пер. с англ. / П. Ноутон, Г. Шилдт. — СПб. Издательство: «БХВ-Петербург», 2008. 17. Смирнов Н. Java 2 Enterprise. Основы практической разработки распределенных корпоративных приложений / Н. Смирнов. – М. Издательство: «КУДИЦОбраз», 2002. 18. Хабибуллин И.Ш. Разработка WEB-служб средствами Javа / И.Ш. Хабибуллин. – СПб: БХВ-Петербург, 2003. – 400 с.: ил. 19. Эдди С.Э. XML: справочник / С.Э. Эдди. – СПб: Издательство «Питер», 1999