Рабочая программа учебной дисциплины «языки программирования» Направление подготовки - страница №1/2
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Чувашский государственный университет имени И.Н.Ульянова»
Факультет информатики и вычислительной техники
Кафедра математического и аппаратного обеспечения информационных систем
«УТВЕРЖДАЮ»
Проректор по учебной работе
_________________ А.Ю. Александров
«____»_____________ 2013 г.
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
«ЯЗЫКИ ПРОГРАММИРОВАНИЯ»
Направление подготовки 090900 Информационная безопасность
Квалификация (степень) выпускника 62 – бакалавр
Профиль Информационная безопасность организации
Форма обучения – очная
Учебный план 2013 года приема
Цикл дисциплин – Профессиональный
Компонент цикла дисциплин – Базовая часть
Курс – 1
Семестр – 1, 2
Всего часов – 252
Чебоксары - 2013
Рабочая программа основана на требованиях Федерального государственного образовательного стандарта высшего профессионального образования по направлению подготовки 090900 Информационная безопасность, утвержденного приказом Минобрнауки 28.10.2009 г. №496 и в соответствии с рабочим учебным планом, утвержденным проректором по учебной работе 13 декабря 2013 г.
СОСТАВИТЕЛЬ:
доцент Л.А. Ильина
ОБСУЖДЕНО:
на заседании кафедры МиАОИС факультета ИВТ 03 декабря 2013 г., протокол №3
заведующий кафедрой И.Т. Артемьев
ОДОБРЕНО:
методической комиссией факультета ИВТ 13 декабря 2013 г., протокол №3
декан факультета Б.М. Калмыков
СОГЛАСОВАНО:
начальник
учебно-методического управления М.Ю. Харитонов
1. Цель освоения учебной дисциплины.
Цель дисциплины изучение принципов современного программирования, языков программирования и средств для разработки программ различного уровня сложности.
Задачи дисциплины освоение методик использования программных средств для решения практических задач.
2. Место учебной дисциплины в структуре ООП ВПО.
Дисциплина профессионального цикла базовой части.
Требования к входным знаниям, умениям и компетенциям студента: знание школьного курса информатики и компьютерных технологий;
Является предшествующей для дисциплин: «Технологии и методы программирования», «Базы данных и экспертные системы», «Визуальное программирование».
Дисциплина изучается в 1-2 семестрах, поэтому общекультурные и общепрофессиональные компетенции еще не сформированы
3. Компетенции студента, формируемые в результате освоения учебной дисциплины, ожидаемые результаты образования и компетенции студента по завершении освоения программы учебной дисциплины.
Процесс изучения дисциплины направлен на формирование следующих компетенций:
общекультурными:
способностью к обобщению, анализу, восприятию информации, постановке цели и выбору путей ее достижения, владеть культурой мышления (ОК-8);
общепрофессиональными:
способностью использовать основные естественнонаучные законы, применять математический аппарат в профессиональной деятельности, выявлять сущность проблем, возникающих в ходе профессиональной деятельности (ПК-1);
способностью понимать сущность и значение информации в развитии современного общества, применять достижения информатики и вычислительной техники, перерабатывать большие объемы информации проводить целенаправленный поиск в различных источниках информации по профилю деятельности, в том числе в глобальных компьютерных системах (ПК-2);
способностью использовать инструментальные средства и системы программирования для решения профессиональных задач (ПК-16).
В результате освоения дисциплины обучающийся должен:
Знать: современные технические и программные средства взаимодействия с ЭВМ, технологию разработки алгоритмов и программ, методы отладки и решения задач на ЭВМ в различных режимах; основы объектно-ориентированного подхода к программированию;
Уметь: ставить задачу и разрабатывать алгоритм ее решения, использовать прикладные системы программирования, работать с современными системами программирования, включая объектно-ориентированные;
Владеть: языками процедурного и объектно-ориентированного программирования, навыками разработки и отладки программ не менее, чем на одном из алгоритмических процедурных языков программирования высокого уровня.
4. Структура и содержание учебной дисциплины.
4.1. Структура дисциплины.
№ п/п
|
Наименование раздела дисциплины
|
Содержание раздела
|
Формируемые компетенции (ОК, ПК)
|
1.
|
Назначение состав и структура программного обеспечения
|
Дается общая характеристика языков программирования, области их применения, назначение и состав ПО
|
ОК-8
ПК-1, 2, 16
|
2.
|
Технология разработки алгоритмов и приложений
|
Рассматриваются основные этапы разработки приложений, определение и свойства алгоритма, способы описания алгоритмов
|
ОК-8
ПК-1, 2, 16
|
3.
|
Программирование на языке высокого уровня
|
Разбираются элементы языка программирования высокого уровня, операторы, способы организации программ различных структур
|
ОК-8
ПК-1, 2, 16
|
4.
|
Объектно-ориентированное программирование
|
Даются основные понятия объектно-ориентированного программирования, определение класса, объекта и методы работы с ними. Рассматриваются инкапсуляция, наследование и полиморфизм
|
ОК-8
ПК-1, 2, 16
|
5.
|
Динамические структуры данных
|
Рассматриваются основные динамические структуры данных: списки, деревья, очереди, методы их создания и применения для решения задач сортировки и поиска
|
ОК-8
ПК-1, 2, 16
|
4.2. Объем дисциплины и виды учебной работы.
№№
п/п
| Аудиторные занятия |
Лекции
|
Практические занятия
|
Лабораторные занятия
|
Самостоятельная работа
|
Контроль самостоятельной работы
|
Всего часов
|
Из них в интерактивной форме
|
| Семестр 1 |
|
|
|
|
|
|
|
| Раздел 1. Назначение, состав и структура программного обеспечения |
|
|
|
|
|
|
|
1.
|
Тема 1. Организация взаимодействия пользователя с ЭВМ.
|
2
|
|
|
1
|
|
3
|
2
|
2.
|
Тема 2 Общая характеристика языков программирования, области их применения.
|
2
|
|
|
1
|
|
3
|
2
|
| Раздел 2. Технология разработки алгоритмов и приложений |
|
|
|
|
|
|
|
3.
|
Тема 3. Основные этапы разработки приложений. Способы описания алгоритмов
|
2
|
|
1
|
1
|
|
4
|
2
|
4.
|
Тема 4. Тестирование и отладка
|
2
|
|
1
|
1
|
|
4
|
2
|
|
Раздел 3. Программирование на языке высокого уровня
|
|
|
|
|
|
|
|
5.
|
Тема 5. Элементы языка. Структура программы. Операторы.
|
2
|
|
1
|
1
|
|
4
|
2
|
6.
|
Тема 6. Ввод-вывод данных
|
2
|
|
1
|
2
|
|
5
|
2
|
7.
|
Тема 7. Циклы
|
4
|
|
2
|
2
|
|
8
|
4
|
8.
|
Тема 8. Массивы
|
4
|
|
2
|
2
|
|
8
|
4
|
9.
|
Тема 9. Структурные типы и структуры.
|
4
|
|
2
|
2
|
|
8
|
4
|
10.
|
Тема 10. Обработка текстовой информации
|
2
|
|
2
|
2
|
|
6
|
2
|
11.
|
Тема 11. Подпрограммы
|
2
|
|
2
|
2
|
|
6
|
2
|
12.
|
Тема 12. Файлы
|
4
|
|
2
|
2
|
|
8
|
4
|
|
Экзамен
|
|
|
|
36
|
5
|
41
|
|
|
Всего 1 семестр
|
32
|
|
16
|
55
|
5
|
108
|
32
|
|
Семестр 2
|
|
|
|
|
|
|
|
|
Раздел 4. ООП
|
|
|
|
|
|
|
|
13.
|
Тема 13. Тип данных класс. Объект.
|
4
|
|
4
|
2
|
|
10
|
4
|
14.
|
Тема 14. Инкапсуляция
|
4
|
|
4
|
2
|
|
10
|
4
|
15.
|
Тема 15. Наследование
|
4
|
|
4
|
2
|
|
10
|
4
|
16.
|
Тема 16. Полиморфизм
|
4
|
|
4
|
2
|
|
10
|
4
|
17.
|
Тема 17. Виртуальные методы
|
4
|
|
4
|
2
|
|
10
|
4
|
18.
|
Тема 18. Конструкторы и деструкторы
|
4
|
|
4
|
2
|
|
10
|
4
|
|
Раздел 5. Динамические структуры данных
|
|
|
|
|
|
|
|
19.
|
Тема 19. Динамические структуры данных.
|
4
|
|
4
|
4
|
|
12
|
4
|
20.
|
Тема 20. Сортировка и поиск с использованием динамических структур.
|
4
|
|
4
|
4
|
|
12
|
4
|
|
Экзамен
|
|
|
|
38
|
|
38
|
|
|
Курсовая работа
|
|
|
|
17
|
5
|
22
|
|
|
Всего 2 семестр
|
32
|
|
32
|
75
|
5
|
144
|
32
|
|
Итого
|
64
|
|
48
|
130
|
10
|
252
|
64
|
Вид промежуточной аттестации: экзамены в 1,2 семестре, курсовая работа во 2 семестре.
4.3. Темы занятий и краткое содержание.
-
Назначение, состав и структура программного обеспечения. Организация взаимодействия пользователя с ЭВМ. Обработка программ под управлением ОС. Обобщенная структура операционной системы. Краткая характеристика современных операционных систем. Общая характеристика языков программирования, области их применения. Компиляторы и интерпретаторы. Системы программирования.
-
Технология разработки алгоритмов и приложений. Основные этапы разработки приложений. Определение алгоритма. Свойства алгоритма. Способы описания алгоритмов: словесный, схемный, с помощью псевдокода или языка программирования. Единая система программной документации (ЕСПД): содержание, вид, форма. Методы разработки алгоритмов и программ: нисходящее, восходящее. Модульное представление программ. Структурное программирование. Объектно-ориентированная технология. Тестирование и отладка приложений. Методы тестирования. Типы ошибок. Способы и средства обнаружения и локализации синтаксических и логических ошибок. Организация отладки и тестирования приложений.
-
Программирование на языке высокого уровня. Процедурное программирование. Элементы языка: алфавит, идентификаторы, константы, выражения, операции, встроенные математические функции. Приоритеты операций. Структура программы. Определение констант и типов данных, объявление переменных и меток. Приведение типов и функции преобразования типов. Операторы. Инструкции ввода-вывода данных. Форматирование выводимой информации. Правила разработки приложений. Организация программ линейной структуры. Документация в исходном коде. Организация программ разветвляющейся и циклической структуры. Одномерные и многомерные статические массивы. Динамические массивы. Структурные типы и структуры.
-
Обработка текстовой информации. Способы представления текстов. Символы и строки. Встроенные подпрограммы обработки строк.
-
Подпрограммы. Механизмы передачи параметров в подпрограммы. Локальные и глобальные параметры. Область видимости и время жизни переменной. Побочные эффекты функций и процедур. Математическая рекурсия, рекурсивные подпрограммы.
-
Текстовые, типизированные и двоичные файлы. Прямой и последовательный доступ.
-
Введение в объектно-ориентированное программирование (ООП). Тип данных класс. Составляющие класса: поля, методы, одноименные методы, свойства. Объявление класса. Объект. Основные понятия: инкапсуляция, наследование. Полиморфизм и виртуальные методы. Конструкторы и деструкторы.
-
Динамические структуры данных. Сортировка и поиск с использованием динамических структур.
Содержание лабораторных занятий:
-
Знакомство с системами программирования. Тестирование и отладка приложений.
-
Программирование линейных алгоритмов
-
Программирование алгоритмов ветвления
-
Программирование циклических алгоритмов
-
Обработка массивов
-
Обработка структур
-
Обработка строк
-
Программирование с использованием процедур и функций
-
Обработка текстовых файлов
-
Обработка бинарных файлов
-
Определение класса и объектов
-
Массивы объектов и их обработка
-
Перегрузка операторов относительно класса
-
Дружественные функции
5. Образовательные технологии.
При обучении студентов используется сочетание традиционных и инновационных педагогических технологий.
При проведении лекционных занятий изложение теоретического материала сопровождается презентациями (лекция-визуализация).
Для эффективной работы студентов на лабораторных занятиях формируются подгруппы численностью не более 12 человек.
Предусматривается проведение отдельных форм текущего контроля в виде тестирования.
В процессе преподавания дисциплины темы рассматриваются их на конкретных примерах.
№ темы
|
Вид занятия
|
Используемые интерактивные технологии
|
Всего часов
|
Тема 1. Организация взаимодействия пользователя с ЭВМ.
|
Лекция
|
лекция-визуализация
|
2
|
Тема 2 Общая характеристика языков программирования, области их применения.
|
Лекция
|
лекция-визуализация
|
2
|
Тема 3. Основные этапы разработки приложений. Способы описания алгоритмов
|
Лекция
|
лекция-визуализация
|
2
|
Тема 4. Тестирование и отладка
|
Лекция
|
лекция-визуализация
|
2
|
Тема 5. Элементы языка. Структура программы. Операторы.
|
Лекция
|
лекция-визуализация, демонстрация примеров программ
|
2
|
Тема 6. Ввод-вывод данных
|
Лекция
|
лекция-визуализация, демонстрация примеров программ
|
2
|
Тема 7. Циклы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 8. Массивы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 9. Структурные типы и структуры.
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 10. Обработка текстовой информации
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
2
|
Тема 11. Подпрограммы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
2
|
Тема 12. Файлы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 13. Тип данных класс. Объект.
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 14. Инкапсуляция
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 15. Наследование
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 16. Полиморфизм
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 17. Виртуальные методы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 18. Конструкторы и деструкторы
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 19. Динамические структуры данных.
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Тема 20. Сортировка и поиск с использованием динамических структур.
|
Лекция
|
лекция-визуализация, демонстрация работы примеров программ
|
4
|
Итого
|
64
|
следующая страница >>