| Закреплена за кафедрой | Кафедра информатики |
|---|---|
| Направление подготовки | 02.03.01. Математика и компьютерные науки |
| Профиль | Компьютерные науки |
| Форма обучения | Очная |
| Общая трудоемкость | 4 ЗЕТ |
| Учебный план | 02_03_01_Математика и компьютерные науки_КН-2025 |
|
|
||||||||||||
Распределение часов по семестрам
| Курс (семестр) | 2 (4) | Итого | ||
|---|---|---|---|---|
| Недель | 22 | |||
| Вид занятий | УП | РПД | УП | РПД |
| Лекции | 18 | 18 | 18 | 18 |
| Лабораторные | 38 | 38 | 38 | 38 |
| Сам. работа | 88 | 88 | 88 | 88 |
| Итого | 144 | 144 | 144 | 144 |
| 1.1. | Цель курса – формирование у студентов необходимой теоретической базы и практических навыков, которые позволят всесторонне и системно видеть этапы и процесс разработки программных продуктов. Базовыми этапами процесса создания программных систем являются анализ и моделирование (проектирование), поэтому вопросам построения проектов посвящен один из основных блоков данного курса. Главная задача курса сформировать целостное представление о методах и подходах объектно-ориентированного анализа и проектирования программно-аппаратных комплексов, помочь овладеть практическим опытом программирования на языке С++ и проектирования программных продуктов с применением унифицированного языка моделирования UML (Unified Modeling Language) в среде Rational Rose. |
|---|
| Цикл (раздел) ООП: Б1.О.04 |
| ОПК-5 | Способен понимать принципы работы современных информационных технологий и использовать их для решения задач профессиональной деятельности |
| ОПК-5.1 | Знает основные положения и концепции прикладного и системного программирования, архитектуры компьютеров и сетей (в том числе и глобальных), современные языки программирования, технологии создания и эксплуатации программных продуктов и программных комплексов |
| ОПК-5.2 | Умеет использовать их в профессиональной деятельности |
| ОПК-5.3 | Имеет практические навыки разработки ПО |
| ОПК-6 | Способен разрабатывать алгоритмы и компьютерные программы, пригодные для практического применения |
| ОПК-6.1 | Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий |
| ОПК-6.2 | Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ |
| ОПК-6.3 | Владеет навыками программирования, отладки и тестирования прототипов программнотехнических комплексов задач |
| В результате освоения дисциплины обучающийся должен | |
| 3.1. | Знать: |
|---|---|
| 3.1.1. | о различных парадигмах программирования и современном уровне развития языков и технологий программирования; о сложности программных систем и методах ее преодоления; синтаксис и базовые конструкции языков C#, основные возможности и приемы программирования на этих языках; принципы структурного и объектно-ориентированного программирования; способы использования библиотеки шаблонов STL; терминологию (понятийный аппарат) объектно-ориентированного анализа, проектирования, программирования и тестирования программных систем; этапы и стадии разработки программных продуктов; базовые принципы объектно-ориентированного моделирования систем и принципы проектирования сложных систем; технологию разработки проекта программной системы на базе унифицированного языка UML; синтаксис и семантику языка UML. |
| 3.2. | Уметь: |
| 3.2.1. | разрабатывать алгоритмы решения типичных задач и реализовывать их на языке C#; вести разработку в терминах объектно-ориентированной парадигмы программирования с использованием языка С++; использовать различные виды наследования классов, в том числе, виртуального и множественного наследования; использовать стандартные классы библиотеки STL в качестве базовых для разработки прикладных систем выполнять объектно-ориентированный анализ различных предметных областей; применять полученные теоретические знания и практические навыки проектирования программных продуктов в среде Rational Rose; проверять (анализировать) построенный проект на возможные ошибки (логические). |
| 3.3. | Иметь навыки и (или) опыт деятельности (владеть): |
| 3.3.1. | современными интегрированными средами разработки; методами объектно-ориентированного программирования с использованием языка С#; современным инструментарием проектирования программных продуктов; методами объектно-ориентированного анализа при проектировании программных продуктов для различных предметных областей; технологией анализа проектов программных продуктов. |
| Код занятия | Наименование разделов и тем | Вид занятия | Семестр | Часов | Компетенции | Литература |
|---|---|---|---|---|---|---|
| Раздел 1. Объектно-ориентированное программирование | ||||||
| 1.1. | Cовременные технологии программирования. Парадигмы программирования. Процедурный и объектный подход к программированию.Объектно-ориентированная технология разработки программных систем и её принципы. Принципы проектирования сложных систем. | Лекции | 4 | 1 | Л2.1, Л1.1 | |
| 1.2. | История и назначение языка Си#. Идентификаторы, переменные и константы. Операции и выражения. Приоритет операций.Операторы. Операторы управления. Операторы цикла. Вызов функций.Имена функций. Необязательные аргументы функций. Встроенные типы языка Си#. Массивы, структуры, объединения, указатели. Адресная арифметика. Строки и литералы. | Лекции | 4 | 3 | Л2.1, Л1.1 | |
| 1.3. | Базовые конструкции языка Си++. Работа с указателями. | Сам. работа | 4 | 20 | Л2.1, Л1.1 | |
| 1.4. | Базовые конструкции языка Си#. Работа с указателями. | Лабораторные | 4 | 6 | Л2.1, Л1.1 | |
| 1.5. | Способы описания классов.Понятие класса. Создание объектов. Обращение к атрибутам и методам объектов. Определение методов класса. Переопределение операций. Подписи методов и необязательные аргументы. Запись классов. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.6. | Распределение памяти. Проблемы при явном распределении памяти в Си++, способы их решения. Распределение памяти под переменные, управление памятью с помощью переопределения операторов new и delete. Автоматические переменные. Статические переменные. Динамическое выделение памяти. Выделение памяти под строки. Рекомендации по использованию указателей и динамического распределения памяти. Распределение памяти при передаче аргументов функции. Рекомендации по передаче аргументов. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.7. | Контроль доступа к объекту. Интерфейс и состояние объекта. Объявление friend. Использование описателя const. Доступ к объекту по чтению и записи. Контроль доступа к атрибутам и методам объекта, контроль по чтению и по записи. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.8. | Классы. Атрибуты и методы. Конструкторы. Деструкторы. | Сам. работа | 4 | 20 | Л2.1, Л1.1 | |
| 1.9. | Классы. Атрибуты и методы. Конструкторы. Деструкторы. | Лабораторные | 4 | 6 | Л2.1, Л1.1 | |
| 1.10. | Классы – конструкторы и деструкторы. Конструкторы и деструкторы классов. Возможности инициализации объектов. Копирующий конструктор(по умолчанию). Деструкторы. Инициализация объектов. Операции new и delete для классов. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.11. | Переопределение операций. Как определять операции. Преобразования типов. Явные преобразования типов.Стандартные преобразования типов. Преобразования указателей и ссылок. Преобразования типов, определенных в программе. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.12. | Классы. Перегрузка операторов. | Сам. работа | 4 | 20 | Л2.1, Л1.1 | |
| 1.13. | Классы. Перегрузка операторов. | Лабораторные | 4 | 6 | Л2.1, Л1.1 | |
| 1.14. | Производные классы, наследование. Виртуальные методы. Виртуальные методы и переопределение методов. Преобразование базового и производного классов. Внутреннее и защищенное наследование. Абстрактные классы. Множественное наследование. Виртуальное наследование. | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.15. | Наследование. Дружественность. Статические атрибуты и методы. | Сам. работа | 4 | 20 | Л2.1, Л1.1 | |
| 1.16. | Наследование. Дружественность. Статические атрибуты и методы. | Лабораторные | 4 | 8 | Л2.1, Л1.1 | |
| 1.17. | Компоновка программ, препроцессор. Компоновка нескольких файлов в одну программу. Проблема использования общих функций и имен. Использование включаемых файлов. Препроцессор. Определение макросов. Условная компиляция. Дополнительные директивы препроцессора.Шаблоны. Назначение шаблонов. Функции-шаблоны. Шаблоны классов. Стандартная библиотека шаблонов (STL). | Лекции | 4 | 2 | Л2.1, Л1.1 | |
| 1.18. | Функции-шаблоны. Шаблоны классов. | Сам. работа | 4 | 8 | Л2.1, Л1.1 | |
| 1.19. | Функции-шаблоны. Шаблоны классов. | Лабораторные | 4 | 8 | Л2.1, Л1.1 | |
| 1.20. | Итоговая контрольная работа по темам: создние класса, динамическая память, перегрузка операторов, наследование | Лабораторные | 4 | 4 | Л2.1, Л1.1 | |
| 5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины |
| см. приложение |
| 5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.) |
| см. приложение |
| 5.3. Фонд оценочных средств для проведения промежуточной аттестации |
| см. приложение |
| 6.1. Рекомендуемая литература | ||||
| 6.1.1. Основная литература | ||||
| Авторы | Заглавие | Издательство, год | Эл. адрес | |
| Л1.1 | Слабнов В. Д. | Программирование на С++: Учебники и учебные пособия для ВУЗов | Познание, 2012 | biblioclub.ru |
| 6.1.2. Дополнительная литература | ||||
| Авторы | Заглавие | Издательство, год | Эл. адрес | |
| Л2.1 | Подбельский В.В., Фомин С.С. | Курс программирования на языке Си: Учебники | Издательство "ДМК Пресс", 2012 | e.lanbook.com |
| 6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет" | ||||
| Название | Эл. адрес | |||
| Э1 | Поисковые системы - yandex.ru, google.com | |||
| Э2 | Свободная энциклопедия Википедия – http://ru.wikipedia.org | |||
| Э3 | Форум разработчиков программного обеспечения - Stackoverflow.com | |||
| Э4 | Интернет-университет информационных технологий. – http://www.intuit.ru | |||
| Э5 | Объектно-ориентированное программирование | portal.edu.asu.ru | ||
| 6.3. Перечень программного обеспечения | ||||
| Visual Studio Rational Rose 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. Электронная база данных «Scopus» (http://www.scopus.com); 2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/); 3. Научная электронная библиотекаe library(http://elibrary.ru) 4. Электронная база данных ZBMATH: https://zbmath.org/ | ||||
| Аудитория | Назначение | Оборудование |
|---|---|---|
| Учебная аудитория | для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик | Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска) |
| Помещение для самостоятельной работы | помещение для самостоятельной работы обучающихся | Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ |
| 107Л | лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации | Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица |
| На лекционных занятиях необходимо конспектировать изучаемый материал. - Для систематизации лекционного материала, который будет полезен при подготовке к итоговому контролю знаний, записывайте на каждой лекции тему, вопросы для изучения, рекомендуемую литературу. - В каждом вопросе выделяйте главное, обязательно запишите ключевые моменты (определение, факты, законы, правила и т.д.), подчеркните их. - Если по содержанию материала возникают вопросы, не нужно выкрикивать, запишите их и задайте по окончании лекции или на семинарском занятии. - Перед следующей лекцией обязательно прочитайте предыдущую, чтобы актуализировать знания и осознанно приступить к освоению нового содержания Лабораторные работы, где студенты максимально активно участвуют в практическом приложении изучаемого материала дисциплины. - Самостоятельную подготовку к занятию необходимо начинать с изучения понятийного аппарата темы. Рекомендуем использовать справочную литературу (словари, справочники, энциклопедии), целесообразно создать и вести свой словарь терминов. - Важно запомнить, что любой источник должен нести достоверную информацию, особенно это относится к Internet-ресурсам. При использовании Internet - ресурсов в процессе подготовки не нужно их автоматически «скачивать», они должны быть проанализированы. Не нужно «скачивать» готовые рефераты, так как их однообразие преподаватель сразу выявляет, кроме того, они могут быть сомнительного качества. - В процессе изучения темы анализируйте несколько источников. Используйте периодическую печать - специальные журналы. - Полезным будет работа с электронными учебниками и учебными пособиями в Internet-библиотеках. Зарегистрируйтесь в них: университетская библиотека Онлайн (http://www.biblioclub.ru/) и электронно-библиотечная система «Лань» (http://e.lanbook.com/). - В процессе подготовки и построения решения, поставленных задач, не просто читайте текст учебника, но и выражайте свою личностно-профессиональную оценку прочитанного. - Задания практического характера: продумайте план их выполнения или решения . - При возникновении трудностей в процессе работы взаимодействуйте с преподавателем, консультируйтесь по самостоятельному изучению темы. Самостоятельная работа. - При изучении дисциплины не все вопросы рассматриваются на занятиях, часть вопросов рекомендуется преподавателем для самостоятельного изучения. - Поиск ответов на вопросы и выполнение заданий для самостоятельной работы позволит вам расширить и углубить свои знания по курсу, применить теоретические знания в решении задач практического содержания, закрепить изученное ранее. - Эти задания следует выполнять не «наскоком», а постепенно, планомерно, следуя порядку изучения тем курса. - При возникновении вопросов обратитесь к преподавателю в день консультаций на кафедру. - Выполнив их, проанализируйте качество их выполнения. Это поможет вам развивать умения самоконтроля и оценочные компетенции. Итоговый контроль. - Для подготовки к зачету возьмите перечень примерных вопросов у преподавателя. - В списке вопросов выделите те, которые были рассмотрены на занятиях. Обратитесь к своим записям, выделите существенное. Для более детального изучения изучите рекомендуемую литературу. - Если в списке вопросов есть те, которые не рассматривались на занятии, изучите их самостоятельно. |