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

Основы алгоритмизации и программирования

рабочая программа дисциплины
Закреплена за кафедройКафедра экономики и прикладной информатики (Бийск)
Направление подготовки09.02.07. Информационные системы и программирование
ПрофильАдминистратор баз данных
Форма обученияОчная
Общая трудоемкость0 ЗЕТ
Учебный планФлБийск_09_02_07_Информационные системы и программирование-2021_11кл
Часов по учебному плану 161
в том числе:
аудиторные занятия 152
контроль 9
Виды контроля по семестрам
экзамены: 1

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

Курс (семестр) 1 (1) Итого
Недель 16
Вид занятий УПРПДУПРПД
Лекции 76 76 76 76
Практические 76 76 76 76
Часы на контроль 9 9 9 9
Итого 161 161 161 161

Программу составил(и):
преподаватель, Кураев М.И.

Рецензент(ы):

Рабочая программа дисциплины
Основы алгоритмизации и программирования

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

составлена на основании учебного плана:
Направление 09.02.07 ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ПРОГРАММИРОВАНИЕ
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра экономики и прикладной информатики (Бийск)

Протокол от 26.06.2023 г. № 4
Срок действия программы: 20232024 уч. г.

Заведующий кафедрой


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

1.1.Цель изучения дисциплины: освоение теоретических и практических основ программирования с использованием современного структурного языка, изучение основных алгоритмов работы с дискретными объектами, структурами данных и методов их исследования.

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

Цикл (раздел) ООП: ОПЦ

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

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

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

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Введение в программирование
1.1. Цели и задачи дисциплины. Взаимосвязь с другими дисциплинами. Лекции 1 1 Л2.1, Л1.1
Раздел 2. Основы алгоритмизации.
2.1. Этапы решения задач на ЭВМ. Понятие алгоритма. Виды исполнителей алгоритмов. Лекции 1 1 Л2.1, Л1.1
2.2. Свойства алгоритмов. Общие принципы построения алгоритмов. Способы записи алгоритмов. Правила составления блок-схем. Лекции 1 2 Л2.1, Л1.1
2.3. Основные алгоритмические конструкции. Построение алгоритмов различных структур. Лекции 1 2 Л2.1, Л1.1
Раздел 3. Общие понятия программирования.
3.1. Понятие программы, программирования, виды программирования. Языки программирования. Лекции 1 2 Л2.1, Л1.1
3.2. Классификация языков программирования. Трансляция программ. Лекции 1 2 Л2.1, Л1.1
3.3. Эволюция языков программирования. Версии языков программирования. Лекции 1 2 Л2.1, Л1.1
3.4. Понятие системы программирования. Трансляторы, интерпретаторы, компиляторы, компоновщики загрузочных модулей. Лекции 1 2 Л2.1, Л1.1
3.5. Ознакомление с системой Pascal ABC.Net Практические 1 1 Л2.1, Л1.1
Раздел 4. Основы программирования.
4.1. Основные понятия языка Паскаль: алфавит, служебные слова, переменные, константы, имена (идентификаторы), типы данных, операторы. Встроенные функции языка. Лекции 1 2 Л2.1, Л1.1
4.2. Понятие выражений. Типы выражений. Структура программы на Паскале. Лекции 1 2 Л2.1, Л1.1
4.3. Ввод, отладка и запуск программ в системе Pascal ABC.Net Практические 1 1 Л2.1, Л1.1
4.4. Виды операторов языка Паскаль: простые, сложные, составные. Элементарный ввод и вывод на Паскале. Оператор присваивания. Составление линейных программ. Лекции 1 2 Л2.1, Л1.1
4.5. Составление линейных программ. Практические 1 2 Л2.1, Л1.1
4.6. Диалоговые программы. Операторы условного и безусловного переходов. Сложные условия и логические связки. Лекции 1 4 Л2.1, Л1.1
4.7. Составление диалоговых программ. Практические 1 2 Л2.1, Л1.1
4.8. Составление и отладка программ с использованием арифметических выражений Практические 1 2 Л2.1, Л1.1
4.9. Составление программ с использованием встроенных функций языка Паскаль. Практические 1 2 Л2.1, Л1.1
4.10. Составление разветвляющихся программ с одним условием Практические 1 2 Л2.1, Л1.1
4.11. Составление программ с комбинированными условиями. Вложенные операторы IF. Оператор выбора Case. Лекции 1 4 Л2.1, Л1.1
4.12. Составление программ с комбинированными условиями. Практические 1 4 Л2.1, Л1.1
4.13. Составление программ, содержащих оператор выбора. Практические 1 2 Л2.1, Л1.1
4.14. Оператор цикла с параметром For: структура, алгоритм работы. Лекции 1 2 Л2.1, Л1.1
4.15. Составление циклических программ с оператором For. Практические 1 4 Л2.1, Л1.1
4.16. Оператор цикла с предусловием While: структура, алгоритм работы. Составление программ, содержащих циклы с предусловием. Лекции 1 2 Л2.1, Л1.1
4.17. Составление циклических программ с предусловием. Практические 1 2 Л2.1, Л1.1
4.18. Оператор цикла с постусловием Repeat..until: структура, алгоритм работы. Составление циклических программ. Вложенные циклы. Лекции 1 2 Л2.1, Л1.1
4.19. Составление циклических программ с постусловием. Практические 1 4 Л2.1, Л1.1
Раздел 5. Программирование в среде Pascal ABC.Net.
5.1. Понятие процедуры и функции. Структура процедуры. Структура функции. Лекции 1 2 Л2.1, Л1.1
5.2. Структура функции. Локальные и глобальные переменные. Способы передачи параметров. Лекции 1 2 Л2.1, Л1.1
5.3. Рекурсивные функции. Лекции 1 2 Л2.1, Л1.1
5.4. Составление программ с использованием процедур. Практические 1 4 Л2.1, Л1.1
5.5. Составление программ с использованием функций. Практические 1 4 Л2.1, Л1.1
5.6. Понятие массива. Описание массива. Одномерные и двумерные массивы. Лекции 1 2 Л2.1, Л1.1
5.7. Динамические массивы. Особенности алгоритмов обработки массивов. Лекции 1 2 Л2.1, Л1.1
5.8. Примеры задач с использованием массивов. Лекции 1 2 Л2.1, Л1.1
5.9. Работа с одномерными массивами Практические 1 4 Л2.1, Л1.1
5.10. Работа с двумерными массивами Практические 1 4 Л2.1, Л1.1
5.11. Работа с динамическими массивами Практические 1 4 Л2.1, Л1.1
5.12. Понятие модуля в Pascal. Структура модуля. Описание основных системных модулей. Лекции 1 4 Л2.1, Л1.1
5.13. Создание и использование модуля. Практические 1 4 Л2.1, Л1.1
5.14. Файловые типы. Процедуры для работы с файлами. Лекции 1 2 Л2.1, Л1.1
5.15. Работа с файлами Практические 1 4 Л2.1, Л1.1
5.16. Особенности работы с графикой в Pascal ABC.Net. Лекции 1 4 Л2.1, Л1.1
5.17. Работа с графикой Практические 1 4 Л2.1, Л1.1
Раздел 6. Типовые алгоритмы.
6.1. Алгоритмы сортировки: обычная сортировка, сортировка выбором, сортировка вставками, быстрая сортировка, метод «пузырька». Алгоритмы поиска. Лекции 1 4 Л2.1, Л1.1
6.2. Решение задач с использованием поиска и сортировки Практические 1 4 Л2.1, Л1.1
6.3. Представление в памяти компьютера динамических структур. Указатели. Реализация динамических структур линейными списками.. Лекции 1 4 Л2.1, Л1.1
6.4. Решение задач с использованием указателей и динамических структур Практические 1 4 Л2.1, Л1.1
Раздел 7. Основы структурного программирования.
7.1. Основные понятия структурного программирования. Метод пошаговой детализации. Составление алгоритмов с использованием принципов структурного программирования. Лекции 1 4 Л2.1, Л1.1
7.2. Решение задач в Pascal в соответствии с принципами структурного программирования. Практические 1 4 Л2.1, Л1.1
Раздел 8. Основы объектно-ориентированного программирования (ООП)
8.1. Три источника и три составные части объектно-ориентированного программирования. Инкапсуляция: спецификаторы доступа, свойства. Наследование. Полиморфизм. Лекции 1 4 Л2.1, Л1.1
8.2. Классы и объекты. Обращение к членам класса. Лекции 1 4 Л2.1, Л1.1
8.3. Создание оконного приложения. Практические 1 4 Л2.1, Л1.1

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

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
 Программирование как раздел информатики. Языки программирования. Обзор. Классификация.
 Данные в языке Pascal: константы и переменные. Типы данных. Приведение типов
 Функции ввода и вывода.
 Условный оператор в языке Pascal: структура оператора, полная и неполная формы, использование сложных условий. Пример на языке Pascal.
 Оператор выбора в языке Pascal: структура оператора. Пример программы на Pascal.
 Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с предусловием (понятие, структура оператора, использование). Пример использования.
 Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с постусловием (понятие, структура оператора, использование). Пример использования.
 Циклические алгоритмы: понятие, виды (перечислить). Алгоритмическая конструкция цикла с параметром (понятие, структура оператора, использование). Пример использования.
 Типовые циклические алгоритмы: максимум/минимум, сумма/произведение, количество.
 Одномерный массив: понятие массива, объявление, инициализация массива, индексация элементов. Формирование и вывод массива.
 Типовые алгоритмы для работы с одномерными массивами.
 Задача сортировки массива. Алгоритм сортировки линейного массива методом "пузырька".
 Двумерный массив. Объявление, инициализация двумерного массива, индексация элементов. Формирование и вывод двумерного массива.
 Типовые алгоритмы для обработки двумерного массива (целиком).
 Частичная обработка двумерного массива (по строкам или по столбцам, по диагоналям, выше/ниже диагоналей). Типовые алгоритмы.
 Функции в языке Pascal: понятие, объявление. Вызов функции. Типы возвращаемых значений.
 Функции в языке Pascal: параметры формальные и фактические, механизм передачи параметров. Пример использования.
 Динамическая память: выделение и освобождение памяти, размещение данных в динамической памяти.
 Строка в языке Pascal: библиотечные процедуры и функции для обработки строк. Примеры использования.
 Перечисления: назначение, описание и использование. Пример использования перечислений в программе
 Структуры: назначение, описание и использование. Работа с массивом структур
 Файлы. Стандартные процедуры и функции для работы с файлами. Пример использования.
 Односвязные списки. Стеки. Создание стека, основные процедуры для работы с ним.
 Односвязные списки. Очереди. Создание очереди, основные процедуры для работы с ней.
 Односвязные списки. Кольцо. Создание кольца, основные процедуры для работы с ним.
 Двусвязные списки. Создание двусвязного списка, основные процедуры для работы с ним.
 Объектно-ориентированное программирование. Технология ООП. Классы и объекты.
 Классы и объекты. Объявление класса, создание объекта.
 Области видимости для определения доступа к составным частям объекта.
 Принципы объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.
 Свойства и методы объекта.
 Графика в Pascal.
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
1. Алгоритмы информационного поиска в массивах.
2. Алгоритмы сортировки одномерных массивов.
3. Анализ эффективности различных алгоритмов
4. Визуальные языки программирования.
5. Графы и их представление на ЭВМ средствами языков программирования.
6. Жизненный цикл программного обеспечения.
7. Линейное программирование.
8. Логическое программирование. История возникновения. Основные принципы, обзор основных процедур и функций.
9. Модульное программирование.
10. Объектно-ориентированное программирование.
11. Парадигмы программирования.
12. Проверка правильности алгоритмов.
13. Программирование для андроид-устройств
14. Программирование многопоточных приложений.
15. Процедурное программирование.
16. Системное программирование. Способы хранения информации в ПК. Представление целых, вещественных и текстовых форматов.
17. Стандарты языков программирования.
18. Стили программирования. История развития стилей программирования.
19. Структурное программирование.
20. Технология разработки программных продуктов.
21. Технология создания мобильных приложений.
22. Упорядочение нечисловых массивов.
23. Функциональное программирование. История возникновения. Основные принципы, обзор основных процедур и функций.
24. Эволюция архитектуры программного обеспечения.
5.3. Фонд оценочных средств для проведения промежуточной аттестации
прикреплен файл
Приложения

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

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Трофимов В.В., Павловская Т.А. Основы алгоритмизации и программирования: Учебник для СПО М. : Издательство Юрайт, 2018 biblio-online.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Кувшинов Д.Р. Основы программирования: Учебное пособие для СПО М.: Издательство Юрайт;, 2018 biblio-online.ru
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Основы программирования portal.edu.asu.ru
6.3. Перечень программного обеспечения
Microsoft Windows 7 Professional, № 60674416 от 17.07.2012;
Microsoft Windows Vista лицензия OEM;
Microsoft Office Professional Plus 2010, № 60674416 от 17.07.2012;
PascalABC.NET, http://pascalabc.net/litsenzionnoe-soglashenieMicrosoft 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. Перечень информационных справочных систем
Информационная справочная система:
ИТС ПРОФ ВУЗ (в рамках договора № 126-3 от 01.04.2015 г.)
СПС КонсультантПлюс (http://www.consultant.ru/)
СПС Гарант (http://www.garant.ru/)
Профессиональные базы данных:
1. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
2. Научная электронная библиотека elibrary (http://elibrary.ru)
3. Банк видео-демонстраций по дисциплине «Программирование» №2015620754 от 15.05.2015

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

Аудитория Назначение Оборудование
№ 201 (филиал в г. Бийске) лаборатория технологии разработки баз данных – учебная аудитория для проведения занятий всех видов (дисциплинарной, междисциплинарной и модульной подготовки), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации. Учебная мебель; рабочее место преподавателя; компьютеры; доска магнитно-маркерная; проектор; экран; переносной ноутбук из аудитории № 207.
№ 103 (филиал в г. Бийске) кабинет стандартизации и сертификации – учебная аудитория для проведения занятий всех видов (дисциплинарной, междисциплинарной и модульной подготовки), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации. Учебная мебель; рабочее место преподавателя; доска магнитно-маркерная; кафедра; проектор; экран; переносной ноутбук из аудитории № 207.
№ 207 (филиал в г. Бийске) помещение для хранения и профилактического обслуживания учебного оборудования. Вспомогательное лабораторное оборудование; переносные ноутбуки.
№ 105 (филиал в г. Бийске) помещение для самостоятельной работы обучающихся. Учебная мебель; ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет» и доступом в электронную информационно-образовательную среду.
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)

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

Освоение дисциплины «Основы программирование» проходит по смешанной технологии обучения. Аудиторные занятия (лекции и практические работы) сочетаются с дистанционными формами обучения (выполнение заданий самостоятельной работы в аудитории и вне ее, тесты, самоконтроль уровня освоения дисциплины, обратная связь, задания для выполнения).
Лекции проходят в традиционной форме с применением активных и информационно-коммуникационных технологий.
Практические работы проходят в учебной аудитории, оснащенной компьютерами с соответствующим программным обеспечением. Каждый студент выполняет индивидуальное практическое задание, тестирует написанную им программу, отлаживает при необходимости, а затем сдает ее преподавателю, сопровождая устное объяснение определениями необходимых терминов, пояснением выбранных типов и структур данных, разъяснением выбранного алгоритма.

Самостоятельная работа студентов по дисциплине «Основы программирования» включает:
 самостоятельную подготовку, т.е. самостоятельное изучение разделов, повторение лекционного материала и материала учебников;
 подготовку к практическим работам;
 подготовку к текущему контролю (контрольным работам / тестам).
Весь материал курса поделен на темы, и каждая последующая тема является логическим продолжением предыдущей, поэтому изучение курса рекомендуется последовательно. Для закрепления теоретического материала курс содержит тесты, практические работы, вариант задания к практической работе . Основной способ контроля самостоятельной работы: коллективное обсуждение в аудитории и индивидуальное собеседование при сдаче практических работ.
Экзамен сдается устно, в общепринятом порядке, согласно сетке расписания.