
- •Цели освоения дисциплины «Технология программирования»
- •2. Место дисциплины в структуре ооп: подготовки бакалавра по направлению 230400 Информационные системы и технологии
- •3. Компетенции обучающегося, формируемые в результате освоения дисциплины «Объектно – ориентированное программирование»
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •5.1. Содержание разделов дисциплины
- •5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
- •8. Учебно-методическое и информационное обеспечение дисциплины:
- •9. Материально-техническое обеспечение дисциплины:
5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
№ п/п |
Наименование обеспечиваемых (последующих) дисциплин |
|
|||||||||||||||||||
№ № разделов данной дисциплины, необходимых для изучения обеспечиваемых (последующих) дисциплин |
|||||||||||||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
||||||||||||
1 |
Проектирование информационных систем в медиаиндустрии |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
||||||||||
2 |
Информационные системы и технологии в медиаиндустрии |
* |
* |
* |
* |
* |
* |
* |
* |
* |
* |
||||||||||
3 |
Инструментальные средства информационных технологий в медиаиндустрии |
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
|
||||||||||
4 |
Выпускная квалификационная работа |
* |
* |
* |
* |
* |
* |
* |
* |
* |
*
|
5.3. Разделы дисциплин и виды занятий
№ п/п |
Наименование раздела дисциплины |
Л |
ПЗ |
ЛР |
С |
СРС |
Все-го час. |
1. |
Теоретические основы объектно - ориентированного программирования. |
3 |
|
2 |
|
СП=7
|
12 |
2. |
Ключевые операции с классом. |
3 |
|
2 |
|
СП=7
|
12 |
3. |
Объектные ссылки и выделение памяти. Функции и декларации. |
3 |
|
3 |
|
СП=7
|
13 |
4. |
Работа со строками. |
3 |
|
3 |
|
СП=7
|
13 |
5. |
Контейнерные классы в С++. |
4 |
|
3 |
|
СП=8
|
15 |
6. |
Контейнерные классы в Java. |
4 |
|
3 |
|
СП=8
|
15 |
7. |
Исключительные ситуации и их обработка. |
3 |
|
3 |
|
СП=8
|
14 |
8. |
Параметризованные классы. Расширение классов. |
4 |
|
6 |
|
СП=8
|
18 |
9. |
Множественное наследование в C++. |
3 |
|
3 |
|
СП=8 |
14 |
10. |
Применение ООП - парадигмы при разработке многопоточных приложений. |
4 |
|
6 |
|
СП=8 |
18 |
11. |
Курсовой проект. |
|
|
|
|
КП=36 |
|
12. |
Подготовка к экзамену |
|
|
|
|
Э=36 |
|
6. Лабораторный практикум
№ п/п |
№ раздела дисциплины |
Наименование лабораторных работ |
Трудо-емкость (час.) |
1. |
1 |
Начальные шаги в Java и C++.
Задание. Разработать приложения на языках Java и С++ для ввода элементов числового массива с терминала, поэлементного суммирования этих массивов, и последующего вывода полученной суммы на экран. |
2 |
2. |
2 |
Разработка простых объектов на Java или C++.
Задание. Разработать объектную модель, описывающую банковский счет предприятия и банковский счет физического лица. Банковский счет должен поддерживать операции начисления и снятия денежных сумм, перевод денежных сумм с одного счета на другой. Опционально можно объединять (разделять) счета нескольких предприятий (физических лиц). Также, счет может содержать расширенную информацию о его владельце (кредитная история). Разработать классы в С++ и Java, реализующую эту объектную модель. |
2 |
3. |
3 |
Выделение и высвобождение памяти в С++ и Java.
Задание. Разработать приложение на C++ или Java, считывающее графический файл в формате jpg, извлекающее из него числовую информацию (попиксельное описание), и сохраняющее эти данные в массиве, зарезервированном в памяти. Затем высвободить память. Предварительные и вспомогательные соображения рассказываются предварительно преподавателем. |
3 |
4. |
4, 5, 6 |
Работа со строками и коллекциями в Java и C++. Задание. Разработать приложение на С++ или Java, которое выполняет следующее: - программа считывает текстовый файл в память, при этом опускает символы пунктуации и любые другие небуквенные символы, примыкающие к словам в их начале или конце; - сохраняет «очищенные» таким образом слова в векторе или списке; - сортирует сформированный вектор (список). |
3 |
5. |
5 |
Работа с контейнерами в С++.
Задание. Разработать на С++ программу PruneList.cc, которая выполняет следующее: - при вызове из командной строки принимает два аргумента: имя файла и целое число; - указанный файл текстовый файл состоит из одной или нескольких строк, каждая из которых, в свою очередь, состоит из некоторого числа чисел; - считывает все описанные выше элементы и помещает их в некоторый контейнерный класс С++; выбор класса обсуждается индивидуально с преподавателем; - сканирует созданную коллекцию, находит в ней все элементы, превосходящие переданное в командной строке пороговое значение, удаляет их из коллекции, но «не навсегда», а помещает в конец коллекции; - возвращается указатель на то место в коллекции, с которого начинается участок с перемещенными элементами. |
3 |
6. |
6 |
Работа с контейнерами в Java
Задание. Разработать Java класс PruneList, который делает следующее: - при вызове из командной строки принимает два аргумента: имя файла и целое число (java PruneList filename 30); - файл filename состоит из одной или нескольких строк, содержащих числа, записанных с использованием некоторого разделителя; - класс считывает все строки, разбирает их, выделяет числа, и помещает в ArrayList; - сортирует полученный ArrayList; - далее, проходит по полученному списку (итерирует) и удаляет все элементы списка, превосходящих пороговое значение, переданное во втором аргументе при вызове класса; - выводит содержание списка до и после удаления указанных элементов. |
3 |
7. |
7 |
Исключительные ситуации в С++ и Java
Задание. Разработать на С++ и Java словарь в виде бинарного дерева. В каждом узле дерева находится одно слово, причем словарь организован так, что слово, находящееся в узле, в лексикографическом смысле «больше» каждого из слов, находящихся в двух дочерних узлах данного узла. Приложение осуществляет поиск заданного слова в словаре. При нахождении слова, то есть – при совпадении слова в узле дерева с ключевым словом, поиск прекращается, и бросается некоторое исключение. |
3 |
8. |
8 |
Наследование и расширение классов в С++ и Java.
Задание.
|
6 |
9. |
9 |
Множественное наследование в С++.
Задание. Разбор примеров, приведенных преподавателем (от простого к сложному) с различными системами классов с множественным наследованием (на С++). Примеры подобраны так, что содержат неочевидные ошибки. Учащиеся должны найти и исправить ошибки. |
3 |
10. |
4, 5, 10 |
Многопоточные приложении, в том числе с использованием коллекций.
Задание.
|
6 |