Актуальность дисциплины
Программирование является дисциплиной, в рамках которой отрабатываются навыки реализации алгоритмов на языках программирования высокого уровня на темы:
Линейный алгоритм.
Алгоритмы с использованием ветвлений.
Вычисления с использованием циклов.
Работа с одномерными массивами.
Работа с двумерными массивами (массивами массивов).
Работа со строками.
Работа с односвязным списком.
Работа с двусвязным списком.
Работа со стеком.
Работа с очередью.
Работа с деком.
Простые однооконные приложения с графическим интерфейсом.
Изучение программирования способствует развитию алгоритмического мышления и навыков программирования, например, умения составлять простые блок-схемы алгоритмов, программы на алгоритмическом языке высокого уровня, работать в интегрированной среде изучаемых языков программирования. Также изучение программирования развивает такие навыки, как логическое мышление, умение разбираться в алгоритмах, способность находить нестандартные способы решения задач, управлять временем и планировать дела.
Мин. объем дисциплины: 7 з.е. (252 ч.).
Рекомендуемый объем дисциплины: 7 з.е. (252 ч.) – 1 семестр: 18 ч. лек, 36 ч. лаб., 54 ч. сам. раб., 2 семестр: 18 ч. лек, 36 ч. лаб., 90 ч. сам. раб.
Форма отчетности: зачет, экзамен.
Цель дисциплины: формирование способности осваивать методики использования программных средств для решения практических задач; получение знаний и навыков программирования на языке высокого уровня, самостоятельное приобретение с помощью информационных технологий и использование в практической деятельности новых знаний и умений.
Задачи дисциплины:
- анализ и алгоритмизация решаемых задач;
- оформление решения задачи в графическом виде (в виде схем алгоритмов);
- программирование любого алгоритма, задачи, метода;
- проектирование и отладка программ;
- тестирование и оптимизация разработанного программного продукта.
Формируемые компетенции
ПК-1. Способен осваивать и использовать теоретические знания и практические умения и навыки в предметной области при решении профессиональных задач.
Содержание дисциплины в соответствии с требованиями ядра ВПО
Процедурное программирование. Идентификаторы. Переменные, типы переменных. Присваивание. Управление ходом выполнения программы: ветвления и циклы. Массивы, последовательности символов. Записи (структуры). Стеки, очереди, деки. Указатели и ссылки. Динамическая память. Подпрограммы. Работа с файлами.
Объектно-ориентированное программирование. Объект (состояние поведение, уникальность объекта). Классы и методы. Наследование, полиморфизм, инкапсуляция, абстракция. Абстрактные классы. Интерфейсы. Исключения. Обработка исключений. Обобщенные типы данных Коллекции. Разработка программ с графическим интерфейсом пользователя. Элементы управления. События. Обработка событий. Многопоточное программирование. Объектно-ориентированный подход к проектированию программного обеспечения.
Специализированные технологии программирования. Функциональное программирование. Программирование мобильных устройств.
Технологии реализации дисциплины
Реализация дисциплины предполагает курс лекций, направленных на изучение основных методов решения задач, лабораторные работы, направленные на формирование практических навыков в области решения задач разных алгоритмических конструкций – от линейных программа до программ с использованием стека и очереди. Предполагается решение групповых проектов, направленных на изучение дополнительного материала самостоятельно.
Преподаватели
Яковлева Надежда Александровна, старший преподаватель института передовых информационных технологий ТГПУ им. Л.Н. Толстого.