МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Колледж Алтайского государственного университета

Разработка программных модулей

рабочая программа дисциплины
Закреплена за отделениемОтделение экономики и информационных технологий
Направление подготовки09.02.07. специальность Информационные системы и программирование
Форма обученияОчная
Учебный план09_02_07_ИнфСистемыПрогр_тест-2023_11кл
Часов по учебному плану 166
в том числе:
аудиторные занятия 118
самостоятельная работа 40
индивидуальные консультации 2
контроль 6
Виды контроля по семестрам
экзамены: 4
курсовая работа: 4

Распределение часов по семестрам

Курс (семестр) 1 (2) 2 (3) 2 (4) Итого
Недель 16 16 17
Вид занятий УПРПДУПРПДУПРПДУПРПД
Лекции 16 16 16 16 12 12 44 44
Лабораторные 36 36 24 24 14 14 74 74
Сам. работа 16 16 20 20 4 4 40 40
Консультации 0 0 0 0 2 2 2 2
Часы на контроль 0 0 0 0 6 6 6 6
Итого 68 68 60 60 38 38 166 166

Программу составил(и):
преподаватель, Третьякова Ольга Николаевна

Рецензент(ы):
преподаватель, Кочкин Андрей Сергеевич

Рабочая программа дисциплины
Разработка программных модулей

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт среднего профессионального образования по специальности 09.02.07 Информационные системы и программирование (приказ Минобрнауки России от 09.12.2016 г. № 1547)

составлена на основании учебного плана:
Информационные системы и программирование
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании Совета колледжа

Протокол от 28.02.2023 г. № 5
Срок действия программы: 2023-2024 уч. г.

Заведующий отделением
Глубокова Л.Г., канд. экон.наук


1. Цели освоения дисциплины

1.1.формировать умение разрабатывать как отдельные программные модули, так и целостную программную систему

2. Место дисциплины в структуре ППСЗ

Цикл (раздел) ППСЗ: МДК.01

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОК 01. Выбирать способы решения задач профессиональной деятельности применительно к различным контекстам;
ОК 02. Использовать современные средства поиска, анализа и интерпретации информации и информационные технологии для выполнения задач профессиональной деятельности;
ОК 04. Эффективно взаимодействовать и работать в коллективе и команде;
ПК 1.1. Формировать алгоритмы разработки программных модулей в соответствии с техническим заданием.
ПК 1.2. Разрабатывать программные модули в соответствии с техническим заданием.
ОК 09. Пользоваться профессиональной документацией на государственном и иностранном языках.
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.основные этапы разработки программного обеспечения;
основные принципы технологии структурного и объектно-ориентированного программирования;
способы оптимизации и приемы рефакторинга;
основные принципы отладки и тестирования программных продуктов
3.2.Уметь:
3.2.1.осуществлять разработку кода программного модуля на языках низкого и высокого уровней;
создавать программу по разработанному алгоритму как отдельный модуль;
осуществлять разработку кода программного модуля на современных языках программирования;
уметь выполнять оптимизацию и рефакторинг программного кода;
оформлять документацию на программные средства
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.разработки кода программного продукта на основе готовой спецификации на уровне модуля;
использования инструментальных средств на этапе отладки программного продукта;
использовании инструментальных средств на этапе отладки программного продукта;

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Жизненный цикл ПО
1.1. Понятие ЖЦ ПО. Этапы ЖЦ ПО Лекции 2 1 ОК 04., ОК 09. Л2.1, Л1.1
Раздел 2. Структурное программирование
2.1. Технология структурного программирования. Лекции 2 1 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1
2.2. Инструментальные средства оформления и документирования алгоритмов программ Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1
2.3. Оценка сложности алгоритма: классификация, классы алгоритмов, неразрешимые задачи Лекции 2 1 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1
2.4. Оценка сложности алгоритмов сортировки Лабораторные 2 2 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.3
2.5. Оценка сложности алгоритмов поиска Лабораторные 2 2 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.3
2.6. Оценка сложности рекурсивных алгоритмов Лабораторные 2 2 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1
2.7. Оценка сложности эвристических алгоритмов Лабораторные 2 2 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1
2.8. Структурное программирование Сам. работа 2 8 ОК 01., ОК 02., ОК 09., ПК 1.1. Л2.1, Л1.1
Раздел 3. Объектно-ориентированное программирование
3.1. Основные принципы объектно-ориентированного программирования. Классы: основные понятия Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.2. Перегрузка методов Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.3. Операции класса Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.4. Иерархия классов Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.5. Синтаксис интерфейсов Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.6. Интерфейсы и наследование Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.7. Структуры Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.8. Делегаты Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.9. Регулярные выражения Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.10. Коллекции. Параметризованные классы Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.11. Указатели Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.12. Операции со списками Лекции 2 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1, Л1.2
3.13. Работа с классами. Перегрузка методов. Определение операций в классе. Создание наследованных классов Лабораторные 2 6 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
3.14. Работа с объектами через интерфейсы. Использование стандартных интерфейсов Лабораторные 2 6 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
3.15. Работа с типом данных структура. Коллекции. Параметризованные классы Лабораторные 2 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
3.16. Использование регулярных выражений Лабораторные 2 6 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
3.17. Операции со списками Лабораторные 2 6 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
3.18. Объектно-ориентированное программирование Сам. работа 2 8 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1, Л1.2
Раздел 4. Паттерны проектирования
4.1. Назначение и виды паттернов Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
4.2. Основные шаблоны. Порождающие шаблоны. Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
4.3. Структурные шаблоны. Поведенческие шаблоны Лекции 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
4.4. Использование основных шаблонов. Использование порождающих шаблонов. Использование структурных шаблонов. Использование поведенческих шаблонов Лабораторные 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
Раздел 5. Событийно-управляемое программирование
5.1. Событийно-управляемое программирование Лекции 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.2. Элементы управления. Диалоговые окна. Обработчики событий. Лекции 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.3. Введение в графику Лекции 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.4. Разработка приложения с использованием текстовых компонентов Лабораторные 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.5. Разработка приложения с несколькими формами Лабораторные 3 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.6. Разработка приложения с не визуальными компонентами Лабораторные 3 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.7. Разработка игрового приложения Лабораторные 3 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.8. Разработка приложения с анимацией Лабораторные 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
5.9. Событийно-управляемое программирование Сам. работа 3 12 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
Раздел 6. Оптимизация и рефакторинг кода
6.1. Методы оптимизации программного кода Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1
6.2. Цели и методы рефакторинга Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1
6.3. Оптимизация и рефакторинг кода Лабораторные 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1
Раздел 7. Разработка пользовательского интерфейса
7.1. Правила разработки интерфейсов пользователя Лекции 3 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
7.2. Разработка интерфейса пользователя Лабораторные 3 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
7.3. Разработка пользовательского интерфейса Сам. работа 3 8 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
Раздел 8. Основы ADO.Net
8.1. Работа с базами данных Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.2. Доступ к данным Лекции 3 1 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.3. Создание таблицы, работа с записями Лекции 4 8 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.4. Способы создания команд Лекции 4 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1. Л2.1, Л1.1
8.5. Создание приложения с БД Лабораторные 4 10 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.6. Создание запросов к БД Лабораторные 4 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.7. Основы ADO.Net Сам. работа 4 4 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1
8.8. Разработка приложений, взаимодействующих с базами данных Консультации 4 2 ОК 01., ОК 02., ОК 04., ОК 09., ПК 1.1., ПК 1.2. Л2.1, Л1.1

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Оценочные материалы для текущего контроля (лабораторные работы, индивидуальное задание, тесты) размещены в онлайн-курсе на образовательном портале https://portal.edu.asu.ru/course/view.php?id=7437#section-7

Контрольные вопросы и задания для проведения промежуточной аттестации в форме дифференцированного зачета по итогам освоения дисциплины
Тестовые задания:
1. Какое утверждение относительно java.util.Random корректно:
а) void nextBytes(byte[] arr) — заполняет массив arr нулями
б) последовательный запуск приложения, генерирующего последовательность псевдослучайных чисел, никогда не вернет одинаковых последовательностей
в) используется для получения последовательности псевдослучайных чисел
2. Какое утверждение относительно java.util.Random корректно:
а) double nextGaussian()— возвращает случайное число в диапазоне от 0.0 до 1.0 распределенное по нормальному закону
б) void nextBytes(byte[] arr) — заполняет массив arr нулями
в) последовательный запуск приложения, генерирующего последовательность псевдослучайных чисел, никогда не вернет одинаковых последовательностей
3. Сколько объектов порождается при инициализации массива new int[3][]:
а) 1
б) 3
в) 2
4. Какое утверждение относительно класса String верно:
а) является абстрактным
б) содержит только статические методы
в) обладает свойством неизменяемости
5. Какое значение может принимать переменная булева типа:
а) true
б) 0
в) 1
6. Вы создали класс Animal в пакете ru.animal. Где будет хранится исходный код класса в файловой системе:
а) ru\animal\Animal.class
б) ru\Animal.java
в) ru\animal\Animal.java
7. Может ли массив основываться на абстрактных классах
а) нет
б) да
8. Что такое приоритет потока:
а) качественная характеристика, обеспечивающая распределение процессорного времени между потоками: чем выше приоритет, тем в среднем чаще будет выделяться процессорное время для такого потока
б) процессор сначала выполняет все задачи с более высоким приоритетом, затем – с менее высоким
в) порядковый номер потока в очереди на исполнение
9. Какая кодировка используется классом OutputStreamWriter по умолчанию:
а) UTF-8 независимо от системы, где запущена Java-машина
б) UTF-16 независимо от системы, где запущена Java-машина
в) используемая кодировка зависит от системы, где запущена Java-машина
10. Какое утверждение относительно методов класса верно:
а) идентификатор метода при объявлении становится составным именем метода
б) к методу, объявленному с модификаторами public final, нельзя обратиться из класса-наследника
в) метод, объявленный с модификатором final, не может быть переопределен в классе-наследнике
11. Каким образом на однопроцессорной машине исполняются многопоточные приложения:
а) количество процессоров для многопоточной архитектуры не имеет значения
б) рабочее время процессора разбивается на небольшие интервалы, в течение которых выполняется одна задача, после чего происходит переключение на следующую задачу
в) на однопроцессорном компьютере многопоточные приложения не исполняются
12. Какой из перечисленных ниже классов имеет наибольшее сходство с классом Vector:
а) ArrayList
б) LinkedList
в) AbstractCollection
13. Какой класс соответствует классу CharArrayReader, но работает только с байтовыми данными:
а) FilterInputStream
б) BufferedInputStream
в) ByteArrayInputStream
14. Какой метод нужно переопределить, чтобы реализовать отрисовку внешнего вида компонента:
а) paint
б) repaint
в) show
15. От какого класса наследуются InputStream иOutputStream:
а) AbstractStream
б) Object
в) IOWriter
Правильные ответы:
1 в
2 а
3 а
4 в
5 а
6 в
7 б
8 а
9 в
10 в
11 б
12 а
13 в
14 а
15 б
Критерии оценивания:
Каждое задание оценивается 1 баллом. Оценивание КИМ в целом:
85-100 баллов (оценка «отлично») - 85-100% правильных ответов
70-84 баллов (оценка «хорошо») - 70-84% правильных ответов
50-69 баллов (оценка «удовлетворительно») - 50-69% правильных ответов
0-49 баллов (оценка «неудовлетворительно») - 0-49% правильных ответов

Контрольные вопросы и задания для проведения промежуточной аттестации в форме экзамена по итогам освоения дисциплины
Тестовые задания
1. Что такое класс в Java
а) Уровень сложности программы. Все операторы делятся на классы в зависимости от сложности их использования.
б) Базовый элемент объектно-ориентированного программирования в языке Java.
в) Одно из возможных названий переменной.
г) Такое понятие есть только в C++, в Java такого понятия нет.
2. Как объявить класс в коде?
а) class MyClass {}
б) new class MyClass {}
в) select * from class MyClass {}
г) MyClass extends class {}
3. Что будет выведено в результате выполнения кода:
int a=5;
int b=a+5;
if (a>b){
System.out.println("a>b");
}
else if (a<b){
System.out.println("a<b");
}
else {
System.out.println("a=b");
}
а) a>b
б) a<b
в) a=b
4. Для чего используется оператор NEW?
а) Для создания новой переменной.
б) Для объявления нового класса.
в) Для создания экземпляра класса.
г) Это команда, противоположность оператору OLD.
5. Что означает ключевое слово extends?
а) Что данный класс наследуется от другого.
б) Что это дополнительный модуль класса, который расширяет его свойства.
в) Что два класса делают одно и то же.
г) Что это самый большой класс в программе.
6. Что означает перегрузка метода в Java (overload).
а) Изменение поведения метода класса относительно родительского.
б) Изменение поведения метода класса относительно дочернего.
в) Несколько методов с одинаковым названием, но разным набором параметров.
г) Несколько разных классов с одинаковым методом.
7. Что означает переопределение метода в Java (override).
а) Изменение поведения метода класса относительно родительского.
б) Изменение поведения метода класса относительно дочернего.
в) Несколько методов с одинаковым названием, но разным набором параметров.
г) Несколько разных классов с одинаковым методом.
8. Чем отличаются static-метод класса от обычного метода класса.
а) Поведение обычного метода класса можно изменить в классе-наследнике, а поведение static-метода нельзя.
б) Обычный метод класса можно переопределить, а static-метод нельзя.
в) Обычный метод класса работает от объекта класса, а static-метод от всего класса.
г) Static-метод класса можно вызывать только внутри класса, а обычный - в любой части кода.
9. Как вызвать static-метод внутри обычного?
а) Никак, static-метод можно вызвать только от объекта класса.
б) Можно, надо перед этим перегрузить обычный метод класса.
в) Можно, надо перед этим переопределить обычный метод класса.
г) Можно, ничего дополнительно делать не надо.
10. Как вызвать обычный метод класса внутри static-метода?
а) Никак, static-метод не работает с объектом класса.
б) Можно, надо перед этим перегрузить обычный метод класса.
в) Можно, надо перед этим переопределить обычный метод класса.
г) Можно, ничего дополнительно делать не надо.
11. Для чего необходимо ключевое слово this
а) Это указатель на переопределенный метод класса. Его нельзя опускать при вызове, иначе переопределение не сработает.
б) Это указатель на текущий объект класса внутри самого класса. Его можно опускать при вызове метода класса, но лучше этого не делать.
в) Это не ключевое слово.
г) Это ключевое слово для вызова обычного метода внутри static-метода. Его нельзя опускать, иначе вызов не сработает и будет ошибка.
12. Что вернет метод, объявленный следующим образом:
public static int getAmount()
а) Не ясно, надо смотреть код метода.
б) Вернет static-поле класса.
в) Вернет ссылку на объект класса this.
г) Вернет целочисленное значение.
13. Что представляет ключевое слово super?
а) Текущий экземпляр класса
б) Текущий экземпляр родительского класса
в) Наследованный класс
14. Как обозначается побитовое логическое отрицание?
а) ~
б) !
в) -
15. Какое ключевое слово не используется для работы с исключениями?
а) finally
б) switch
в) throws
16. Почему нельзя наследовать от класса string?
а) Он не имеет тела
б) Он не является классом
в) Он объявлен как final
17. Как называется процесс сохранения состояния объекта в последовательность байт?
а) Байтизация
б) Десериализация
в) Сериализация
18. Каким методом можно перевернуть строку?
а) string.reverse();
б) stringBuilder.reverse();
в) string.return();
19. Какая аннотация используется при переопределении метода?
а) Override
б) @Redefine
в) @Override
20. Может ли файл содержать более одного класса Java?
а. Да, но только если один внешний класс имеет модификатор доступа public
б. Да, если все внешние классы будут иметь модификатор доступа private
в. Нет

Правильные ответы:
1 б
2 а
3 б
4 в
5 а
6 в
7 а
8 в
9 г
10 а
11 б
12 г
13 б
14 а
15 б
16 в
17 в
18 б
19 в
20 а
Критерии оценивания:
Каждое задание оценивается 1 баллом. Оценивание КИМ в целом:
85-100 баллов (оценка «отлично») - 85-100% правильных ответов
70-84 баллов (оценка «хорошо») - 70-84% правильных ответов
50-69 баллов (оценка «удовлетворительно») - 50-69% правильных ответов
0-49 баллов (оценка «неудовлетворительно») - 0-49% правильных ответов
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Разработка прикладного программного продукта на языке Java
1. Разработать приложение, позволяющее производить конвертацию валюты. Список валют и их курс хранятся в текстовом файле. Данные из текстового файла считываются в массив, состоящий из записей, содержащих название валюты и курс. Пользователь выбирает валюту из списка, название валюты и курс появляются в поля Label. В поле TextBox пользователь вводит сумму в рублях. Далее после щелчка по кнопке «Рассчитать» программа выводит результат.
2. Разработать приложение «Тест», состоящий из 10 вопросов и выставляющий оценку. Вопросы и варианты ответов, считываются из текстового файла.
3. Разработать приложение, позволяющее придумывать сложный пароль по фамилии, имени, отчеству и году рождения. Алгоритм кодирования придумать самостоятельно. Данные для формирования паролей считываются с текстового файла. Пароли сохраняются в другой текстовый файл.
4. Разработать программу «Пароль». При загрузке программы запрашивает логин и пароль. Если пользователь не зарегистрирован, предлагает зарегистрироваться. Организовать хранение логинов и паролей пользователей в текстовом файле, который загружает данные в массив при запуске приложения.
5. Разработать программу, которая формирует ведомость успеваемости студента. Фамилия и имя студента считываются из текстового файла. Для каждого студента вводятся 3 оценки, рассчитывается средний балл. Вся информация (фамилия, имя, оценка1, оценка2, оценка3, средний_балл) сохраняется в другой текстовый файл по выбору пользователя.
6. Разработать приложение, которое переводит числа из десятичной системы счисления в 2сс, 8сс, 16 сс.
7. Разработать приложение, которое переводит числа из 2сс, 8сс, 16 сс в десятичную.
8. Разработать приложение «Двоичный калькулятор», позволяющее производить операции сложения, вычитания двоичных чисел.
9. Разработать приложение «Восьмеричный калькулятор», позволяющее производить операции сложения, вычитания восьмеричных чисел.
10. Разработать приложение «Шестнадцатеричный калькулятор», позволяющее производить операции сложения, вычитания шестнадцатеричных чисел.
11. Разработать приложение «Бегающий текст», которое передаёт текстовое сообщение, введённое в поле TextBox между компонентами формы (не менее 7) по нажатию на клавишу Enter, пока не вернётся в поле TextBox.
12. Разработать приложение «Поймай кнопку…». На форме разместить кнопку (можно кнопку заменить рисунком) и при наведении указателя мыши на кнопку, она «убегала», не выходя за пределы формы. Алгоритм передвижения кнопки придумать самостоятельно, избегая резких скачков с одной части формы в другую и только горизональных/вертикальных смещений кнопки.
13. Составить проект для нахождения корней квадратного уравнения по трем его коэффициентам, вводимым с клавиатуры. Предусмотреть реакции на некорректный ввод символов в полях редактирования (например, поставить защиту от ввода букв или второй десятичной точки). При нажатии на Enter переносить курсор в следующее поле редактирования (а на завершении ввода выполнять вычисления). Предусмотреть кнопки "расчет", "новые данные" и "выход". Всем введенным компонентам задать ярлычки с оперативной подсказкой (Hints). При оформлении компонент использовать по возможности различные цвета и шрифты.
14. Составить проект для визуализации выбираемого стиля, размера и цвета шрифта. Сам шрифт как набор всех латинских и русских букв (как прописных, так и строчных) отображать на метке. Каждую характеристику шрифта выбирать из набора минимум четырех радиокнопок.
15. Составить проект для анализа введенной в строке TextBox информации: текстовая, числовая, прочая. В качестве индикаторов использовать набор из трех компонент CheckBox. Ввести четвертый индикатор для анализа очередного набираемого символа. Предусмотреть кнопки "новые данные" и "выход". Всем введенным компонентам задать ярлычки с оперативной подсказкой (Hints). При оформлении компонент использовать по возможности различные цвета и шрифты.
16. Разработать приложение, реализующее функции ГАИ: заполнение информации об автомобилях (регистрационный номер, цвет автомобиля, год выпуска, адрес проживания владельца, наложенные штрафы) и выполнение запросов. Например, организовать запросы на выдачу сведений об автолюбителях, имеющих: а) автомобиль заданной марки определенного цвета; б) авто с заданным номером; в) авто заданной марки с известной цифровой частью номера; г) авто заданного цвета; д) авто со штрафами; е) авто с наибольшей суммой штрафов; ж) авто с определенным количеством штрафов.
17. Дан список участников соревнования (прочитывается из файла), для них заполняются время старта и финиша (часы, мин., сек). Разработать приложение, обеспечивающее заполнение данных и выполнение запросов. Например, запросы на выдачу сведений: а) выводить список участников по возрастанию или убыванию; б) лучший результат соревнования; в) наихудший результат; г) участников, сошедших с дистанции; д) время 5 лучших призеров, …
18. Имеются сведения о товарах, находящихся на складе: наименование, объем партии, дата поступления на склад, стоимость единицы товара. Разработать приложение, которое бы позволяло вводить и выводить информацию по запросу. В перечень запросов ввести требование отсортировать данные по различным критериям, например, по дате поступления на склад.
19. Имеются сведения о книгах, находящихся в библиотеке: ФИО автора, название, наименование издательства, год издания, жанр, количество страниц. Также имеются сведения о читателях (ФИО, телефон, адрес) и сведения о том, какие книги находятся на руках у читателя, и дата получения книги. Разработать приложение, которое бы позволяло вводить и выводить информацию по запросу. Например, вывести список читателей-должников, список книг определённого жанра и т.д.
20. Имеется расписание движения автобусов: номер рейса, тип автобуса, название маршрута, время отправления, время в пути. Для каждого маршрута хранится пункт назначения (пункт отправления у всех общий) и список всех остановок (для каждой остановки хранится название и расстояние от пункта отправления). Для каждого рейса ведётся учёт свободных/проданных и забронированных мест.
21. Имеется информация о сданной в ремонт радиоаппаратуре: марку изделия, дату приёма в ремонт, состояние готовности заказа. Разработать функцию анализа данных и выдачи информации о числе и характере заказов на текущие сутки и объёме выполненных услуг за текущий квартал.
22. Разработать приложение «секретарь». Программа должна выполнять следующие функции (помимо ввода данных в систему). а) по заданной дате сообщать перечень ФИО тех, кому нужно позвонить б) ФИО тех, с кем нужно встретиться; г) ФИО тех, кого нужно поздравить с днем рождения; д) список дел на заданный день
23. ФАЙЛОВЫЙ МЕНЕДЖЕР. Разработка функционального аналога известного файлового менеджера (Far Manager/ Total Commander).
24. ГРАФИЧЕСКИЙ РЕДАКТОР. Разработка графического векторного редактора (пример - CorelDraw).
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Процедура проведения экзамена:
Оценка успеваемости студентов согласно положению о балльно-рейтинговой системе оценки успеваемости обучающихся по дисциплинам программ подготовки специалистов среднего звена профессионального образования (приказ №1594/п от 03.11.2022 г.) осуществляется в ходе текущего и промежуточного контроля.

Процедура проведения предполагает два блока оценивания:
1) блок на выявление практических навыков (проводится очно, на занятиях в течении учебного года). Представляет собой текущий рейтинг студента Rтек.
2) блок на проверку общих знаний, связанных с проверкой теоретического материала (итоговый тест). Выполняется студентом который претендует на более высокую оценку по сравнению с рекомендованной ему в качестве «автомата» за текущую успеваемость по дисциплине. Представляет собой экзаменационный рейтинг Rэкз.

Критерии оценивания:
1) за выполнение первого блока заданий, студент может получить максимум 100 баллов. Оценка за второй блок, представляет собой индивидуальную рейтинговую оценку студента по дисциплине (Rтек). Текущий рейтинг студента Rтек, вычисленное перед началом сессии, называется семестровым рейтингом студента и обозначается в технологической карте по дисциплине Rсем. Экзаменационная оценка «автоматом» выставляется студенту при достижении им Rсем рейтинга 50 баллов и более.
2) за выполнение второго блока, представляющего собой тест множественного выбора, состоящий из 15 вопросов, студент может получить максимум 15 первичных баллов (по 1 баллу за каждый правильный ответ). В тест включены вопросы с выбором одного варианта ответа. В вопросах с выбором одного ответа студент либо выбирает правильный ответ и получает 1 балл, либо выбирает не правильный ответ и получает 0 баллов. Всего в банке более 200 тестовых заданий. На выполнение теста отводится 25 минут. При прохождении теста, студент может пропустить вопросы в случае возникновения трудностей. И вернуться в оставшееся время.
Максимально за тест можно получить 100 баллов, согласно шкале перевода:
85-100 баллов (оценка «отлично») - 85-100% правильных ответов
70-84 баллов (оценка «хорошо») - 70-84% правильных ответов
50-69 баллов (оценка «удовлетворительно») - 50-69% правильных ответов
0-49 баллов (оценка «неудовлетворительно») - 0-49% правильных ответов

Итоговый рейтинг складывается из выполнения 1-го и 2-го блоков заданий. Правило вычисления итогового рейтинга Rитог = Rсем + 0,2 ·Rэкз
Общая суммарная оценка за весь курс составляет максимум 100 баллов.

Таким образом, баллы, начисленные студенту за выполнение Блока 1 и Блока 2 пересчитываются преподавателем по схеме:
5 (отлично) 85-100
4 (хорошо) 70-84
3 (удовлетворительно) 50-69
2 (неудовлетворительно) 0-49


Приложения

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Гниденко И.Г., Павлов Ф.Ф., Федоров Д.Ю. Технология разработки программного обеспечения: Учебное пособие для СПО М.:Издательство Юрайт, 2022 urait.ru
Л1.2 Гуськова О.И. Объектно ориентированное программирование в Java: учебное пособие МПГУ, 2018 biblioclub.ru
Л1.3 Ландовский В.В. Алгоритмы обработки данных: учебное пособие Издательство НГТУ, 2018 biblioclub.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Златопольский Д.М. Программирование: типовые задачи, алгоритмы, методы: М.: БИНОМ. Лаборатория знаний, 2020 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Курс в СДО moodle "Разработка программных модулей" portal.edu.asu.ru
6.3. Перечень программного обеспечения
Список программного обеспечения
Операционная система Windows и/или AstraLinux
Специализированное и общее ПО
Open Office или Libreoffice
3D Canvas
Blender
Visual Studio Community
Python c расширениями PIL, Py OpenGL
FAR
XnView
7-Zip
AcrobatReader
GIMP
Inkscape
Paint.net
VBox
Mozila FireFox
Chrome
Eclipse (PHP,C++, Phortran)
VLC QTEPLOT
Visual Studio Code
Notepad++
Microsoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
Информационная справочная система:
СПС КонсультантПлюс (инсталлированный ресурс АлтГУ или http://www.consultant.ru/)

Профессиональные базы данных:
1. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
2. Научная электронная библиотека elibrary (http://elibrary.ru)

7. Материально-техническое обеспечение дисциплины

8. Методические указания для обучающихся по освоению дисциплины

Оценивание результатов освоения междисциплинарного курса осуществляется в соответствии с балльно-рейтинговой системой. Все виды работ, выполненные в срок, оцениваются от 0 до 100 баллов. Работы выполненные позже установленного срока оцениваются на 20 баллов ниже.

При изучении дисциплины используются следующие виды учебных занятий:

1. Лекции, на которых рассматриваются основные теоретические вопросы данного междисциплинарного курса. Материалы лекций можно изучить, обратившись к списку основной и дополнительной литературы. Посещаемость лекций входит в балльную оценку по междисциплинарному курсу и контролируется преподавателем.
В ходе лекционных занятий обязательно конспектирование учебного материала. При этом стоит обращать внимание на категории, формулировки, раскрывающие содержание тех или иных явлений и процессов, научные выводы и практические рекомендации. Желательно оставить в рабочих конспектах поля, на которых делать пометки из рекомендованной литературы, дополняющие материал прослушанной лекции, а также подчеркивающие особую важность тех или иных теоретических положений. Задавать преподавателю уточняющие вопросы с целью уяснения теоретических положений, разрешения спорных ситуаций. Дорабатывать свой конспект лекции, делая в нем соответствующие записи из литературы, рекомендованной преподавателем и предусмотренной учебной программой - в ходе подготовки к семинарам изучить основную литературу, ознакомиться с дополнительной литературой, новыми публикациями в периодических изданиях: журналах, газетах и т.д.
Конспекты лекций контролируется преподавателем

2. Лабораторные работы предполагают выполнение предложенных заданий письменно или в электронном виде, в зависимости от типа задания.
В каждом задании указывается форма его выполнения и способ предоставления на оценку.
При подготовке лабораторным занятиям следует:
- использовать рекомендованные преподавателями учебники и учебные пособия
- для закрепления теоретического материала;
- изучить лекционный материал по данной теме;
- разобрать, совместно с другими студентами, обсудить вопросы по теме занятия;
- уточнить особенности оформления заданий и предоставления их на оценку, если представленных на образовательном портале комментариев недостаточно.
Необходимо помнить, что на лекции обычно рассматривается не весь материал, а только его часть. Остальная его часть восполняется в процессе самостоятельной работы. В связи с этим работа с рекомендованной литературой обязательна. Особое внимание при этом необходимо обратить на содержание основных положений и выводов, объяснение явлений и фактов, уяснение практического приложения рассматриваемых теоретических вопросов. В процессе этой работы студент должен стремиться понять и запомнить основные положения рассматриваемого материала, примеры, поясняющие его, а также разобраться в иллюстративном материале. Заканчивать подготовку следует составлением плана (конспекта) по изучаемому материалу (вопросу). Это позволяет составить концентрированное, сжатое представление по изучаемым вопросам.
В процессе подготовки к занятиям рекомендуется взаимное обсуждение материала, во время которого закрепляются знания, а также приобретается практика в изложении и разъяснении полученных знаний, развивается речь. При необходимости следует обращаться за консультацией к преподавателю. Идя на консультацию, необходимо хорошо продумать вопросы, которые требуют разъяснения.
Лабораторные работы также входят в балльную оценку по междисциплинарному курсу и контролируются преподавателем.
3.Самостоятельная работа студента является основным средством овладения учебным материалом во время, свободное от обязательных учебных занятий. Самостоятельная работа студента над усвоением учебного материала может выполняться в библиотеке, учебных кабинетах, компьютерных классах, а также в домашних условиях.
Учебный материал самостоятельной работы выносится на итоговый контроль наряду с учебным материалом, который разрабатывался при проведении учебных занятий. Содержание самостоятельной работы студента определяется учебной программой, методическими материалами, заданиями и указаниями преподавателя. Самостоятельная работа студентов осуществляется в аудиторной и внеаудиторной формах.

Самостоятельная работа студентов в аудиторное время может включать:
- конспектирование (составление тезисов) лекций;
- выполнение контрольных работ, коллоквиума;
- решение задач;
- работу со справочной и методической литературой;
- защиту выполненных работ;
- участие в тестировании и др.
Самостоятельная работа студентов во внеаудиторное время может состоять из:
- повторение лекционного материала;
- подготовки к лабораторным занятиям;
- изучения учебной и научной литературы;
- решения задач, выданных на практических занятиях;
- подготовки к контрольным работам, тестированию и т.д.;
- подготовки рефератов, эссе и иных индивидуальных письменных работ по заданию преподавателя.
Самостоятельная работа студентов также входят в балльную оценку по по междисциплинарному курсу и контролируется преподавателем.
4. Экзамен по по междисциплинарному курсу.
К экзамену допускаются студенты, которые выполнили все предусмотренные фондом оценочных средств виды работ. Экзамен проводится по билетам. Билет содержит один теоретический и один практический вопрос. Полученные баллы фиксируются в общем рейтинге и являются способом повышения текущей оценки, накопленной по результатам семестра (итог =рейтинг_семестра*0,7+ диф.зачет*0,3).
Для подготовки к экзамену следует воспользоваться рекомендованным преподавателем учебником, слайд-конспектом лекций, глоссарием, своими конспектами лекций и материалами лабораторных занятий, выполненными самостоятельными работами.
При подготовке к промежуточной аттестации целесообразно:
- внимательно изучить перечень вопросов и определить, в каких источниках находятся сведения, необходимые для ответа на них;
- внимательно прочитать рекомендованную литературу;
- составить краткие конспекты ответов (планы ответов).
При реализации междисциплинарного курса используются активные и интерактивные формы проведения занятий.
При проведении лекционных занятий: лекция-беседа.
При проведении практических занятий: работа в малых группах.
В самостоятельной работе студентов использование интерактивных форм заключается в моделировании производственных процессов и ситуаций.