- •Санкт-Петербург – 2011
- •Раздел 1. Характеристики, структура и содержание учебных занятий
- •Цели и результаты учебных занятий.
- •Требования к подготовленности обучающегося к освоению содержания учебных занятий (пререквизиты).
- •Перечень формируемых компетенций (результаты обучения)
- •Знания, умения, навыки, осваиваемые обучающимся.
- •Перечень и объём активных и интерактивных форм учебных занятий.
- •Организация учебных занятий.
- •1.6.1. Трудоёмкость, объёмы учебной работы и наполняемость
- •1.6.2. Виды, формы и сроки текущего контроля успеваемости и промежуточной аттестации
- •1.7. Структура и содержание учебных занятий
- •Раздел 2. Обеспечение учебной дисциплины
- •2.1. Методическое обеспечение
- •2.1.1. Методическое обеспечение аудиторной работы
- •2.1.2. Методическое обеспечение самостоятельной работы
- •2.1.3. Методика проведения текущего контроля успеваемости, промежуточной аттестации и критерия оценивания
- •2.3.2. Требования к аудиторному оборудованию, в том числе к неспециализированному компьютерному оборудованию и программному обеспечению общего пользования
- •2.4.2. Список дополнительной литературы
- •2.4.3. Перечень иных информационных источников
- •Раздел 3. Процедура разработки и утверждение рабочей программы учебной дисциплины
- •Иные документы об оценке качества рабочей программы
- •Внесение изменений в рабочую программу
- •Приложение с1-1
- •1. Еженедельный отчет студента
- •2. Регулярный контроль на аудиторном занятии
- •3. Итоговый контроль на зачетных и экзаменационных мероприятиях
- •Приложение с1-2
- •Приложение с1-3
- •1. Файлы
- •2. Процедуры и функции
- •3. Циклы, массивы, вычисления
- •04. Множества, строки, записи
- •5. Логические выражения и операторы ветвления.
- •Приложение с1-4
- •Ооп: инкапсуляция
- •Ооп: полиморфизм
- •Приложение с1-5
- •Приложение с2-1
- •1. Еженедельный отчет студента
- •2. Регулярный контроль на аудиторном занятии
- •3. Итоговый контроль на зачетных и экзаменационных мероприятиях
- •Приложение с2-2
- •Приложение с2-3
- •1. Файлы
- •2. Процедуры и функции
- •3. Циклы, массивы, вычисления.
- •4. Множества, строки, записи
- •5. Графика
- •6. Сортировки (быстрая сортировка — имеется ввиду нерандомизированная):
- •7. Рекурсия
- •8. Разработка и программная реализация алгоритмов
- •9. Перебор
- •10. Бинарные деревья и поиск
- •11. Перестановки
- •12. Графы
- •13. Стек, очередь, очередь с приоритетатами
- •14. Списки, хеш-таблицы, сбалансированные деревья.
- •Приложение с2-4
- •Приложение с2-5
Приложение с2-1
Домашнее чтение второго семестра
№ |
Тема и материалы для прочтения (расшифровка номеров источников представлена после таблицы) |
Дэдлайн — дата и время поступления ‘отчета о прочтении материалов в п/я преподавателя |
|
01 |
Что такое Java, JDK, JRE, интегрированная среда разработки; каковы основные понятия и особенности Java. Виды программ на Java.
1.: Главы 1, 2 (Введение в язык Java; Среда программирования Java) 2.: Введение и модуль 1 (Общие сведения о Java)
Сортировки. 4.: -- 5.: С. 71–82 6.: С. 173–213 7.: -- |
2 неделя |
|
02 |
Простые (встроенные) типы данных, константы и литералы, классы-оболочки, строки, исключительные ситуации. Массивы. Выражения и операторы. Структура файла, который можно откомпилировать для последующего исполнения. Универсальные типы.
1.: Главы 3, 12 (Основные конструкции языка Java; Обобщенное программирование) 2.: Модули 1, 2, 3, 5, 13 (Общие сведения о Java; Обобщенные сведения о типах данных и операторах; Управляющие структуры; Дополнительные сведения о типах данных и операторах; Универсальные типы)
Рекурсия. Как можно обойтись без рекурсии. 4.: С. 292–299 5.: С. 116–142 6.: -- 7.: -- |
3 неделя |
|
03 |
Объектно-ориентированное программирование в Java, структуризация; пакеты, классы, объекты и классы, права доступа; статические и нестатические члены. Стиль программирования и документирование программ на Java.
1.: Глава 4 (Объекты и классы) 2.: Модули 1, 4, 6 и 8, Приложение Б (Общие сведения о Java; Классы, объекты и методы; Дополнительные сведения о методах и классах; Пакеты и интерфейсы; Использование комментариев документации Java)
Классические задачи комбинаторики. Понятие и основные свойства перестановок, сочетаний, размещений. 4.: -- 5.: С. 42–56 6.: -- 7.: С. 25–31 |
4 неделя |
|
04 |
Исключения. Обработка ошибок. Перехват исключений. Протоколирование. Отладка.
1.: Глава 11 (Исключения, протоколирование, утверждения и отладка) 2.: Глава 9 (Обработка исключений)
Генерация перестановок, определение перестановки по номеру, определение номера перестановки. Размещения. Генерация размещений в лексикографическом порядке. Генерация следующего размещения за заданным. Определение размещения по номеру. Определение номера по размещению. 4.: -- 5.: С. 42–56 6.: -- 7.: С. 31–46 |
5 неделя |
|
05 |
Наследование, суперклассы, подклассы, абстрактные классы, интерфейсы, клонирование.
1.: Главы 5, 6 (Наследование; Интерфейсы и вложенные классы) 2.: Модули 7, 8 (Наследование; Пакеты и интерфейсы)
Сочетания. Генерация всех сочетаний в лексикографическом порядке. Определение сочетания по номеру. Определение номера по сочетанию. Задача разбиения числа на слагаемые. 4.: -- 5.: С. 42–56 6.: С. 265–268 7.: С. 46–58 |
6 неделя |
|
06 |
GUI — основы Swing. Понятие компонента. События. Обработка событий. Иерархия событий.
1.: Главы 7, 8 (Программирование графики; Обработка событий) 2.: Модули 14 и 15 (Аплеты и события; Общие сведения о Swing)
Понятие списка. Односвязные и двусвязные списки. Понятие, свойства, примеры использования. 4.: С. 11–24 5.: -- 6.: -- 7.: -- |
7 неделя |
|
07 |
GUI – компоненты Swing. Компоновка элементов. Компоненты отображения текста. Меню. Диалоговые окна.
1.: Глава 9 (Компоненты пользовательского интерфейса Swing) 2.: Глава 15 (Общие сведения о Swing)
Базовые структуры данных. Стек, очередь, очередь с приоритетами. Понятие, свойства, примеры использования. 4.: С. 50–73 5.: -- 6.: С. 260–273 7.: -- |
8 неделя |
|
08 |
Обобщенное программирование. Обобщенные классы, методы, типы. Ограничения. Коллекции. Интерфейсы коллекций. Алгоритмы с коллекциями. Иерархия типов коллекций. 1.: Главы 12, 13 (Обобщенное программирование; Коллекции) 2.: Модуль 13 (Универсальные типы)
Хеш-таблица. Понятие, свойства, примеры использования. 4.: С. 126–137 5.: -- 6.: С. 282–307 7.: -- |
9 неделя |
|
09 |
Потоки чтения. Потоки записи. Работа с файлами. Новые средства для обработки ввода вывода.
2.: Модуль 10 (Ввод-вывод данных) 3.: Глава 1 (Потоки и файлы)
Деревья. Бинарное дерево и 2-3 дерево. Понятие, свойства, примеры использования. 4.: С. 91–110 5.: -- 6.: С. 274–276, 317–327 7.: -- |
10 неделя |
|
10 |
Базы данных в Java. JDBC. SQL. Простые запросы. Множественные результаты. Транзакции.
2.: -- 3.: Глава 4 (Работа с базами данных)
Графы. Представление графов. Обходы в ширину и глубину. 4.: С. 207–230 5.: С. 145–149 6.: С. 609–630 7.: С. 141–144 |
11 неделя |
|
11 |
Апплеты. Файлы JAR. Упаковка приложений. Хранение параметров настройки.
1.: Глава 10 (Развертывание приложений и аплетов) 2.: Модуль 14 (Аплеты и события)
Алгоритмы Флойда–Уоршелла. Алгоритм Дейкстры. 4.: С. 230–246 5.: С. 145–149 6.: С. 680–686 7.: С. 161–168 |
12 неделя |
|
12 |
Многопоточность. Потоки. Виды состояний и прерывания потоков. Синхронизация. Синхронизаторы.
1.: Глава 14 (Многопоточность) 2.: Модуль 11 (Многопоточные программы)
Алгоритм проверки связности и поиска числа компонент связности. 4.: -- 5.: С. 149–155 6.: -- 7.: С. 151–157 |
13 неделя |
|
13 |
Расширенные средства Swing: списки, деревья, таблицы, панель редактирования
2.: -- 3.: Глава 6 (Расширенные средства Swing)
Алгоритм Краскала. Алгоритм Прима 4.: С. 246–255 5.: -- 6.: С. 645-656 7.: -- |
14 неделя |
|
Обязательные источники
(их рекомендуется немедленно купить или получить в свое распоряжение каким-то иным способом)
1. Хорстман К., Корнелл Г.: Java 2. Библиотека профессионала. Том 1. Основы, 8-е издание, 2009. Вильямс, 816 с
2. Шилдт Г. Java: руководство для начинающих. 4-е изд., 2009. Вильямс, 720 с.
3. Хорстман К., Корнелл Г.: Java 2. Библиотека профессионала. Том 2 Тонкости программирования, 8-е издание, 2009. Вильямс, 1168 с.
4. Кубенский А.А. Создание и обработка структур данных в примерах на Java», СПб.: БХВ-Петербург, 2001, 336 стр.
5. Шень А. Программирование: теоремы и задачи (c1) 2-е изд., М.: МЦНМО, 2004, 296 с.
6. Кормен Т., Лейзерсон Ч., Ривест Р.Л. Штайн К. Алгоритмы: построение и анализ. 2-е издание. Издательский дом «Вильямс», 2005. 1296 с.
7. Окулов С.М. Программирование в алгоритмах. Бином. Лаборатория знаний. 2002. 332 с.
Технология чтения
Следует читать все перечисленные источники.
Например, по теме 12 «Многопоточность. Потоки. Синхронизация.» и «Алгоритм проверки связности и поиска числа компонент связности.» указаны следующие источники:
3. Глава 1
4.: --
5.: С. 149–155
6.: --
7.: С. 151–157
Из этого следует, что необходимо прочитать целиком главу 1 из второго тома книги Хорстманна, страницы 149–155 из книги Шеня и страницы 151–157 из книги Окулова.
В таблице указан минимальный объем чтения. График чтения можно проходить с опережением; при этом все контрольные сроки должны строго соблюдаться.
Работа над материалом должна продолжаться до тех пор, пока студент его не освоит. В частности, при работе над темами, которые предполагают ознакомление с материалом источника [1], для контроля освоения материала студент обязан ознакомиться с вопросами в конце соответствующих глав указанного источника и ответить на них.
Технология сдачи прочитанного
Контроль освоения материала осуществляется в три этапа.