Министерство образования и науки Российской Федерации Учебно-методическое объединение вузов по образованию в области информационной безопасности сборник примерных программ учебных дисциплин по направлению подготовки (специальности)
Вид материала | Документы |
- Министерство образования и науки Российской Федерации Учебно-методическое, 3299.35kb.
- Ступности (государственной, воинской, транснациональной и иной) мы будем, 86.46kb.
- Лекция по теме № Условия конкретного преступления, 298.33kb.
- Расписание занятий на цикле сертификационного усовершенствования для интернов, 88.88kb.
- Министерство образования Российской Федерации Министерство путей сообщения Российской, 653.58kb.
- Министерство образования Российской Федерации Министерство путей сообщения Российской, 657.68kb.
- Общая характеристика работы Актуальность темы, 398.26kb.
- Рекомендации по организации профилактической работы, направленной на предупреждение, 1352.37kb.
- История исторической науки, 496.22kb.
- Министерство здравоохранения и социального развития Российской Федерации Государственное, 408.11kb.
Разработчики: УМО ИБ
УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЪЕДИНЕНИЕ ПО ОБРАЗОВАНИЮ
В ОБЛАСТИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
ПРОЕКТ
ПРИМЕРНАЯ УЧЕБНАЯ ПРОГРАММА
Наименование дисциплины
«Методы программирования»
Рекомендуется для направления подготовки (специальности)
090302 Информационная безопасность телекоммуникационных систем
Квалификация (степень) выпускника
«Специалист»
МОСКВА 2011
1. Цели и задачи дисциплины
Целью изучения дисциплины «Методы программирования» является подготовка специалистов к деятельности, связанной с разработкой и эффективной реализацией программных средств для решения профессиональных задач.
Задачи дисциплины:
- изучение основных подходов к организации процесса разработки программного обеспечения;
- изучение базовых структур данных;
- изучение основных алгоритмов сортировки и поиска;
- изучение алгоритмов генерации перестановок, подмножеств;
- изучение основных алгоритмов на графах;
- освоение основных методов оценки вычислительной сложности алгоритмов.
2. Место дисциплины в структуре ООП
Дисциплина «Методы программирования» относится к числу дисциплин базовой части профессионального цикла.
Для успешного усвоения данной дисциплины необходимо, чтобы студент владел знаниями, умениями и навыками, сформированными в процессе изучения дисциплин:
«Математический анализ» – владеть навыками использования методов математического анализа к решению прикладных задач;
«Алгебра и геометрия» – владеть методами линейной алгебры;
«Информатика» – уметь пользоваться сетевыми средствами для обмена данными, в том числе с использованием глобальной информационной сети Интернет, владеть навыками работы с офисными приложениями;
«Языки программирования» - знать язык программирования высокого уровня (объектно-ориентированное программирование); уметь работать с интегрированной средой разработки программного обеспечения; владеть навыками разработки, документирования, тестирования и отладки программ;
Дисциплина «Методы программирования» является предшествующей для изучения следующих базовых дисциплин: «Криптографические методы защиты информации», «Программно-аппаратные средства обеспечения информационной безопасности», «Информационные технологии», «Моделирование систем и сетей телекоммуникаций». Знания и практические навыки, полученные в результате освоения дисциплины «Методы программирования», используются студентами при разработке курсовых и дипломных работ, в научно-исследовательской работе.
3. Требования к результатам освоения дисциплины
Процесс изучения дисциплины направлен на формирование следующих компетенций:
способность к логически-правильному мышлению, обобщению, анализу, критическому осмыслению информации, систематизации, прогнозированию, постановке исследовательских задач и выбору путей их решения на основании принципов научного познания (ОК-9);
способность выявлять естественнонаучную сущность проблем, возникающих в ходе профессиональной деятельности, и применять соответствующий физико-математический аппарат для их формализации, анализа и выработки решения (ПК-1);
способность применять математический аппарат, в том числе с использованием вычислительной техники, для решения профессиональных задач (ПК-2);
способность использовать языки, системы и инструментальные средства программирования в профессиональной деятельности (ПК-4);
способность применять основные методы, способы и средства получения, хранения, переработки и передачи информации (ПК-10);
способность применять современные методы исследования с использованием компьютерной техники (ПК-12).
В результате изучения дисциплины студент должен
знать:
- общие сведения о методах проектирования, документирования, разработки, тестирования и отладки программного обеспечения;
- основные сведения о базовых структурах данных;
- основные комбинаторные и теоретико-графовые алгоритмы;
уметь:
- реализовывать базовые алгоритмы цифровой обработки сигналов;
владеть:
- навыками использования известных методов программирования и возможностей базового языка программирования для решения типовых профессиональных задач.
4. Объём дисциплины и виды учебной работы
Вид учебной работы | Всего часов | Семестры | |
4 | |||
Аудиторные занятия (всего) | 70 | 70 | |
В том числе: | | | |
Лекции (Л) | 36 | 36 | |
Практические занятия (ПЗ) | 34 | 34 | |
Семинары (С) | - | - | |
Лабораторные работы (ЛР) | - | - | |
Контрольные работы (КР) | - | - | |
Самостоятельная работа (всего) | 72 | 72 | |
В том числе: | | | |
Курсовой проект (работа) | - | - | |
Расчётно-графические работы | - | - | |
Коллоквиум | - | - | |
Реферат | - | - | |
Домашнее задание | 20 | 20 | |
Другие виды самостоятельной работы (подготовка к занятиям, зачету) | 52 | 52 | |
Вид промежуточной аттестации и его трудоемкость | 2 | Зачет (2) | |
Общая трудоёмкость | часов | 144 | 144 |
зачетных единиц | 4 | 4 |
5. Содержание дисциплины
5.1. Содержание разделов (тем) дисциплины
Раздел 1. Технология программирования
Тема 1. Жизненный цикл и этапы разработки программного обеспечения
Понятие технологии программирования и основные этапы ее развития. Жизненный цикл программного обеспечения (ПО). Стандарты, регламентирующие жизненный цикл. Модели жизненного цикла ПО. Основные этапы разработки сложных программных систем. Планирование и организация разработки ПО. Проектирование ПО. Кодирование ПО. Качество ПО. Методы контроля качества ПО. Ошибки в программах. Отладка программного обеспечения. Документирование ПО. Сопровождение ПО.
Тема 2. Основы объектно-ориентированного анализа и проектирования
Объектная модель. Основные принципы и элементы объектной модели. Виды связей между элементами объектной модели. Понятие и цель объектно-ориентированного анализа. Подходы к анализу объектно-ориентированных систем. Преимущества и риски, связанные с объектно-ориентированным проектированием. Унифицированный язык моделирования UML. Определение и история создания языка UML. Диаграммы языка UML. Механизмы расширения UML.
Тема 3. Паттерны проектирования
Понятие и описание паттерна проектирования. Принципы применения паттернов. Классификация паттернов. Подходы к выбору паттернов.
Раздел 2. Структуры данных и прикладные алгоритмы
Тема 3. Базовые структуры данных. Алгоритмы
Базовые структуры данных: множество, стек, очередь, дек, список, деревья, двоичные деревья поиска. Понятие алгоритма. Принципы анализа алгоритмов.
Тема 4. Алгоритмы сортировки
Основные понятия и классификация алгоритмов сортировки. Алгоритмы внутренней сортировки: Шелла, быстрая, пирамидальная, слиянием и лексикографическая. Внешняя сортировка: основные понятия, построение цепочек, многофазное слияние.
Тема 5. Алгоритмы поиска
Основные понятия. Поиск в последовательно организованных структурах. Поиск в древовидных структурах. Хеширование и разрешение коллизий.
Тема 6. Алгоритмы генерации перестановок, подмножеств, сочетаний
Основные понятия. Алгоритмы порождения перестановок. Алгоритмы порождения подмножеств. Коды Грея.
Тема 7. Алгоритмы на графах
Основные понятия. Способы задания графов. Алгоритмы обхода графов в ширину и глубину. Остовные деревья минимальной стоимости и алгоритмы их построения. Алгоритмы нахождения кратчайших расстояний между вершинами.
5.2. Разделы (темы) дисциплины и междисциплинарные связи
с обеспечиваемыми (последующими) дисциплинами
№ п/п | Наименование обеспечиваемых (последующих) дисциплин | № разделов (тем) данной дисциплины, необходимых для изучения обеспечиваемых (последующих) дисциплин | |
| 1 | 2 | |
1. | Информационные технологии | + | + |
2. | Криптографические методы защиты информации | | + |
3. | Программно-аппаратные средства обеспечения информационной безопасности | + | + |
4. | Моделирование систем и сетей телекоммуникаций | + | + |
5.3. Разделы (темы) дисциплины и виды занятий
№ п/п | Наименование раздела (темы) дисциплины | Лекц., час | Практ. зан., час | Лаб. раб., час | Семин., час | СР, час | Всего, час |
1 | Технология программирования | 12 | 8 | - | - | 14 | 34 |
2 | Структуры данных и прикладные алгоритмы | 24 | 26 | - | - | 58 | 108 |
6. Лабораторный практикум
Лабораторный практикум не предусмотрен
7. Примерная тематика курсовых проектов (работ)
Курсовой проект (работа) не предусмотрен.
8. Учебно-методическое и информационное обеспечение дисциплины
8.1. Основная литература
- Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы: Учебное пособие. – М.: ООО «И.Д. Вильямс», 2010. – 400 с.
- Иванова Г.С. Технология программирования: Учебник для вузов. – М.: Издательство КноРус, 2011. – 336 с.
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы. Построение и анализ. Издание 2. – М.: ООО «И.Д. Вильямс», 2009. – 1290 с.
- Кулямин В.В. Технологии программирования. Компонентный подход. Учебное пособие. – М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2010.- 463 с.
- Седжвик Р. Алгоритмы на С++. – М.: ООО «И.Д. Вильямс», 2011. – 1056 с.
8.2. Дополнительная литература
- Брауде Э.Дж. Технология разработки программного обеспечения. -СПб.: Питер, 2004. – 656 с.
- Буч Г., Коналлен Д., Максимчук Р., Хьюстон К., Энгл М., Янг Б. Объектно-ориентированный анализ и проектирование с примерами приложений. – М.: ООО «И.Д. Вильямс», 2010. – 720 с.
- Вирт Н. Алгоритмы и структуры данных. – СПб: BHV-Санкт-Петербург, Невский диалект, 2008.- 352 с.
- Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. – СПб: Питер, 2011. - 366 с.
- Кнут Д.Э. Искусство программирования, том 3. Сортировка и поиск, 2-е изд. – М.: ООО «И.Д. Вильямс», 2009. - 832 с.
- Кнут Д.Э. Искусство программирования, том 4, выпуск 2. Генерация всех кортежей и перестановок. – М.: ООО «И.Д. Вильямс», 2008.- 160 с.
- Кнут Д.Э. Искусство программирования, том 4, выпуск 3. Генерация всех сочетаний и разбиений. – М.: ООО «И.Д. Вильямс», 2007. – 208 с.
- Макконнелл С. Совершенный код: практическое руководство по разработке программного обеспечения. – М.: Русская редакция, 2010. - 868 с.
- Орлов С.А. Технологии разработки программного обеспечения: Разработка сложных программных систем. 3-е изд. – СПб.: Питер. – 2004. – 527 с.
- Рейнгольд Э., Нивергельд Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. - М.: Мир, 1980. - 480с.
- Соммервил И. Инженерия программного обеспечения. 6-е изд.:– М..: Издательский дом «Вильямс», 2002. – 624 с.
- Уайс М.А. Организация структур данных и решение задач на С++. – М.: Эком, 2009. – 896 с.
8.3. Программное обеспечение
- Операционные системы: семейства Windows (не ниже Windows XP), Linux.
- Среды программирования, например, Microsoft Visual C++ Express Edition, MonoDevelop или иные; компилятор gcc (для ОС Linux), редактор Emacs или иной; справочная система Microsoft Development Network или иная.
- Инструментальные средства разработки и управления проектами, например, NUnit, NCover, NDepend, Rhino.Mocks, TestDriven.Net, TortoiseSVN, Apache, Bugzilla, Resharper, Deskzilla, OpenProj, Umbrello.
8.4. Базы данных, информационно-справочные и поисковые системы
Не требуется.
9. Материально-техническое обеспечение дисциплины
Для проведения всех видов занятий необходимо презентационное оборудование (мультимедийный проектор, ноутбук, экран) – 1 комплект.
Для проведения практических занятий необходимо наличие компьютерных классов оборудованных современной вычислительной техникой из расчета одно рабочее место на одного обучаемого.
Для эффективной работы в рамках дисциплины рекомендуется иметь возможность работать с исходными текстами программ, сохраненными на съемных накопителях информации.
10. Методические рекомендации по организации изучения дисциплины
Цель обучения достигается сочетанием применения традиционных и инновационных педагогических технологий.
При проведении лекционных занятий целесообразно широко применять такую форму как лекция-визуализация, сопровождая изложение теоретического материала презентациями, при этом желательно заблаговременно обеспечить студентов раздаточным материалом.
В соответствии со спецификой ВУЗа в процессе преподавании дисциплины методически целесообразно в каждом разделе выделить наиболее важные темы и рассмотреть их на конкретных примерах.
Основной упор в методике проведения практических занятий должен быть сделан на отработке и закреплении учебного материала в процессе выполнения заданий с применением ПЭВМ в компьютерном классе. Особое внимание при этом должно быть уделено применению элементов проблемного и контекстного обучения, опережающей самостоятельной работе студентов.
Для эффективной работы студентов на практических занятиях целесообразно формировать подгруппы численностью не более 12 человек.
При изучении дисциплины студенты должны выполнить одно домашнее задание, способствующее приобретению навыков ведения научно-исследовательской деятельности в области анализа вычислительной сложности алгоритмов.
Текущий контроль усвоения знаний студентами осуществляется путём подготовки и сдачи отчётов по итогам выполнения долгосрочного домашнего задания, проверки выполнения текущих заданий, опросов на практических занятиях. По решению вуза возможно проведение отдельных форм текущего контроля в виде тестирования.
Примерным учебным планом на изучение дисциплины отводится один (четвертый) семестр. В конце семестра предусматривается в качестве итогового контроля зачёт. Целесообразно осуществлять проведение зачёта в форме устного опроса по билетам.
Примерный перечень тем домашнего задания:
- Реализация на объектно-ориентированном языке программирования библиотеки классов-коллекций – структур данных стек, очередь, двоичное дерево поиска.
- Реализация структуры данных слоеный список.
- Реализация алгоритма лексикографической сортировки с использованием структур данных библиотеки STL.
- Реализация алгоритма идеального хеширования.
- Реализация алгоритма генерации кодов Грея.
Примерный перечень вопросов для опросов на практических занятиях:
- Этапы разработки программного обеспечения.
- Модели жизненного цикла программного обеспечения.
- Диаграммы UML статического типа.
- Основные элементы паттерна проектирования.
- Отличия компонента от класса объектно-ориентированного языка.
- Способы разрешения коллизий при хешировании.
- Сформулируйте определение пирамиды.
- Идея алгоритма лексикографической сортировки.
- Способы разрешения коллизий при хешировании.
- Алгоритмы сортировки обменами. Пузырьковая и быстрая сортировки.
Разработчики: УМО ИБ
УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЪЕДИНЕНИЕ ПО ОБРАЗОВАНИЮ
В ОБЛАСТИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
ПРОЕКТ
ПРИМЕРНАЯ УЧЕБНАЯ ПРОГРАММА
Наименование дисциплины
«Информационные технологии»
Рекомендуется для направления подготовки (специальности)
090302 Информационная безопасность телекоммуникационных систем
Квалификация (степень) выпускника
«Специалист»
МОСКВА 2011
1. Цели и задачи дисциплины
Целью изучения дисциплины «Информационные технологии» является подготовка выпускников к деятельности, связанной с разработкой программного обеспечения для решения профессиональных задач, а также с применением с web-приложений, баз данных и операционных систем.
Задачи дисциплины:
- изучение основ использования информационных технологий с точки зрения сетевых операционных систем;
- изучение принципов организации современных информационных технологий и получение навыков их использования на практике;
- углубление знаний и представлений о современном уровне развития сетевых ОС с учетом их возможного использования в тех или иных задачах;
- обучение студентов основам баз данных и работам с СУБД;
- изучение принципов построения web-приложений.
2. Место дисциплины в структуре ООП
Дисциплина «информационные технологии» относится к базовой части профессионального цикла.
Для успешного усвоения данной дисциплины необходимо, чтобы студент владел знаниями, умениями и навыками, сформированными в процессе изучения дисциплин:
«Информатика» – знать основные понятия информатики; уметь использовать программные и аппаратные средства персонального компьютера; владеть навыками поиска информации в глобальной информационной сети Интернет и работы с офисными приложениями (текстовыми процессорами, электронными таблицами, средствами подготовки презентационных материалов, и т.п.);
«Языки программирования» - владеть навыками разработки программ на языке С++ в современной интегрированной среде разработки.
«Английский язык» – владеть иностранным языком в объеме, необходимом для возможности получения информации по профессиональной тематике и навыками устной речи.
Дисциплина «Информационные технологии» является предшествующей для изучения следующих базовых дисциплин: «Программно-аппаратные средства обеспечения ИБ», «Основы проектирования защищённых ТКС», используются студентами при разработке курсовых и дипломных работ, в научно-исследовательской работе.
3. Требования к результатам освоения дисциплины
Процесс изучения дисциплины направлен на формирование следующих компетенций:
способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения, владеть культурой мышления, (ОК–8);
способность к саморазвитию, самореализации, приобретению новых знаний, повышению своей квалификации и мастерства (ОК–11);
способностью понимать сущность и значение информации в развитии современного общества, применять достижения современных информационных технологий для поиска и обработки больших объемов информации по профилю деятельности в глобальных компьютерных системах, сетях, в библиотечных фондах и в иных источниках информации (ПК-3);
способностью использовать языки, системы и инструментальные средства программирования в профессиональной деятельности (ПК-4);
способностью применять основные методы, способы и средства получения, хранения, переработки и передачи информации (ПК-10);
В результате изучения дисциплины студент должен:
знать:
- современные виды информационного взаимодействия и обслуживания;
- назначение функцию и структуру операционных систем;
- назначение и основные компоненты, систем баз данных;
- представление информации в телекоммуникационных системах и методы ее обработки;
уметь:
- осуществлять удаленных доступ к базам данных;
- развертывать, конфигурировать и настраивать работоспособность вычислительных сетей;
владеть:
- навыками использования известных методов программирования и возможностей базового языка программирования для решения типовых профессиональных задач.
4. Объём дисциплины и виды учебной работы
Вид учебной работы | Всего часов | Семестры | |
5 | 6 | ||
Аудиторные занятия (всего) | 70 | 36 | 34 |
В том числе: | | | |
Лекции (Л) | 34 | 18 | 16 |
Практические занятия (ПЗ) | 36 | 18 | 18 |
Семинары (С) | | | |
Лабораторные работы (ЛР) | | | |
Контрольные работы (КР) | | | |
Самостоятельная работа (всего) | 72 | 36 | 36 |
В том числе: | | | |
Курсовой проект (работа) | | | |
Расчётно-графические работы | | | |
Коллоквиум | | | |
Реферат | 20 | 20 | |
Домашнее задание | | | |
Другие виды самостоятельной работы (подготовка к занятиям, зачёту) | 52 | 16 | 36 |
Вид промежуточной аттестации и её трудоёмкость | 2 | - | Зачет (2) |
Общая трудоёмкость часов | 144 | 72 | 72 |
зачётных единиц | 4 | 2 | 2 |
5. Содержание дисциплины
5.1. Содержание разделов (тем) дисциплины
Тема 1. Введение
Цели и задачи курса. Место дисциплины в учебном процессе. Методические рекомендации по изучению курса. Основные понятия курса. Обзор литературы. Понятие информационных технологий. Цели и методы. Составляющие информационных технологий. Основные тенденции и проблемы построения информационных технологий. Перспективы развития и реализации информационных технологий в ИТКС.
Тема 2. Операционные системы. Основные понятия и классификация.
Понятие операционной системы. Функции операционных систем. Классификация операционных систем. Назначение операционных систем. Системное и прикладное программное обеспечение.
Тема 3. Структура обобщенной ОС. Архитектура Windows и Linux. Процессы. Межпроцессное взаимодействие.
Структура обобщенной ОС. Архитектура Windows и Linux, их основные компоненты. Память. Файловые системы. Межпроцессное взаимодействие.
Тема 4. Прикладное программирование.
Прикладное программирование. Различительные особенности создания прикладных приложения в ОС Linux и ОС Windows. Создание портируемых и кроссплатформенных приложений.
Тема 5. Основы использования компьютерных сетей.
IP-адреса и сокеты. MAC-адрес. Глобальная сеть Интернет и предоставляемые ею услуги. Использование основных Internet сервисов. Электронная почта. Снифферы. Стандартные программные средства для работы с сетью. Аппаратные компоненты сетей.
Тема 6. Основы web-технологий
Понятие гипертекста, язык гипертекстовой разметки, основные компоненты гипертекста, принципы построения гипертекста, архитектура и состав гипертекстовой системы, язык HTML и основные принципы форматирования HTML-страницы. Языки DHTML, JavaScript, PHP, XML и перспективы их использования. Создание WEB-страниц на языке гипертекстовой разметки и в специальных редакторах, Web-клиенты, задачи и администрирование Web-серверов, подключение к ним Web-страниц. AJAX.
Тема 7. Основы СУБД
Доступ к базам данных из Web. Основы разработки и опубликования Web-приложений. СУБД MySQL.
Тема 8. Технологии информационного поиска в документальных ИС
Понятие о документальных системах, информационном поиске и информационно-поисковой системе. Работа с поисковыми системами, релевантные запросы.
5.2. Разделы (темы) дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
№ п/п | Наименование обеспечиваемых (последующих) дисциплин | № тем данной дисциплины, необходимых для изучения обеспечиваемых (последующих) дисциплин | ||
5 | 6 | 7 | ||
1 | Программно-аппаратные средства обеспечения ИБ | + | + | + |
2 | Основы проектирования защищённых ТКС | + | + | + |
5.3. Разделы (темы) дисциплины и виды занятий
№ п/п | Раздел дисциплины | Лекции, час | ПЗ, час | ЛР, час | С, час | СР, час | Всего, час. |
1 | Введение | 2 | - | - | - | - | 2 |
2 | Операционные системы. Основные понятия и классификация. | 2 | - | - | - | - | |
3 | Структура ОС. | 10 | 8 | - | - | - | |
4 | Прикладное программирование. | | 6 | - | - | - | |
5 | Основы использования компьютерных сетей. | 2 | 2 | - | - | - | |
6 | Основы web-технологий | 10 | 14 | - | - | - | |
7 | Основы работы с СУБД | 6 | 6 | - | - | - | |
8 | Технологии информационного поиска в документальных ИС | 2 | - | - | - | - | |