4410
.pdfМИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Нижегородский государственный архитектурно-строительный университет»
Ларичева Т.В.
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Учебно-методическое пособие по подготовке к лекциям, практическим занятиям
(включая рекомендации по организации самостоятельной работы)
для обучающихся по дисциплине «Объектно-ориентированное программирование» по направлению подготовки 09.03.03 Прикладная информатика
направленность (профиль) Прикладная информатика в экономике
Нижний Новгород
2022
УДК 004.9
Ларичева Т. В. / Объектно-ориентированное программирование: учебно-методическое пособие / Т. В. Ларичева; Нижегородский государственный архитектурно-строительный университет – Нижний Новгород: ННГАСУ, 2022. – 14 с.– Текст: электронный.
В настоящем учебно-методическом пособии по дисциплине «Объектно-ориентированное программирование» даются конкретные рекомендации учащимся для освоения как основного, так и дополнительного материала дисциплины и тем самым способствующие достижению целей, обозначенных в учебной программе дисциплины. Цель учебно-методического пособия — это помощь в усвоении лекций, в подготовке к практическим занятиям, а также в написании курсовой работы.
Учебно-методическое пособие предназначено для обучающихся в ННГАСУ по дисциплине «Объектно-ориентированное программирование» по направлению подготовки 09.03.03 Прикладная информатика, направленность (профиль) Прикладная информатика в экономике.
© Т.В. Ларичева, 2022
© ННГАСУ, 2022
2
Оглавление
1. |
Общие положения................................................................................................................. |
4 |
|
|
1.1 |
Цели изучения дисциплины и результаты обучения .................................................. |
4 |
|
1.2 |
Содержание дисциплины .............................................................................................. |
4 |
|
1.3 |
Вспомогательная литература для изучения дисциплины .......................................... |
6 |
2. |
Методические указания по подготовке к лекциям ............................................................ |
7 |
|
|
2.1 |
Общие рекомендации по работе на лекциях ............................................................... |
7 |
|
2.2 |
Общие рекомендации при работе с конспектом лекций ............................................ |
7 |
|
2.3 |
Контрольные вопросы ................................................................................................... |
8 |
3. |
Методические указания по подготовке к практическим занятиям .................................. |
9 |
|
|
3.1 |
Общие рекомендации по подготовке к практическим занятиям............................... |
9 |
|
3.2 |
Примеры задач для практических занятий .................................................................. |
9 |
4. |
Методические указания по организации самостоятельной работы............................... |
11 |
|
|
4.1 |
Общие рекомендации для самостоятельной работы ................................................ |
11 |
|
4.2 |
Темы для самостоятельного изучения ....................................................................... |
13 |
3
1. Общие положения
1.1 Цели изучения дисциплины и результаты обучения
Основными целями освоения учебной дисциплины «Объектно-ориентированное программирование» являются изучение основ классической теории объектно-ориентированного программирования, в том числе:
•пути эволюции технологий программирования от алгоритмического к ООП;
•основных принципов объектно-ориентированного построения программных систем (Абстракция, Инкапсуляция, Иерархия, Модульность, Типизация, Параллелизм, Сохраняемость);
•понятий классов, объектов, взаимоотношений между ними, а также многоуровневой модели OMG.
Изучение средств объектно-ориентированного программирования языка Java, платформы Java, стандартной библиотеки классов, основ многопоточного и распределенного программирования, безопасности программных систем использующих технологию Java.
В процессе освоения дисциплины студент должен
Знать:
- языки программирования и приемы разработки или модификации программного кода;
Уметь:
- разрабатывать программное обеспечение для прикладных задач;
Владеть:
- навыками программирования приложений и их отладки.
Данная дисциплина позволит студентам не только систематизировать полученные теоретические знания, укрепить исследовательские навыки, но и даст возможность ориентироваться в новом предметном поле экономической информатики.
1.2 Содержание дисциплины
Материал дисциплины сгруппирован по следующим разделам:
1. Основы Java.
Простые программы, Комментарии, Простые типы данных и литералы, Приведение типов, Основные операторы Java.
2. Управляющие инструкции Java.
Условная инструкция if(), Условная инструкция switch(), Инструкция цикла for(), Инструкция цикла while(), Инструкция do-while(), Метки и инструкции break() и continue().
4
3. Массивы.
Создание одномерного массива, Двухмерные и многомерные массивы, Символьные массивы, Присваивание и сравнение массивов.
4. Классы и объекты.
Знакомство с ООП, Создание классов и объектов, Статические элементы, Доступ к членам класса, Ключевое слово this, Внутренние классы, Анонимные объекты.
5. Методы и конструкторы.
Перегрузка методов, Конструкторы, Объект как аргумент и результат метода, Способы передачи аргументов.
6. Наследование и переопределение методов.
Создание подкласса, Доступ к элементам суперкласса, Конструкторы и наследование, Ссылка на элемент суперкласса, Переопределение методов при наследовании, Многоуровневое наследование, Объектные переменные суперкласса и динамическое управление методами, Абстрактные классы.
7. Пакеты и интерфейсы.
Пакеты в Java, Интерфейсы, Интерфейсные ссылки, Расширение интерфейсов
8. Работа с текстом.
Объекты класса String, Метод toString(), Методы для работы со строками, Сравнение строк, Поиск подстрок и индексов, Изменение текстовых строк, Класс StringBuffer, Аргументы командной строки.
9. Обработка исключительных ситуаций.
Исключительные ситуации, Классы исключений, Описание исключительной ситуации, Множественный блок catch{}, Вложенные блоки try, Искусственное генерирование исключений, Выбрасывание исключений методами, Контролируемые и неконтролируемые исключения, Создание собственных исключений.
10. Многопоточное программирование.
Поточная модель Java, Создание потока, Создание нескольких потоков, Синхронизация потоков.
5
11. Система ввода-вывода.
Байтовые и символьные потоки, Консольный ввод с использованием объекта System.in, Консольный ввод с помощью класса Scanner, Использование диалогового окна, Работа с файлами.
12. Создание программ с графическим интерфейсом.
Создание простого окна, Обработка событий, Приложение с кнопкой, Классы основных компонентов, Создание графика функции, Основы создания апплетов.
1.3Вспомогательная литература для изучения дисциплины
1.Васильев, А.Н. Java. Объектно-ориентированное программирование: Учебное пособие: для магистров и бакалавров. Базовый курс по объектно-ориентированному программированию / А.Н. Васильев. - СПб.: Питер, 2021. - 400 c.
2.Гамма, Э. Паттерны объектно-ориентированного проектирования. / Гамма Э., Хелм Р., Джонсон Р., Влиссидес Д..— СПб.: Питер, 2021. — 448 с.: ил. — (Серия «Библиотека программиста»). ISBN 978-5-4461-1595-2.
3.Нимейер, П. Программирование на Java / П. Нимейер, Д. Леук. - М.: Эксмо, 2020. - 448 c.
6
2. Методические указания по подготовке к лекциям
2.1 Общие рекомендации по работе на лекциях
Лекция является главным звеном дидактического цикла обучения. Ее цель — формирование основы для последующего усвоения учебного материала. В ходе лекции преподаватель в устной форме, а также с помощью презентаций передает обучаемым знания по основным,
фундаментальным вопросам изучаемой дисциплины.
Назначение лекции состоит в том, чтобы доходчиво изложить основные положения изучаемой дисциплины, ориентировать на наиболее важные вопросы учебной дисциплины и оказать помощь в овладении необходимых знаний и применения их на практике.
Личное общение на лекции преподавателя со студентами предоставляет большие возможности для реализации образовательных и воспитательных целей.
При подготовке к лекционным занятиям студенты должны ознакомиться с презентаций,
предлагаемой преподавателем, отметить непонятные термины и положения, подготовить вопросы с целью уточнения правильности понимания. Рекомендуется приходить на лекцию подготовленным, так как в этом случае лекция может быть проведена в интерактивном режиме,
что способствует повышению эффективности лекционных занятий.
2.2 Общие рекомендации при работе с конспектом лекций
В ходе лекционных занятий необходимо вести конспектирование учебного материала.
Конспект помогает внимательно слушать, лучше запоминать в процессе осмысленного записывания, обеспечивает наличие опорных материалов при подготовке к семинару, зачету,
экзамену.
Полезно оставить в рабочих конспектах поля, на которых делать пометки из рекомендованной литературы, дополняющие материал прослушанной лекции, а также подчеркивающие особую важность тех или иных теоретических положений.
В случае неясности по тем или иным вопросам необходимо задавать преподавателю уточняющие вопросы. Следует ясно понимать, что отсутствие вопросов без обсуждения означает в большинстве случаев неусвоенность материала дисциплины.
7
2.3Контрольные вопросы
1.Приведение типов.
2.Модульность.
3.Инкапсуляция.
4.Простые типы данных и литералы.
5.Основные операторы Java.
6.Условная инструкция if().
7.Условная инструкция switch().
8.Инструкция цикла for().
9.Инструкция цикла while().
10.Инструкция do-while().
11.Метки и инструкции break() и continue().
12.Создание одномерного массива.
13.Двухмерные и многомерные массивы.
14.Символьные массивы.
15.Присваивание и сравнение массивов.
16.Создание классов и объектов.
17.Статические элементы.
18.Доступ к членам класса.
19.Ключевое слово this.
20.Внутренние классы.
21.Анонимные объекты.
22.Перегрузка методов.
23.Конструкторы.
24.Объект как аргумент и результат метода.
25.Способы передачи аргументов.
26.Наследование и переопределение методов.
27.Пакеты в Java, Интерфейсы. Интерфейсные ссылки.
28.Работа с текстом.
8
3. Методические указания по подготовке к практическим занятиям
3.1Общие рекомендации по подготовке к практическим занятиям
Входе подготовки к практическим занятиям необходимо изучать основную литературу, знакомиться с дополнительной литературой, а также с новыми публикациями в периодических изданиях: журналах, газетах и т.д. При этом необходимо учесть рекомендации преподавателя и требования учебной программы.
Всоответствии с этими рекомендациями и подготовкой полезно дорабатывать свои конспекты лекции, делая в нем соответствующие записи из литературы, рекомендованной преподавателем и предусмотренной учебной программой. Целесообразно также подготовить тезисы для возможного выступлений по всем учебным вопросам, выносимым на занятие.
При подготовке к практическим занятиям можно также подготовить краткие конспекты по вопросам темы. Очень эффективным приемом является составление схем и презентаций.
Готовясь к докладу или реферативному сообщению, желательно обращаться за методической помощью к преподавателю. Составить план-конспект своего выступления. Продумать примеры с целью обеспечения тесной связи изучаемой теории с реальной жизнью. Своевременное и качественное выполнение самостоятельной работы базируется на соблюдении настоящих рекомендаций и изучении рекомендованной литературы. Студент может дополнить список использованной литературы современными источниками, не представленными в списке рекомендованной литературы, и в дальнейшем использовать собственные подготовленные учебные материалы при написании курсовых и дипломных работ.
3.2Примеры задач для практических занятий
1.Вычисление экспоненты и числа Пи.
2.Вычисление скорости на маршруте.
3.Расчёт орбиты спутника.
4.Решение тригонометрического уравнения.
5.Умножение векторов.
6.Числа Фибоначчи.
7.Сортировка массива.
8.Транспонирование и произведение матриц.
9.Работа с квадратными матрицами.
10.Траектория полёта тела.
11.Площади фигур.
12.Операции с векторами. Произведение полиномов и ряд Тейлора.
3.3Примеры тем расчетно-графических работ
1.Контейнеры, потоки. Object, String. Реализация программы подсчета частоты
9
встречаемости слов в файле
2.Шаблон проектирования «фабричный метод», журналирование, модульное тестирование. Реализация стекового калькулятора
3.Шаблон проектирования MVC. Графический интерфейс пользователя. Реализация игры сапер или тетрис (по выбору)
4.Многопоточность и параллелизм. Реализация фабрики-конвейера по сбору «изделий» из «деталей»
5.Распределенное программирование. Сетевое взаимодействие. Реализация многопользовательского чата
10