Закреплена за кафедрой | Кафедра информатики |
---|---|
Направление подготовки | 09.03.03. Прикладная информатика |
Профиль | Прикладная информатика в дизайне |
Форма обучения | Заочная |
Общая трудоемкость | 8 ЗЕТ |
Учебный план | z09_03_03_Прикладная информатика_ПИвД-2022 |
|
|
Распределение часов по курсам
Курс | 1 | Итого | ||
---|---|---|---|---|
Вид занятий | УП | РПД | УП | РПД |
Лекции | 8 | 8,0000000447035 | 8 | 8,0000000447035 |
Лабораторные | 12 | 12 | 12 | 12 |
Сам. работа | 255 | 255 | 255 | 255 |
Часы на контроль | 13 | 13 | 13 | 13 |
Итого | 288 | 288,0000000447 | 288 | 288,0000000447 |
Визирование РПД для исполнения в очередном учебном году
Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2023-2024 учебном году на заседании
кафедры
Кафедра информатики
Протокол от 02.07.2021 г. № 7
Заведующий кафедрой к.ф.-м.н., доцент Козлов Д.Ю.
1.1. | Целями освоения дисциплины являются: - формирование базовых знаний в области основ алгоритмизации и программирования; - выработка навыков решения типичных задач с использованием ЭВМ; - овладение приемами разработки и отладки программ в современных средах программирования. Изучение дисциплины направлено - на развитие у обучающихся алгоритмического мышления, систематизацию принципов построения языков программирования и подходов к разработке программ для ЭВМ; - на формирование навыков реализации алгоритмов на высокоуровневом императивном языке программирования; разработки, отладки и тестирования программ; - на подготовку обучающихся к системному восприятию дальнейших дисциплин из учебного плана, использующих навыки алгоритмизации и программирования; - на получение представлений об основных идеях структурного программирования и развитие способностей сознательно использовать материал курса, умение разбираться в существующих языковых и программных средствах и условиях их применения. |
---|
Цикл (раздел) ООП: Б1.О.04 |
ОПК-2 | Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решения задач профессиональной деятельности; |
ОПК-7 | Способен разрабатывать алгоритмы и программы, пригодные для практического применения; |
В результате освоения дисциплины обучающийся должен | |
3.1. | Знать: |
---|---|
3.1.1. | о различных парадигмах программирования и современном уровне развития языков и технологий программирования; о сложности программных систем и методах ее преодоления; об основах построения трансляторов; основные понятия в области алгоритмизации, свойства алгоритмов, методы анализа сложности алгоритмов; синтаксис и базовые конструкции языков C и С++, основные возможности и приемы программирования на этих языках; принципы структурного программирования; назначение, устройство и свойства основных структур данных: список, очередь, стэк, дерево, граф; эффективные алгоритмы поиска и сортировки, алгоритмы решения задач теории графов. |
3.2. | Уметь: |
3.2.1. | разрабатывать алгоритмы решения типичных задач и реализовывать их на языке С; применять при решении алгоритмических задач типичные алгоритмы и структуры данных; использовать для разработки и отладки программ современные интегрированные среды разработки. |
3.3. | Иметь навыки и (или) опыт деятельности (владеть): |
3.3.1. | приемами чтения, построения и записи алгоритмов; навыками написания и отладки программ на высокоуровневом языке программирования в интегрированной среде разработки. |
Код занятия | Наименование разделов и тем | Вид занятия | Курс | Часов | Компетенции | Литература |
---|---|---|---|---|---|---|
Раздел 1. Алгоритмизация | ||||||
1.1. | Алгоритмические языки программирования. Базовые алгоритмические структуры: cледование, ветвление, повторение. Алгоритмические языки программирования. Уровни языков программирования. Алфавит, синтаксис и семантика алгоритмических языков программирования. Инструменты и схема построения исполняемого модуля для программы на языке программирования высокого уровня. Интегрированные среды разработки. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
1.2. | Основы алгоритмизации. Исполнитель: среда, система команд исполнителя, отказы. Фон-неймановские принципы работы компьютеров. Алгоритм. Свойства алгоритма: понятность, дискретность, детерминированность, конечность, результативность, массовость. Формы записи алгоритмов: cловесно-пошаговая, графическая, в псевдокодах, на алгоритмических языках. | Лекции | 1 | 0,20000000298023 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
Раздел 2. Язык программирования Си | ||||||
2.1. | Общая характеристика языка С++. История и условия возникновения. Базовые принципы и свойства языка С++. Простейшая программа. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.2. | Синтаксис языка С++. Алфавит, идентификаторы, ключевые слова. Комментарии. Типы, константы. Операции и выражения. Приоритет операций. Общая структура программы. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.3. | Управляющие конструкции языка С++. Условный оператор. Оператор ветвления. Операторы циклов. Прерывание циклов. Инвариант цикла | Лекции | 1 | 0,20000000298023 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.4. | Функции. Параметры функций. Инвариантная функция. Рекурсия. Взаимосвязь итерации и рекурсии. Индуктивное вычисление функции на последовательности данных | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.5. | Массивы. Многомерные массивы. Массивы как параметры функций. Типичные операции над массивами. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.6. | Указатели. Связь указателей и массивов. Динамические массивы. Указатели на функции. Указатели и параметры функций. Сложные описания с указателями. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.7. | Структуры. Битовые поля. Указатели на структуры. Объединения. Размещение структур в памяти | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.8. | Строки. Функции для работы со строками. Типичные операции над строками. Строки как параметры функций | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.9. | Файлы. Файловая система. Текстовые и бинарные файлы. Функции для работы с файлами. Типичные приемы работы с файлами. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.10. | Линейный вычислительный процесс | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.11. | Линейный вычислительный процесс | Сам. работа | 1 | 6 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.12. | Ветвящийся вычислительный процесс | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.13. | Ветвящийся вычислительный процесс | Сам. работа | 1 | 6 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.14. | Циклический вычислительный процесс | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.15. | Циклический вычислительный процесс | Сам. работа | 1 | 8 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.16. | Функции | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.17. | Функции | Сам. работа | 1 | 18 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.18. | Массивы | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.19. | Массивы | Сам. работа | 1 | 18 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.20. | Строки | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.21. | Строки | Сам. работа | 1 | 51 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.22. | Структуры | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.23. | Структуры | Сам. работа | 1 | 40 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.24. | Файлы | Лабораторные | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
2.25. | Файлы | Сам. работа | 1 | 28 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
Раздел 3. Технология программирования | ||||||
3.1. | Сложность программных систем. Причины и последствия сложности программных систем. Пять признаков сложных систем. Ограниченность интеллектуальных возможностей человека и пути преодоления связанных с нею трудностей. Способы борьбы со сложностью. Эволюция языков программирования. Топология языков программирования. Структурное программирование: цели, принципы и стандарты. Модульность. Методы программирования «сверху вниз» и «снизу вверх». Стиль программирования. Комментарии. Ошибкоустойчивость. Тестирование программ. Методы тестирования. Отладка. Надежность. Переносимость программ. | Лекции | 1 | 1 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
3.2. | Основы трансляции. Компиляция и интерпретация. Основные этапы компиляции. Лексический, синтаксический, семантический анализ. Формальная грамматика. Компиляция формулы. Прямая и обратная польские нотации. Дерево синтаксического разбора. | Лекции | 1 | 0,10000000149012 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
3.3. | Парадигмы программирования. Логическое, императивное, объектно-ориентированное, декларативное и функциональное программирование. Визуальное программирование. Современные технологии программирования. Компонентное сборочное программирование. Динамика и открытость языков программирования. | Лекции | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
Раздел 4. Алгоритмы и структуры данных | ||||||
4.1. | Сложность алгоритмов. Эффективность алгоритмов. Оценка сложности алгоритмов. Взаимосвязь расхода памяти и скорости алгоритма. Асимптотический анализ сложности алгоритмов. Анализ худшего, лучшего и среднего случаев. | Лекции | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.2. | Типы и структуры данных. Абстрактные типы данных. Физическая реализация абстрактных типов данных. | Лекции | 1 | 3 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.3. | Сортировка. Нижняя граница временной сложности алгоритмов сортировки. Пузырьковая сортировка. Шейкерная сортировка. Сортировка выбором. Сортировка вставками. Сортировка слиянием. Алгоритм быстрой сортировки Хоара (quicksort). Сортировка Шелла (shellsort). Линейные сортировки. | Лекции | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.4. | Списки. Односвязный список. Реализация абстрактного типа «односвязный список» на основе массивов и механизма динамического распределения памяти. Двусвязный список. Словарь. Стэк. Очередь. | Лекции | 1 | 0,5 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.5. | Деревья. Бинарные деревья. Полные и сбалансированные бинарные деревья. Свойства сбалансированных деревьев. Обходы деревьев. Реализации абстрактного типа «бинарное дерево». Бинарные деревья поиска. Очереди с приоритетом. | Лекции | 1 | 0,30000001192093 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.6. | Поиск. Линейный и бинарный поиск. Поиск с возвратом. Задача о восьми ферзях. Поиск и деревья | Лекции | 1 | 0,30000001192093 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.7. | Базовые методы сортировки | Лабораторные | 1 | 3 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.8. | Базовые методы сортировки | Сам. работа | 1 | 36 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.9. | Методы сортировки с линейно-логарифмической сложностью | Лабораторные | 1 | 2 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.10. | Методы сортировки с линейно-логарифмической сложностью | Сам. работа | 1 | 24 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.11. | Анализ сложности алгоритмов сортировки | Лабораторные | 1 | 1 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.12. | Анализ сложности алгоритмов сортировки | Сам. работа | 1 | 8 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.13. | Динамические структуры данных | Лабораторные | 1 | 2 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
4.14. | Динамические структуры данных | Сам. работа | 1 | 12 | ОПК-2, ОПК-7 | Л2.1, Л1.2, Л1.3, Л1.1 |
5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины |
смотри приложение |
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.) |
Не предусматривается |
5.3. Фонд оценочных средств для проведения промежуточной аттестации |
смотри приложение |
Приложения |
Приложение 1.
ФОС__z09_03_03_Алгоритмизация и программирование_кп.docx
Приложение 2.
ФОС__z09_03_03_Алгоритмизация и программирование_кп.docx
|
6.1. Рекомендуемая литература | ||||
6.1.1. Основная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л1.1 | Подбельский В.В., Фомин С.С. | Курс программирования на языке Си: Учебники | Издательство "ДМК Пресс", 2012 | e.lanbook.com |
Л1.2 | Смирнов А.А. | Технологии программирования : учебно-практическое пособие [Электронный ресурс]: Учебно-практическое пособие | Евразийский открытый институт, 2011 // ЭБС "Университетская библиотека ONLINE" | biblioclub.ru |
Л1.3 | Вирт Н. | Алгоритмы и структуры данных. Новая версия для Оберона: Учебные пособия | Издательство "ДМК Пресс", 2010 | e.lanbook.com |
6.1.2. Дополнительная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л2.1 | Кауфман В.Ш. | Языки программирования. Концепции и принципы: Учебник | М.: ДМК Пресс // ЭБС "Лань", 2011 | e.lanbook.com |
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет" | ||||
Название | Эл. адрес | |||
Э1 | C — The ISO Standard — Rationale, Revision 5.10 (англ.) (апрель 2004). — Обоснование и пояснения для стандарта C99. – http://www.open-std.org/JTC1/SC22/WG14/www/docs/C99RationaleV5.10.pdf | |||
Э2 | ISO/IEC JTC1/SC22/WG14 official home – Официальная страница международной рабочей группы по стандартизации языка программирования Си. – http://www.open-std.org/JTC1/SC22/WG14/ | |||
Э3 | Поисковые системы - yandex.ru, google.com | |||
Э4 | Свободная энциклопедия Википедия – http://ru.wikipedia.org | |||
Э5 | Форум разработчиков программного обеспечения - Stackoverflow.com | |||
Э6 | Интернет-университет информационных технологий. – http://www.intuit.ru | |||
Э7 | Образовательный курс "Алгоритмизация и программирование" на платформе MOODLE | portal.edu.asu.ru | ||
6.3. Перечень программного обеспечения | ||||
Интегрированная среда разработки Компилятор С/С++ Текстовый редактор Microsoft Windows Microsoft Office 7-Zip AcrobatReaderMicrosoft 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. Перечень информационных справочных систем | ||||
1. Образовательный портал АлтГУ [Электронный ресурс]: http://portal.edu.asu.ru 2. Издательство «Лань» - электронно-библиотечная система [Электронный ресурс]: http://e.lanbook.com 3. Издательство МЦНМО. Свободно распространяемые книги издательства Московского центра непрерывного математического образования [Электронный ресурс]: www.mccme.ru/free-books 4. Математическая библиотека [Электронный ресурс]: www.math.ru/lib 7. Электронная библиотечная система Алтайского государственного университета [Электронный ресурс]: http://elibrary.asu.ru 8. Научная электронная библиотека Elibrary [Электронный ресурс]: http://elibrary.ru |
Аудитория | Назначение | Оборудование |
---|---|---|
Учебная аудитория | для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик | Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска) |
Помещение для самостоятельной работы | помещение для самостоятельной работы обучающихся | Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ |
107Л | лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации | Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица |
В процессе освоения курса "Алгоритмизация и программирование" обучающийся будет сталкиваться с материалами разного рода. Ниже даны краткие инструкции по их использованию и освоению. 1. Рабочая программа дисциплины Рабочая программа дисциплины -- официальный документ, определяющий содержание курса. С ним следует ознакомиться, чтобы понимать что конкретно будет изучаться в данном курсе. 2. Презентации к лекциям Презентации к лекциям могут служить кратким конспектом лекций. Используйте их как план освоения прочих материалов: видеолекций, текстов и пр. В начале каждой презентации содержатся задания для самопроверки, которые могут дать представление о наиболее сложных вопросах в тестах. 3. Лабораторные работы Выполнение лабораторных работ -- основа практических занятий. Основные навыки программирования вырабатываются именно в эти моменты. Для выполнения работы необходимо получить вариант задания у преподавателя, ведущего практические занятия; обратившись к нужной лабораторной работе,загрузить документ с описанием работы; внимательно прочитать задание к работе (как правило, на второй странице документа); разработать, отладить и оттестировать программы, решающие указанные задачи; составить отчёт о лабораторной работе по шаблону (см. ссылку в 0-м разделе курса); загрузить PDF-версию отчета, используя нужный элемент "Лабораторная работа №..." (при необходимости вместо уже загруженного варианта отчета всегда можно загрузить и его обновленную версию); очно защитить результаты работы перед преподавателем и получить оценку. Оценки за лабораторные работы можно просмотреть через пункт меню "Оценки", расположенном на главной странице курса в её левой нижней части (Настройки\Управление курсом\Оценки). Как правило на выполнение лабораторной работы отводится 3 недели, при этом сложность работ возрастает с увеличением номера лабораторной работы. По этой причине не рекомендуется затягивать первые простые работы. 4. Образец отчета о лабораторной работе Шаблон отчета -- Word-документ, содержащий пример оформления отчета о выполнении лабораторной работы. Используйте этот документ как образец содержания и стиля оформления отчета, в том числе и в ситуациях, когда для подготовки отчета используются текстовые редакторы, отличные от Word-а. 5. Тесты Тесты предназначены для контроля усвоения теоретического материала, а также умения читать и понимать код программ. Количество попыток на каждый тест ограничено тремя. Зачётные попытки выполнения теста осуществляются только в присутствии преподавателя (на практическом занятии или консультации). Оценка за тест определяется как максимальная из оценок, полученных в зачетных попытках. Результаты прочих попыток аннулируются, а попытки рассматриваются как тренировочно-ознакомительные. Оценки за тесты сообщаются по окончании попытки, а также могут быть просмотрены в любой момент через пункт меню "Оценки", расположенный на главной странице курса в её левой нижней части (Настройки\Управление курсом\Оценки). 6. Рекомендации Представлены рекомендации для просмотра и прочтения дополнительного материала, имеется в большинстве разделов курса и содержит ссылки на фрагменты текстов учебников, вдумчивое прочтение которых является залогом успешного выполнения как тестовых заданий, так и лабораторных работ. 7. Примеры программ В лекциях (презентации) содержатся исходные коды программ. Используйте эти исходные коды для самостоятельной компиляции и [пошагового] выполнения программ, чтобы детально разобраться в их устройстве и принципах работы. Кроме того, исходные коды полезны в роли заготовки программ, решающих задачи, поставленные в лабораторных работах. 8. Экзамен проводится в письменном виде. Пример экзаменационного билета и пример его решения приводится на электронном ресурсе данного курса. Перед изложением нового материала каждой лекции рассматриваются задачи, которые входят в экзаменационные билеты. |