| Закреплена за кафедрой | Кафедра информатики |
|---|---|
| Направление подготовки | 02.03.02. Фундаментальная информатика и информационные технологии |
| Профиль | Программирование и информационные технологии |
| Форма обучения | Очная |
| Общая трудоемкость | 3 ЗЕТ |
| Учебный план | 02_03_02_Фундаментальная информатика и информационные технологии_ПиИТ-2022 |
|
|
||||||||||||
Распределение часов по семестрам
| Курс (семестр) | 4 (7) | Итого | ||
|---|---|---|---|---|
| Недель | 16 | |||
| Вид занятий | УП | РПД | УП | РПД |
| Лекции | 14 | 14 | 14 | 14 |
| Лабораторные | 28 | 28 | 28 | 28 |
| Сам. работа | 66 | 66 | 66 | 66 |
| Итого | 108 | 108 | 108 | 108 |
| 1.1. | Целями освоения дисциплины являются: изучение декларативного логического и функционального подхода программирования; изучение способов и механизмов управления данными; Изучение дисциплины направлено: на формирование у студентов необходимую теоретическую базу и практические навыки для создания программных продуктов с использованием одного или нескольких языков программирования; на формирование навыков реализации алгоритмов на высокоуровневом декларативном языке программирования; разработки, отладки и тестирования программ; на подготовку обучающихся к системному восприятию дальнейших дисциплин из учебного плана, использующих навыки алгоритмизации и декларативного программирования; на получение представлений об основных идеях декларативного программирования и развитие способностей сознательно использовать материал курса, умение разбираться в существующих языковых и программных средствах и условиях их применения. |
|---|
| Цикл (раздел) ООП: Б1.В.01 |
| ПК-3 | Способен понимать и применять в научно-исследовательской и прикладной деятельности современный математический аппарат, основные законы естествознания, современные языки программирования и программное обеспечение; операционные системы и сетевые технологии |
| ПК-3.1 | Знает основные методы решения прикладных задач, современные методы информационных технологий концептуального проектирования. |
| ПК-3.2 | Умеет корректно оформить результаты научного труда в соответствии с современными требованиями. |
| ПК-3.3 | Имеет практический опыт использования сети Интернет, аннотирования, реферирования, библиографического разыскания и описания, опыт работы с научными источниками. |
| ПК-3.4 | Владеет методикой выбора, обоснования и защиты выбранного варианта концептуальной архитектуры. |
| ПК-6 | Способен применять в профессиональной деятельности современные языки программирования и методы параллельной обработки данных, операционные системы, электронные библиотеки и пакеты программ, сетевые технологии |
| ПК-6.1 | Знает современные языки программирования и методы параллельной обработки данных. Знаком с содержанием Единого Реестра Российских программ для электронных вычислительных машин и баз данных. |
| ПК-6.2 | Умеет реализовывать численные методы решения прикладных задач в профессиональной сфере деятельности, пакеты программного обеспечения, операционные системы, электронные библиотеки, сетевые технологии. |
| ПК-6.3 | Имеет практический опыт разработки интеграции информационных систем. |
| В результате освоения дисциплины обучающийся должен | |
| 3.1. | Знать: |
|---|---|
| 3.1.1. | о различных парадигмах программирования и современном уровне развития языков и технологий программирования; о декларативном подходе программирования; о принципах логического и функционального программирования; основные управляющие конструкции декларативных языков программирования; элементы теории рекурсивных функций; синтаксис и базовые конструкции языка Prolog, Lisp. терминологию (понятийный аппарат) анализа, проектирования, программирования и тестирования программных систем; этапы и стадии разработки программных продуктов; |
| 3.2. | Уметь: |
| 3.2.1. | выполнять анализ предметной области с целью выявления основных сущностей, их свойств и поведения, актуальных для поставленной задачи; строить алгоритмы выполнения программы с использованием рекурсивных подпрограмм; проектировать, создавать и тестировать простейшие программы на декларативных языках программирования; использовать прикладные среды для написания и отладки программ. |
| 3.3. | Иметь навыки и (или) опыт деятельности (владеть): |
| 3.3.1. | построения математической модели и алгоритма для прикладной задачи; написания и отладки программ на декларативном языке программирования. |
| Код занятия | Наименование разделов и тем | Вид занятия | Семестр | Часов | Компетенции | Литература |
|---|---|---|---|---|---|---|
| Раздел 1. Основные понятия языков программирования | ||||||
| 1.1. | формальные способы описания языков программирования. Императивные и декларативные языки программирования. Структурное, логическое и функциональное программирование. | Лекции | 7 | 0 | Л1.1, Л2.1 | |
| Раздел 2. Язык Пролог. | ||||||
| 2.1. | Общая схема поиска решения Пролог-системой. Синтаксис и семантика языка: термы (атомы, структуры, переменные), операторы. | Лекции | 7 | 4 | Л1.1, Л2.1 | |
| 2.2. | История развития и базовые понятия языка Пролог. | Сам. работа | 7 | 2 | Л1.1, Л2.1 | |
| 2.3. | Общая схема поиска решения Пролог-системой. Синтаксис языка: термы (атомы, структуры, переменные), операторы. | Лабораторные | 7 | 0 | Л1.1, Л2.1 | |
| 2.4. | Синтаксис языка: термы (атомы, структуры, переменные), операторы. | Сам. работа | 7 | 6 | Л1.1, Л2.1 | |
| 2.5. | Типы данных. Списки атомов, чисел, строк. Различные операции над списками. Сортировка списков. | Сам. работа | 7 | 8 | Л1.1, Л2.1 | |
| 2.6. | Массивы. Заполнение массивов из элементов списка и наоборот. Файловый ввод/вывод. | Сам. работа | 7 | 4 | Л1.1, Л2.1 | |
| 2.7. | Работа со строками. Функции работы со строками. Примеры программ. | Сам. работа | 7 | 0 | Л1.1, Л2.1 | |
| 2.8. | Специальные предикаты (оператор цикла, условный оператор). Определение новых функций. Перегрузка операторов. | Сам. работа | 7 | 2 | Л1.1, Л2.1 | |
| 2.9. | Списки атомов, чисел, строк. Различные операции над списками. Массивы. Заполнение массивов из элементов списка и наоборот. Файловый ввод/вывод. | Лабораторные | 7 | 4 | Л1.1, Л2.1 | |
| 2.10. | Различные операции над списками. Примеры. | Сам. работа | 7 | 20 | Л1.1, Л2.1 | |
| 2.11. | Ошибки, возникающие при написании программ на Прологе. Воздействие на процесс возврата: предикат отсечение(!), предикат repeat. | Сам. работа | 7 | 0 | Л1.1, Л2.1 | |
| 2.12. | Ошибки, возникающие при написании программ на Прологе. Воздействие на процесс возврата: предикат отсечение(!), предикат repeat. | Лабораторные | 7 | 4 | Л1.1, Л2.1 | |
| 2.13. | Отсечение. Виды отсечений. | Сам. работа | 7 | 0 | Л1.1, Л2.1 | |
| 2.14. | Работа с базой данных (добавление, модификация и удаление предложений). Статическая, динамическая база данных. Способы и механизмы управления данными. Предикаты of, count_successes, findall. | Сам. работа | 7 | 4 | Л1.1, Л2.1 | |
| 2.15. | Структуры. Согласование структур. Работа с компонентами структур, предикаты: functor(_,_,_), arg(_,_,_) и "=..". | Сам. работа | 7 | 2 | Л1.1, Л2.1 | |
| 2.16. | Структуры. Согласование структур. Работа с компонентами структур, предикаты: functor(_,_,_), arg(_,_,_) и "=..". Базы фактов. Работа с базой данных. | Лабораторные | 7 | 4 | Л1.1, Л2.1 | |
| 2.17. | Работа с базой данных (добавление, модификация и удаление предложений). Статическая, динамическая база данных. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 2.18. | Предикаты для работы с фактами. | Лекции | 7 | 4 | Л1.1, Л2.1 | |
| Раздел 3. Язык Erlang. | ||||||
| 3.1. | Введение в Erlang. История Erlang. Особенности Erlang. | Лекции | 7 | 4 | Л1.1, Л2.1 | |
| 3.2. | Основные конструкции и синтаксис языка. | Лабораторные | 7 | 2 | Л1.1, Л2.1 | |
| 3.3. | Основные конструкции и синтаксис языка. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.4. | Типы данных. Целые,Действительные числа. Интерпретатор. Операциии. Атомы. Логические значения. Кортежи. Списки. Строки. Структуры. Функции. Методы и основные этапы трансляции. | Лабораторные | 7 | 4 | Л1.1, Л2.1 | |
| 3.5. | Последовательное программирование. Условные выражения. Ввод-вывод. Рекурсия. Хвостовая рекурсия. Обработка ошибок. | Лекции | 7 | 2 | Л1.1, Л2.1 | |
| 3.6. | Элементы последовательного программирования. | Лабораторные | 7 | 4 | Л1.1, Л2.1 | |
| 3.7. | Элементы последовательного программирования. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.8. | Конструкции параллельного программирования. Создание процессов. Передача, прием сообщений. Хвостовая рекурсия и утечки памяти. Менеджер процессов. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.9. | Шаблоные проектирования процессов. Модель клиент/сервер. Примеры. | Сам. работа | 7 | 4 | Л1.1, Л2.1 | |
| 3.10. | Обработка ошибок в процессах. Вспомогательные функции. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.11. | Записи и макросы. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.12. | Элементы параллельного программирования. | Лабораторные | 7 | 2 | Л1.1, Л2.1 | |
| 3.13. | Элементы параллельного программирования. | Сам. работа | 7 | 2 | Л1.1, Л2.1 | |
| 3.14. | Функциональное программирование. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.15. | Конструкции распределенного программирования. Взаимодействие, сообщения и безопасность. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.16. | Элементы распределенного программирования. | Лабораторные | 7 | 2 | Л1.1, Л2.1 | |
| 3.17. | Элементы распределенного программирования. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.18. | Поведение OTP. Введение. Примеры. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.19. | OTP инфраструктура. | Лабораторные | 7 | 2 | Л1.1, Л2.1 | |
| 3.20. | OTP инфраструктура. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 3.21. | Создание GUI-приложений. | Сам. работа | 7 | 1 | Л1.1, Л2.1 | |
| 5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины |
| см. приложение |
| 5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.) |
| см. приложение |
| 5.3. Фонд оценочных средств для проведения промежуточной аттестации |
| см. приложение |
| 6.1. Рекомендуемая литература | ||||
| 6.1.1. Основная литература | ||||
| Авторы | Заглавие | Издательство, год | Эл. адрес | |
| Л1.1 | Половикова О.Н. | Функциональное и логическое программирование: учеб.-метод. пособие: учебно-методическое пособие | Изд-во АлтГУ, 2016 | elibrary.asu.ru |
| 6.1.2. Дополнительная литература | ||||
| Авторы | Заглавие | Издательство, год | Эл. адрес | |
| Л2.1 | Шрайнер П. А | Основы программирования на языке Пролог: | Интернет-Университет Информационных Технологий, 2005 | biblioclub.ru |
| 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 Prolog Common Lisp Strawberry Prolog Microsoft Windows Microsoft Office 7-Zip AcrobatReader 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. Перечень информационных справочных систем | ||||
| 1. Электронная база данных «Scopus» (http://www.scopus.com); 2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/); 3. Научная электронная библиотекаe library(http://elibrary.ru) | ||||
| Аудитория | Назначение | Оборудование |
|---|---|---|
| Помещение для самостоятельной работы | помещение для самостоятельной работы обучающихся | Компьютеры, ноутбуки с подключением к информационно-телекоммуникационной сети «Интернет», доступом в электронную информационно-образовательную среду АлтГУ |
| 107Л | лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации | Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица |
| Учебная аудитория | для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик | Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска) |
| На лекционных занятиях необходимо конспектировать изучаемый материал. - Для систематизации лекционного материала, который будет полезен при подготовке к итоговому контролю знаний, записывайте на каждой лекции тему, вопросы для изучения, рекомендуемую литературу. - В каждом вопросе выделяйте главное, обязательно запишите ключевые моменты (определение, факты, законы, правила и т.д.), подчеркните их. - Если по содержанию материала возникают вопросы, не нужно выкрикивать, запишите их и задайте по окончании лекции или на семинарском занятии. - Перед следующей лекцией обязательно прочитайте предыдущую, чтобы актуализировать знания и осознанно приступить к освоению нового содержания Лабораторные работы, где студенты максимально активно участвуют в практическом приложении изучаемого материала дисциплины. - Самостоятельную подготовку к занятию необходимо начинать с изучения понятийного аппарата темы. Рекомендуем использовать справочную литературу (словари, справочники, энциклопедии), целесообразно создать и вести свой словарь терминов. - Важно запомнить, что любой источник должен нести достоверную информацию, особенно это относится к Internet-ресурсам. При использовании Internet - ресурсов в процессе подготовки не нужно их автоматически «скачивать», они должны быть проанализированы. Не нужно «скачивать» готовые рефераты, так как их однообразие преподаватель сразу выявляет, кроме того, они могут быть сомнительного качества. - В процессе изучения темы анализируйте несколько источников. Используйте периодическую печать - специальные журналы. - Полезным будет работа с электронными учебниками и учебными пособиями в Internet-библиотеках. Зарегистрируйтесь в них: университетская библиотека Онлайн (http://www.biblioclub.ru/) и электронно-библиотечная система «Лань» (http://e.lanbook.com/). - В процессе подготовки и построения решения, поставленных задач, не просто читайте текст учебника, но и выражайте свою личностно-профессиональную оценку прочитанного. - Задания практического характера: продумайте план их выполнения или решения . - При возникновении трудностей в процессе работы взаимодействуйте с преподавателем, консультируйтесь по самостоятельному изучению темы. Самостоятельная работа. - При изучении дисциплины не все вопросы рассматриваются на занятиях, часть вопросов рекомендуется преподавателем для самостоятельного изучения. - Поиск ответов на вопросы и выполнение заданий для самостоятельной работы позволит вам расширить и углубить свои знания по курсу, применить теоретические знания в решении задач практического содержания, закрепить изученное ранее. - Эти задания следует выполнять не «наскоком», а постепенно, планомерно, следуя порядку изучения тем курса. - При возникновении вопросов обратитесь к преподавателю в день консультаций на кафедру. - Выполнив их, проанализируйте качество их выполнения. Это поможет вам развивать умения самоконтроля и оценочные компетенции. Итоговый контроль. - Для подготовки к зачету возьмите перечень примерных вопросов у преподавателя. - В списке вопросов выделите те, которые были рассмотрены на занятиях. Обратитесь к своим записям, выделите существенное. Для более детального изучения изучите рекомендуемую литературу. - Если в списке вопросов есть те, которые не рассматривались на занятии, изучите их самостоятельно. |