Закреплена за кафедрой | Кафедра информатики |
---|---|
Направление подготовки | 09.03.03. Прикладная информатика |
Форма обучения | Очная |
Общая трудоемкость | 3 ЗЕТ |
Учебный план | 09_03_03_ПИ-3-2019 |
|
|
Распределение часов по семестрам
Курс (семестр) | 3 (6) | Итого | ||
---|---|---|---|---|
Недель | 19 | |||
Вид занятий | УП | РПД | УП | РПД |
Лекции | 18 | 18 | 18 | 18 |
Лабораторные | 24 | 24 | 24 | 24 |
Сам. работа | 66 | 66 | 66 | 66 |
Итого | 108 | 108 | 108 | 108 |
Визирование РПД для исполнения в очередном учебном году
Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2019-2020 учебном году на заседании
кафедры
Кафедра информатики
Протокол от 22.06.2019 г. № 8
Заведующий кафедрой к.ф.-м.н., доцент Жариков
1.1. | Целями освоения дисциплины являются: изучение декларативного логического и функционального подхода программирования; изучение способов и механизмов управления данными; Изучение дисциплины направлено: на формирование у студентов необходимую теоретическую базу и практические навыки для создания программных продуктов с использованием одного или нескольких языков программирования; на формирование навыков реализации алгоритмов на высокоуровневом декларативном языке программирования; разработки, отладки и тестирования программ; на подготовку обучающихся к системному восприятию дальнейших дисциплин из учебного плана, использующих навыки алгоритмизации и декларативного программирования; на получение представлений об основных идеях декларативного программирования и развитие способностей сознательно использовать материал курса, умение разбираться в существующих языковых и программных средствах и условиях их применения. |
---|
Цикл (раздел) ООП: Б1.В |
ПК-23 | способностью применять системный подход и математические методы в формализации решения прикладных задач |
В результате освоения дисциплины обучающийся должен | |
3.1. | Знать: |
---|---|
3.1.1. | о различных парадигмах программирования и современном уровне развития языков и технологий программирования; о сложности программных систем и методах ее преодоления; об основах построения трансляторов. |
3.2. | Уметь: |
3.2.1. | Знать: терминологию (понятийный аппарат) анализа, проектирования, программирования и тестирования программных систем; этапы и стадии разработки программных продуктов; теорию алгоритмов; основные управляющие конструкции императивных языков программирования (циклы, условные выражения и т.д.); элементы теории рекурсивных функций; синтаксис и базовые конструкции языка Prolog,Erlang. Уметь: выполнять анализ предметной области с целью выявления основных сущностей, их свойств и поведения, актуальных для поставленной задачи; строить алгоритмы выполнения программы с использованием рекурсивных подпрограмм; проектировать, создавать и тестировать простейшие программы на декларативных языках программирования; использовать прикладные среды для написания и отладки программ. |
3.3. | Иметь навыки и (или) опыт деятельности (владеть): |
3.3.1. | построения математической модели и алгоритма для прикладной задачи; написания и отладки программ на декларативном языке программирования. |
Код занятия | Наименование разделов и тем | Вид занятия | Семестр | Часов | Компетенции | Литература |
---|---|---|---|---|---|---|
Раздел 1. Основные понятия языков программирования | ||||||
1.1. | формальные способы описания языков программирования. Императивные и декларативные языки программирования. Структурное, логическое и функциональное программирование. | Лекции | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
Раздел 2. Язык Пролог. | ||||||
2.1. | Общая схема поиска решения Пролог-системой. Синтаксис и семантика языка: термы (атомы, структуры, переменные), операторы. | Лекции | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
2.2. | История развития и базовые понятия языка Пролог. | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.3. | Общая схема поиска решения Пролог-системой. Синтаксис языка: термы (атомы, структуры, переменные), операторы. | Лабораторные | 6 | 0 | ПК-23 | Л2.1, Л1.2 |
2.4. | Синтаксис языка: термы (атомы, структуры, переменные), операторы. | Сам. работа | 6 | 0 | ПК-23 | Л2.1, Л1.2 |
2.5. | Типы данных. Списки атомов, чисел, строк. Различные операции над списками. Сортировка списков. | Сам. работа | 6 | 8 | ПК-23 | Л2.1, Л1.2 |
2.6. | Массивы. Заполнение массивов из элементов списка и наоборот. Файловый ввод/вывод. | Сам. работа | 6 | 20 | ПК-23 | Л2.1, Л1.2 |
2.7. | Работа со строками. Функции работы со строками. Примеры программ. | Сам. работа | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
2.8. | Специальные предикаты (оператор цикла, условный оператор). Определение новых функций. Перегрузка операторов. | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.9. | Списки атомов, чисел, строк. Различные операции над списками. Массивы. Заполнение массивов из элементов списка и наоборот. Файловый ввод/вывод. | Лабораторные | 6 | 0 | ПК-23 | Л2.1, Л1.2 |
2.10. | Различные операции над списками. Примеры. | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.11. | Ошибки, возникающие при написании программ на Прологе. Воздействие на процесс возврата: предикат отсечение(!), предикат repeat. | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.12. | Ошибки, возникающие при написании программ на Прологе. Воздействие на процесс возврата: предикат отсечение(!), предикат repeat. | Лабораторные | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
2.13. | Отсечение. Виды отсечений. | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.14. | Работа с базой данных (добавление, модификация и удаление предложений). Статическая, динамическая база данных. Способы и механизмы управления данными. Предикаты of, count_successes, findall. | Сам. работа | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
2.15. | Структуры. Согласование структур. Работа с компонентами структур, предикаты: functor(_,_,_), arg(_,_,_) и "=..". | Сам. работа | 6 | 2 | ПК-23 | Л2.1, Л1.2 |
2.16. | Структуры. Согласование структур. Работа с компонентами структур, предикаты: functor(_,_,_), arg(_,_,_) и "=..". Базы фактов. Работа с базой данных. | Лабораторные | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
2.17. | Работа с базой данных (добавление, модификация и удаление предложений). Статическая, динамическая база данных. | Сам. работа | 6 | 1 | ПК-23 | Л2.1, Л1.2 |
2.18. | Предикаты для работы с фактами. | Лекции | 6 | 4 | ПК-23 | Л2.1, Л1.2 |
Раздел 3. Язык Erlang. | ||||||
3.1. | Введение в Erlang. История Erlang. Особенности Erlang. | Лекции | 6 | 4 | ПК-23 | Л1.1 |
3.2. | Основные конструкции и синтаксис языка. | Лабораторные | 6 | 2 | ПК-23 | Л1.1 |
3.3. | Основные конструкции и синтаксис языка. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.4. | Типы данных. Целые,Действительные числа. Интерпретатор. Операциии. Атомы. Логические значения. Кортежи. Списки. Строки. Структуры. Функции. Методы и основные этапы трансляции. | Лабораторные | 6 | 4 | ПК-23 | Л1.1 |
3.5. | Последовательное программирование. Условные выражения. Ввод-вывод. Рекурсия. Хвостовая рекурсия. Обработка ошибок. | Лекции | 6 | 2 | ПК-23 | Л1.1 |
3.6. | Элементы последовательного программирования. | Лабораторные | 6 | 4 | ПК-23 | Л1.1 |
3.7. | Элементы последовательного программирования. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.8. | Конструкции параллельного программирования. Создание процессов. Передача, прием сообщений. Хвостовая рекурсия и утечки памяти. Менеджер процессов. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.9. | Шаблоные проектирования процессов. Модель клиент/сервер. Примеры. | Сам. работа | 6 | 4 | ПК-23 | Л1.1 |
3.10. | Обработка ошибок в процессах. Вспомогательные функции. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.11. | Записи и макросы. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.12. | Элементы параллельного программирования. | Лабораторные | 6 | 2 | ПК-23 | Л1.1 |
3.13. | Элементы параллельного программирования. | Сам. работа | 6 | 2 | ПК-23 | Л1.1 |
3.14. | Функциональное программирование. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.15. | Конструкции распределенного программирования. Взаимодействие, сообщения и безопасность. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.16. | Элементы распределенного программирования. | Лабораторные | 6 | 2 | ПК-23 | Л1.1 |
3.17. | Элементы распределенного программирования. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.18. | Поведение OTP. Введение. Примеры. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.19. | OTP инфраструктура. | Лабораторные | 6 | 2 | ПК-23 | Л1.1 |
3.20. | OTP инфраструктура. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
3.21. | Создание GUI-приложений. | Сам. работа | 6 | 1 | ПК-23 | Л1.1 |
5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины |
см. приложение |
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.) |
см. приложение |
5.3. Фонд оценочных средств для проведения промежуточной аттестации |
см. приложение |
6.1. Рекомендуемая литература | ||||
6.1.1. Основная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л1.1 | Томпсон С., Чезарини Ф. | Программирование в Erlang.: | М.:"ДМК Пресс", 2012 | |
Л1.2 | Харахан О. Г. | Системы искусственного интеллекта. Практикум для проведения лабораторных работ. Ч. 1. Учебное пособие для вузов.: | М.: Московский государственный горный университет, 2006 | |
6.1.2. Дополнительная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л2.1 | Половикова О.Н. | Языки программирования: учебное методическое пособие по курсу "Языки программирования" | Барнаул: Изд-во АлтГУ, 2010 | |
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. Перечень программного обеспечения | ||||
Strawberry Prolog Erlang/OTP Microsoft Windows Microsoft Office 7-Zip AcrobatReader | ||||
6.4. Перечень информационных справочных систем | ||||
Научная электронная библиотека elibrary (http://elibrary.ru) 1. Электронная база данных «Scopus» (http://www.scopus.com); 2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/); 3. Научная электронная библиотекаelibrary(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/). - В процессе подготовки и построения решения, поставленных задач, не просто читайте текст учебника, но и выражайте свою личностно-профессиональную оценку прочитанного. - Задания практического характера: продумайте план их выполнения или решения . - При возникновении трудностей в процессе работы взаимодействуйте с преподавателем, консультируйтесь по самостоятельному изучению темы. Самостоятельная работа. - При изучении дисциплины не все вопросы рассматриваются на занятиях, часть вопросов рекомендуется преподавателем для самостоятельного изучения. - Поиск ответов на вопросы и выполнение заданий для самостоятельной работы позволит вам расширить и углубить свои знания по курсу, применить теоретические знания в решении задач практического содержания, закрепить изученное ранее. - Эти задания следует выполнять не «наскоком», а постепенно, планомерно, следуя порядку изучения тем курса. - При возникновении вопросов обратитесь к преподавателю в день консультаций на кафедру. - Выполнив их, проанализируйте качество их выполнения. Это поможет вам развивать умения самоконтроля и оценочные компетенции. Итоговый контроль. - Для подготовки к зачету возьмите перечень примерных вопросов у преподавателя. - В списке вопросов выделите те, которые были рассмотрены на занятиях. Обратитесь к своим записям, выделите существенное. Для более детального изучения изучите рекомендуемую литературу. - Если в списке вопросов есть те, которые не рассматривались на занятии, изучите их самостоятельно. |