5В060200-«Информатика» мамандығы бойынша типтік оқу бағдарламалары



Pdf көрінісі
бет9/12
Дата15.11.2019
өлшемі1,35 Mb.
#51884
1   ...   4   5   6   7   8   9   10   11   12
Байланысты:
5В060200-Информатика

ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ 
 
№ 
Название темы 

Модель компьютера.  

Алгоритмы. Принципы анализа алгоритмов. 

Типы и структуры данных. 

Алгоритмы  обработки  последовательностей.  Алгоритмы  внутренней 
сортировки.  

Множества. 

Хеш-таблицы. 

Алгоритмы поиска. 

Динамическое программирование. 

Алгоритмы для работы с графами. 
 

109 
 
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
 
 
Введение 
 
Цель  преподавания  дисциплины.  Дисциплина  «Алгоритмы  и 
структуры  данных»  предназначена  для  формирования  у  студентов  знаний 
основных  понятий  алгоритмизации,  о  структурах  алгоритмов  и  структурах 
данных,  методах  построения  алгоритмов,  анализе  алгоритмов,  методах  и 
технологиях  построения  программ,  о  различных  алгоритмах  внутренней 
сортировки  информации  и  задач  поиска.  При  изучении  дисциплины 
рассматриваются  свойства  и  особенности  алгоритмов  и  ситуации,  в 
которых эти алгоритмы могут быть полезны, проводится связь  с анализом 
алгоритмов, исследуется эффективность алгоритмов. 
Объект  изучения  и  система  методов  дисциплины  «Алгоритмы  и 
структуры  данных».  Объектом  изучения  данной  дисциплины  являются 
различные  алгоритмы,  алгоритмические  модели  и  структуры  данных. 
Дисциплина  «Алгоритмы  и  структуры  данных»  является  исчерпывающим 
вводным 
курсом 
по 
современным 
компьютерным 
алгоритмам. 
Категориальный  аппарат  дисциплины:  метод,  алгоритм,  блок-схема, 
программа, информационные структуры. 
 
ОСНОВНАЯ ЧАСТЬ 
 
 Модель компьютера 
Подробная модель компьютера. Упрощенная модель компьютера.  
 
Алгоритмы. Принципы анализа алгоритмов 
Алгоритмы.  Анализ  алгоритмов.  Принципы  анализа  алгоритмов. 
Разработка  алгоритмов.  Анализ  алгоритмов,  основанных  на  принципе 
«разделяй  и  властвуй».  Рост  функций.  О-нотация.  Простейшие  рекурсии. 
Примеры анализа алгоритмов. 
 
Типы и структуры данных 
Основные  типы  данных.  Массивы,  многомерные  массивы.  Обработка 
массивов. Линейные списки. Абстрактные типы данных: стеки, очереди, деки. 
Списки. Циклические списки. Связаные списки. Указатели. Информационные 
структуры.  Деревья.  Представления  деревьев.  Динамическое  выделение 
памяти. 
 
Алгоритмы 
обработки 
последовательностей. 
Алгоритмы 
внутренней сортировки 
Алгоритмы 
внутренней 
сортировки: 
сортировка 
включением, 
сортировка  выбором.  Анализ  алгоритмов  сортировки  обменом.  Шейкерная 
сортировка,  сортировка  разделением.  Альтернативные  методы  внутренней 

110 
 
сортировки.  
 
Множества 
Операции над множествами. 
 
Хеш-таблицы 
Хеширование,  хеш-таблицы  и  таблицы  рассеяния.  Основная  идея 
хеширования.  Ключи  и  хеш-функции.  Предотвращение  коллизий. 
Распространение ключей. Равномерность. Простота вычисления. Реализации 
хеш-функций и хеш-таблицы.  
 
Алгоритмы поиска 
Линейный  поиск.  Двоичный  поиск.  Поиск  в  строке.  Алгоритмы 
обработки строк. Рекурсивные алгоритмы.  
 
Динамическое программирование 
Расписание 
работы 
конвейера. 
Элементы 
динамического 
программирования.  
 
Алгоритмы для работы с графами 
Графы  и  алгоритмы  для  работы  с  графами.  Направленные  графы. 
Направленные,  ненаправленные  графы.  Задача  о  максимальном  потоке. 
Нахождение кратчайшего пути. 
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ ЛАБОРАТОРНЫХ ЗАНЯТИЙ 
 
1. 
Составление блок схем. 
2. 
Реализация рекурсивных алгоритмов. 
3. 
Обработка массивов. 
4. 
Реализация алгоритмов внутренней сортировки.  
5. 
Работа с множествами. 
6. 
Построение хеш-функций. 
7. 
Реализация алгоритмов поиска.  
8. 
Структуры в динамической памяти.  
9. 
Нахождение кратчайшего пути в графе. 
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ ДЛЯ  
САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ  
 
1. 
Типы  и  свойства  алгоритмов.  Базовые  управляющие  структуры. 
Примеры алгоритмов.  
2. 
Алгоритмы циклической структуры. Алгоритмы обработки массивов.  
3. 
Примеры представления деревьев. Абстрактные типы данных. 
4. 
Примеры алгоритмов сортировки включением, сортировки выбором.  

111 
 
5. 
Алгоритмы сортировки слиянием.  
6. 
Поиск в таблице. Прямой поиск строки 
7. 
Динамические структуры данных.  
8. 
Модель компьютера.  
9. 
Рост функций. Асимптотические обозначения. 
10.  Многосвязные структуры. 
11.  Альтернативные методы внутренней сортировки. 
12.  Основы объектно-ориентированного программирования.  
13.  Иерархия классов.  
14.  Абстрактные сопоставимые объекты. 
 
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 
 
Основная литература: 
1. 
Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы. Построение и 
анализ. – 2012. – 1290 с. 
2. 
Вирт  Н.  Алгоритмы  и  структуры  данных.  –  СПб.:  Невский 
диалект. 2001. 
3. 
Ахо  А.,  Ульман  Дж.  Теория  синтаксического  анализа,  перевода, 
компиляции. В 2 т. Т. 1, 2. – М.: Мир, 1980. 
4. 
Кнут Д. Искусство программирования, том 1. Основные алгоритмы. – 3-
е изд. –  М.: «Вильямс», 2006. –  720 с.  
5. 
Кнут Д. Искусство программирования, том 2. Получисленные методы. 3-
е изд. –  М.: «Вильямс», 2007. –  832 с.  
6. 
Кнут Д.  Искусство программирования, том 3. Сортировка и поиск. 2-е 
изд. – М.: «Вильямс», 2007. –  824 с.  
7. 
Кнут Д. Искусство программирования, том 4, выпуск 2. Генерация всех 
кортежей и перестановок. –  М.: «Вильямс», 2008. –  160 с.  
8. 
Кнут  Д.,  Грэхем  Р.,  Паташник  О.  Конкретная  математика.  Основание 
информатики. –  М.: Мир; Бином. Лаборатория знаний, 2006. – 703 с.  
 
Дополнительная: 
1. 
Ершов Ю.Л., Палютин Е.А. Математическая логика. –  М.: Наука, 1979. 
– 320 с.  
2. 
 Мальцев А.И. Алгоритмы и рекурсивные функции. –  M.: Наука, 1965. – 
391 с.  
3. 
Ахо А. Построение и анализ вычислительных алгоритмов. –  Mир, 1979. 
– 536 с.  
4. 
Ахо  А.,  Хопкрофт  Д.,  Ульман  Д.  Структуры  данных  и  алгоритмы  – 
Вильямс, 2009. – 400 с. 
5. 
G.E. Karniadakis, R.M. Kirby Parallel Scientific Computing in C++ and MPI 
Cambridge University Press, 2008. 

112 
 
YaTP 1205 ЯЗЫКИ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ 
 
объем 3 кредита 
 
Авторы: 
кандидат физико-математических наук, доцент Урмашев Б.А., 
старший преподаватель Сакыпбекова М.Ж. 
 
Рецензенты: 
кандидат технических наук, ассистент профессора кафедры информац. 
систем Международного IT Университета Сатыбалдиева Р.Ж. 
доктор PhD, доцент, заведующий кафедрой математического и 
компьютерного моделирования КазНУ имени аль-Фараби Жакебаев Д.Б. 
 
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 
 
Назначения  дисциплины:  данная  дисциплина  предназначена  для 
формирования  у  студентов  систематических  знаний  о  современных  языках 
программирования,  способах  и  инструментах  разработки  программного 
обеспечения, перспективных технологиях программирования.  
В результате изучения данной дисциплины студент должен 
знать: 
-  основные  элементы  языка  программирования:  типы  данных, 
операторы;  
-  возможности 
библиотечных 
функций, 
способы 
создания 
абстрактных и пользовательских типов, структур, функций и т.д.;  
-  области 
применения 
и 
тенденции 
развития 
языков 
программирования и методов трансляции; 
уметь: 

выполнить  системный  анализ,  проектирование,  кодирование, 
отладку  и  тестирование,  документирование  и  выпуск  программного 
продукта. 
иметь представление: 
-  о  тенденциях  и  перспективных  направлениях  развития  технологий 
программирования; 
- о способах оптимизации кода; 
быть компетентным: 
-  в  умении  реализовывать  алгоритмы  и  структуры  данных  на  языках 
программирования; 
- в умении проводить тестирование и отладку программ. 
Роль  и  значение  дисциплины:  данная  дисциплина  является 
дисциплиной  бакалавриата  и  развивает  тематику  дисциплин,  посвященных 
технологиям программирования. 
Дисциплины,  предшествующие  изучению  данной  дисциплины: 

113 
 
Информационно-коммуникационные  технологии.  Математический  анализ. 
Аналитическая геометрия и алгебра. 
Дисциплины, содержащие знания, умения и навыки, необходимые 
для 
освоения 
изучаемой 
дисциплины: 
Информационно-
коммуникационные  технологии.  Математический  анализ.  Аналитическая 
геометрия и алгебра. 
 
ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ 
 
№ 
Название темы 
25. 
 Общая характеристика языков программирования. 
26. 
 Основные понятия языков программирования. 
27. 
 Базовые конструкции современных языков программирования. 
28. 
 Функции и методы. 
29. 
 Структуры данных. 
30. 
 Способы эффективного хранения и обработки данных. 
31. 
 Проектирование программного обеспечения. 
32. 
 Процедурное, 
логическое, 
функциональное 
и 
объектно-
ориентированное программирование. 
33. 
 Технологии и инструментальные средства программирования. 
34. 
 Методология объектно-ориентированного программирования (I). 
35. 
 Методология объектно-ориентированного программирования (II). 
36. 
 Пользовательский интерфейс. 
37. 
 Тестирование и верификация программного обеспечения. 
 
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 
 
Введение 
Цель  преподавания  дисциплины:  изложить  основные  принципы 
построения 
программ 
с 
использованием 
современных 
языков 
программирования, 
научить 
основным 
методам 
разработки 
многофункциональных приложений. 
Задачи изучения дисциплины: 

дать  представление  о  перспективах  развития  языков  и  технологий 
программирования; 

изложить 
особенности 
современных 
методологий 
программирования; 

познакомить с принципами, моделями и методами проектирования 
программных приложений; 

дать  представление  о  существующих  алгоритмах  и  средствах, 
способствующих 
эффективной 
разработке 
многофункциональных 
приложений; 

привить  навыки  проектирования  и  использования  инструментов 
программирования. 

114 
 
Объектами  изучения  данной  дисциплины  являются  типы  данных, 
переменные, функции, классы, объекты. 
Методы  изучения  данной  дисциплины:  аналитические;  практические; 
диалектические, научно-исследовательские и др. 
Роль  и  место  науки  данной  дисциплины  среди  других  наук:  данная 
дисциплина  как  наука  изучает  языки  и  технологии  программирования. 
Данная  дисциплина,  являясь  компьютерной  наукой,  определяет  процессы 
проектирования 
и 
создания 
многофункциональных 
программных 
приложений 
с 
использованием 
средств 
современных 
языков 
программирования.  Знания,  приобретенные  в  рамках  данной  дисциплины, 
позволят  специалисту  компетентно  подходить  к  разработке  и  внедрению 
программных приложений. 
 
ОСНОВНАЯ ЧАСТЬ 
 
Общая характеристика языков программирования 
Основные  принципы,  обеспечивающие  качество  программирования. 
Области  применения  языков  программирования.  Развитие  концепций 
структуризации  в  языках  программирования.  Основы  алгоритмизации. 
Реализация алгоритма на языках высокого уровня. 
 
Основные понятия языка программирования 
Типы данных. Сложные и составные типы данных. Объявление объектов 
данных. Представление основных структур программирования и способы их 
реализации.  
 
Базовые конструкции современных языков программирования 
Программирование 
линейных 
и 
разветвляющихся 
алгоритмов. 
Программирование циклических и комбинированных алгоритмов.  
 
Функции и методы 
Способы  задания.  Описание.  Передача  параметров.  Способы  вызова. 
Рекурсия. Применение рекурсивных функций. 
 
Структуры данных 
Массивы. Строки. Множества. Указатели. 
 
Способы эффективного хранения и обработки данных 
Технологии  обмена  данными  с  внешними  объектами.  Файлы,  базы 
данных. Системы поддержки файлов данных. 
 
Проектирование программного обеспечения 
Жизненный  цикл  программного  обеспечения.  Основные  этапы 
проектирования  программного  обеспечения.  Архитектура  программного 

115 
 
обеспечения.  Шаблоны  проектирования.  Способы  конструирования 
программ. 
 
Процедурное, 
логическое, 
функциональное 
и 
объектно-
ориентированное программирование 
Парадигмы  программирования.  Основные  отличия,  преимущества, 
недостатки, перспективы развития. 
 
Технологии и инструментальные средства программирования 
Технологии  программирования  и  основные  понятия  и  подходы. 
Современные  инструментальные  средства  программирования.  Работа  в 
интегрированной среде программирования.  
 
Методология объектно-ориентированного программирования (I) 
Базовые понятия объектно-ориентированного программирования (ООП). 
Классы и объекты. Специфика методов (функций, процедур) и данных. 
 
Методология объектно-ориентированного программирования (II) 
Инкапсуляция.  Полиморфизм.  Наследование.  Технология  ООП. 
Инструментальная  среда  ООП  для  разработки  программного  обеспечения. 
Визуальное проектирование. Свойства. События. 
 
Пользовательский интерфейс 
Организация  диалоговых  режимов  работы  программного  обеспечения. 
Основные  принципы  проектирования  дружественного  пользовательского 
интерфейса.  Организация  поддержки  пользователя.  Структуры  построения 
диалоговых  режимов  «пользователь  –  программное  обеспечение». 
Многооконные интерфейсы. Использование графических пакетов. 
 
Тестирование и верификация программного обеспечения 
Верификация  программного  обеспечения.  Принципы  и  методы 
тестирования программного обеспечения. План тестирования. 
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ СЕМИНАРСКИХ И 
ЛАБОРАТОРНЫХ ЗАНЯТИЙ 
 
1. 
Вычисление арифметических и логических выражений. 
2. 
Условные операторы. 
3. 
Циклы. 
4. 
Одномерные и двумерные массивы. 
5. 
Указатели, ссылки. 
6. 
Динамические массивы. 
7. 
Символы и строки. 
8. 
Структуры и объединения.  

116 
 
9. 
Использование файлов. 
10.  Функции, методы и подпрограммы. 
11.  Рекурсивные функции. 
12.  Классы и объекты. 
13.  Наследование классов. 
14.  Однонаправленные списки. 
15.  Двунаправленные списки. 
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ ЗАДАНИЙ НА СРС 
 
1. 
Представление, поиск и манипуляции со строками. 
2. 
Использование массивов для решения систем уравнений. 
3. 
Вычисление рекуррентных соотношений. 
4. 
Реализация рекурсивных функций. 
5. 
Организация стеков и очередей. 
6. 
Хэш-таблицы. 
7. 
Структуры данных для непересекающихся множеств. 
8. 
Топологическая сортировка. 
9. 
Алгоритмы «разделяй и властвуй». 
10.   Алгоритмы динамического программирования. 
11.   Бинарные деревья поиска. 
12.   Красно-чёрные деревья. 
13.  Вероятностный анализ и рандомизированные алгоритмы. 
14.   Работа с большими числами. 
15.   Работа с графическими библиотеками языков высокого уровня. 
 
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 
 
Основная: 
1. 
Громов  Ю.Ю.,  Иванова  О.Г.,  Беляев  М.П.,  Минин  Ю.В.  Технология 
программирования:  учебное  пособие  /  –  Тамбов:  Изд-воФГБОУ  ВПО 
«ТГТУ», 2013. – 172 с. 
2. 
Подбельский  В.В.,  Фомин  С.С.  Программирования  на  языке  Си.  – 
Финансы и статистика, 2005. – 600 с. 
3. 
Голощапов  А.Л.  Microsoft  Visual  Studio  2010.  –  СПб.:  БХВ-Петербург, 
2011. – 531 с. 
4. 
T.  Cormen,  C.  Leiserson,  R.  Rivest,  C.  Stein.  Algorithms:  construction  and 
analysis. Williams, 2011. 
5. 
Пыркова А.Ю. Введение в Java программирование. – Учебное пособие. – 
Алматы: «Қазақ университеті», 2006. – 100 с. 
6. 
Хэзфилд  Р.  Искусство  программирования  на  C.  Фундаментальные 
алгоритмы,  структуры  данных  и  примеры  приложений:  энциклопедия 
программиста. - Киев: ДиаСофт, 2001. – 728 с. 
7. 
Шилдт Г. Теория и практика С++. – СПб.: БХВ- Петербург, 2001. 

117 
 
 
Дополнительная: 
1. 
Шилдт  Г.  Искусство  программирования  на  C++.  –  СПб.:  БХВ- 
Петербург, 2005. 
2. 
Буч  Г.  Объектно-ориентированный  анализ  и  проектирование  с 
примерами приложений. - М.: Вильямс, 3-е издание, 2008. – 720 с. 
3. 
Дейтел,  Харви  М.  Технологии  программирования  на  Java  2:  Книга  1. 
Графика, JavaBeans, интерфейс пользователя.- М.: БИНОМ, 2003. – 560 
с. 
4. 
Пахомов,  Б.И.  C/C++  и  MS  Visual  C++  2010  для  начинающих.-  СПб.: 
БХВ-Петербург, 2011. – 722 с. 
 
 

118 
 
OS 2206 ОПЕРАЦИОННЫЕ СИСТЕМЫ 
 
объем 2 кредита 
 
Автор: 
кандидат физико-математических наук, доцент Мансурова М.Е. 
 
Рецензенты: 
кандидат технических наук, ассоциированный профессор кафедры 
информационных систем Международного университета 
информационных технологий Сатыбалдиева Р.Ж. 
кандидат физико-математических наук, ассоциированный профессор 
кафедры электротехники и компьютерных наук Казахстанско-
Британского технического университета Уалиева И.М. 
 
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА  
 
Назначением 
данной 
дисциплины 
является 
подготовка 
высококвалифицированных специалистов, владеющих навыками применения 
современных  операционных  систем  в  сфере  профессиональной  области. 
Операционные системы задают абстракцию аппаратных средств и управляют 
ресурсами, совместно используемыми пользователями компьютера. В темах 
данной  дисциплины  раскрываются  базовые  знания  в  отношении 
взаимодействия операционной  системы  с  аппаратной частью  компьютерной 
системы и сетями, описывается работа в режиме ядра и режиме пользователя, 
а  также  излагаются  основные  подходы  к  проектированию  и  разработке 
операционных систем. 
В результате изучения данной дисциплины студенты будут  
-  знать:  фундаментальные  принципы  проектирования  операционных 
систем;  назначение,  функции,  классификацию  операционных  систем; 
принципы 
управления 
ресурсами 
компьютера; 
концепцию 
мультипрограммирования, процессов и потоков; принципы виртуализации и 
мобильности операционных систем.  
-  уметь:  реализовывать  базовые  алгоритмы  планирования  и 
синхронизации  процессов  и  потоков,  управления  памятью,  дискового 
планирования;  разрабатывать  многопоточные  приложения;  учитывать 
особенности  работы  в  конкретной  операционной  системе;  пользоваться 
инструментальными средствами операционных систем. 
-  владеть  навыками:  установки  операционных  систем,  управления 
учетными  записями,  настройки  параметров  рабочей  среды  пользователя, 
подключения  и  настройки  аппаратных  устройств,  управления  дисками  и 
файловыми системами, настройки сетевых параметров. 
Роль  и  значение  дисциплины:  Изучение  данной  дисциплины 
позволит дать базовые знания в области операционных систем, необходимые 

119 
 
для  успешного  усвоения  материала  учебных  дисциплин,  связанных  с 
использованием современных информационных технологий, а также знания, 
необходимые  для  успешной  практической  работы  в  различных 
операционных средах. 
Дисциплины,  предшествующие  изучению  данной  дисциплины: 
Информационно-коммуникационные  технологии.  Алгоритмы  и  структуры 
данных. Языки и технологии программирования. 
Дисциплины, содержащие знания, умения и навыки, необходимые 
для 
освоения 
изучаемой 
дисциплины: 
Информационно-
коммуникационные технологии. 
 
ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ  
 
№ 
Название темы 
1.    Введение  в операционные  системы.  Обзор  аппаратного  обеспечения 
компьютера. 
2.   
Управление процессами.  
3.   
Взаимоисключения и синхронизация. 
4.   
Управление памятью. 
5.   
Управление вводом-выводом. 
6.   
Файловые системы. 
7.   
Управление безопасностью. 
8.   
Виртуальные машины. 
9.   
Распределенные системы. 
10.  
Изучение  конкретных  примеров:  операционная  система  Windows; 
операционная система Linux. 
 
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 
 
Введение 
Цель преподавания дисциплины: изучение концепции операционных 
систем,  фундаментальных  принципов  проектирования  и  разработки 
операционных систем.  
Задачи преподавания дисциплины:  

дать  представление  о  назначении,  функциях,  классификации 
современных операционных систем;  

дать представление об основных понятиях, абстракциях и механизмах 
операционных систем; 

выработать 
практические 
навыки 
работы 
в 
современных 
операционных системах; 

познакомить  с  современными  тенденциями  проектирования  и 
разработки операционных систем. 
Объектами  изучения  данной  дисциплины  являются  компоненты 
операционных  систем,  модели  процессов  и  потоков, механизмы  управления 

120 
 
ресурсами,  файловые  системы,  инструменты  обеспечения  безопасности 
операционных систем. 
Методы  изучения  данной  дисциплины:  аналитические;  практические; 
диалектические, научно-исследовательские и др. 
Роль  и  место  науки  данной  дисциплины  среди  других  наук:  данная 
дисциплина  как  наука  изучает  фундаментальные  принципы  проектирования 
и  важнейшие  особенности  современных  операционных  систем.  Данная 
дисциплина  дает  ясное  представление  о  структурах  и  механизмах 
операционных систем, а также о важнейших соглашениях и конструктивных 
решениях, используемых при их разработке. Знания, приобретенные в рамках 
данной  дисциплины,  позволят  специалисту  применять  операционные 
системы  для  решения  задач  автоматизации  обработки  информации  и 
управления  ресурсами,  программирования  в  современных  операционных 
средах. 
 
ОСНОВНАЯ ЧАСТЬ 
 
Введение в операционные системы. Обзор аппаратного обеспечения 
компьютера 
Роль  и  назначение  операционной  системы.  Функциональные 
возможности  типичной  операционной  системы.  Вопросы  проектирования: 
эффективность,  надежность,  гибкость,  переносимость,  безопасность, 
совместимость.  Эволюция  аппаратного  /  программного  обеспечения. 
Организация устройств. Прерывания: методы и реализации. 
 
Управление процессами 
Модель  и  состояния  процессов.  Многозадачные  системы.  Управление 
потоками. Модель и состояния потоков. Планирование процессов в системах 
с  одним  процессором.  Вытесняющее  и  невытесняющее  планирование. 
Планировщики и стратегии планирования. 
 
Взаимоисключения и синхронизация 
Взаимодействие  и  синхронизация  процессов  и  потоков.  Параллельные 
асинхронные 
процессы 
и 
межпроцессное 
взаимодействие. 
Взаимоисключения. 
Семафоры. 
Мониторы. 
Взаимоблокировки. 
Обнаружение и устранение, предотвращение, избегание взаимоблокировок. 
 
Управление памятью 
Обзор  физической  памяти  и  аппаратного  обеспечения  по  управлению 
памятью.  Кэширование.  Виртуальная  память.  Преобразование  виртуальных 
адресов в физические. Алгоритмы замещения виртуальных страниц. 
 
Управление вводом-выводом 
Характеристики  последовательных 
и 
параллельных 
устройств. 
Стратегии  буферизации.  Прямой  доступ  к  памяти.  Восстановление  после 
сбоев. Дисковое планирование. RAID-массивы. 

121 
 
Файловые системы 
Файлы:  данные,  метаданные,  операции,  организация,  буферизация. 
Содержание  и  структура  каталогов.  Монтирование  и  размонтирование 
файловой  системы.  Виртуальные  файловые  системы.  Именование,  поиск, 
доступ, резервное копирование.  
 
Управление безопасностью 
Аутентификация. 
Контроль 
доступа. 
Обнаружение 
несанкционированного  вторжения.  Защита  от  вредоносного  программного 
обеспечения. Борьба с атаками на переполнение буфера. 
 
Виртуальные машины 
Типы  виртуальных  машин.  Гипервизоры.  Программная  виртуализация. 
Аппаратная виртуализация. Виртуализация на уровне операционных систем. 
Стоимость виртуализации. 
 
Распределенные системы 
Распределенные  операционные  системы.  Распределенные  файловые 
системы. Удаленный вызов процедур. Распределенная синхронизация. 
 
Изучение  конкретных  примеров:  операционная  система  Windows; 
операционная система Linux 
Принципы  проектирования  операционной  системы.  Системные 
компоненты.  Управление  памятью.  Планирование  процессора.  Управление 
памятью. Файловые системы.  
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ СЕМИНАРСКИХ И 
ЛАБОРАТОРНЫХ ЗАНЯТИЙ 
 
1. 
Изучение характеристик и конфигурации аппаратного обеспечения. 
2. 
Реализация алгоритмов планирования процессов. 
3. 
Реализация потоков. 
4. 
Создание многопоточных приложений. 
5. 
Реализация семафоров и мониторов. 
6. 
Реализация алгоритмов предотвращения взаимоблокировок. 
7. 
Реализация алгоритмов замещения виртуальных страниц. 
8. 
Реализация алгоритмов дискового планирования. 
9. 
Установка операционных систем Windows / LINUX. 
10.  Создание и задание конфигурации профиля пользователя. 
11.  Основные принципы функционирования операционных систем Windows 
/ LINUX. 
12.  Управление пользователями и группами. 
13.  Управление процессами операционных систем Windows / LINUX. 
14.  Управление файлами операционных систем Windows / LINUX. 
15.  Диагностика  и  восстановление  операционных  систем  при  сбоях  и 
отказах. 

122 
 
ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ТЕМ ЗАДАНИЙ ДЛЯ 
САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ 
 
1. 
Сравнение подходов по управлению процессами в различных операционных 
системах. 
2. 
Имитационное моделирование диспетчеризации процессов. 
3. 
Анализ производительности алгоритмов замещения виртуальных страниц. 
4. 
Анализ производительности алгоритмов дискового планирования. 
5. 
Сравнение  подходов  по  управлению  памятью  в  различных  операционных 
системах. 
6. 
Обзор современных операционных систем. 
7. 
Операционные  системы  для  смартфонов,  планшетов  и  других  мобильных 
устройств. 
8. 
Реализация симулятора планирования процессов. 
9. 
Реализация симулятора управления памятью. 
10.  Реализация симулятора файловой системы. 
11.  Реализация распределенных приложений. 
 
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 
 
Основная: 
1. 
Таненбаум  Э.,  Бос  Х.  Современные  операционные  системы.  –  СПб.: 
«Питер», 4-е изд. – 2015. 
2. 
Столлингс  У.  Операционные  системы.  Внутреннее  устройство  и 
принципы проектирования (4  издание). – М.: «Вильямс». – 2002. – 848 с. 
3. 
Партыка  Т.Л,  Попов  И.  И.  Операционные  системы,  среды  и  оболочки: 
Учебное пособие. – М.: «ФОРУМ: ИНФРА - М». – 2010. 
 
Дополнительная: 
1. 
Гордеев А.В. Операционные системы. – 2-е изд. – СПб.: Питер. – 2009.  
2. 
Олифер В.Г., Олифер Н.А. Сетевые операционные системы. – 2-е изд. – 
СПб.: Издательство «Питер». – 2011. 
3. 
Silberschatz, A., Galvin, P.B. and Gagne, G. Operating System Concepts with 
Java. – Addison Wesley Publishing Co., New York. Eighth Edition. – 2010. 
4. 
Silberschatz, P. Galvin and G. Gagne. Operating System Concepts. – 9th ed. – 
John Wiley & Sons. – 2012. 
5. 
W. Stallings. Operating Systems – Internals and Design Principles, 7th ed.  – 
Pearson Education Ltd. – 2012. 
6. 
Карпов В.Е., Коньков К.А. Основы операционных систем, Курс лекций. 
Серия:  Основы  информационных  технологий.  –  Издательство: 
Интернет-Ун-т информационных технологий, БИНОМ. – 2011. 
7. 
 Коньков,  К.  А.  Устройство  и  функционирование  ОС  Windows. 
Практикум  к  курсу  "Операционные  системы":  учебное  пособие  Серия: 
Основы  информационных  технологий.  –  Издательство:  Интернет-Ун-т 
информационных технологий, БИНОМ. – 2010. 
 
 

123 
 
OS 2206 OPERATING SYSTEMS 
3 credits 
Author: 
candidate of physico-mathematical sciences, associate professor Mansurova M. 
 
Reviewers: 
candidate of technical sciences, associate professor of Department of Information 
Systems, International University of Information Technology Satybaldiyeva R. 
Candidate of physico-mathematical sciences, associate professor of Department of 
Electrical Engineering and Computer Science, Kazakh-British Technical 
University Ualieva I.  
 
EXPLANATORY NOTE 
 
The purpose of this discipline is to train highly qualified professionals with 
skills  to  use  of  modern  operating  systems  in  the  professional  field.  Operating 
systems define an abstraction of hardware and manage resource sharing among the 
computer’s  users.  The  topics  in  this  area  explain  the  interfacing  an  operating 
system  to  networks,  the  difference  between  the  kernel  and  user  modes,  and  key 
approaches to operating system design and implementation. 
As a result of studying the discipline, students will 
-  know:  fundamental  principles  of  operating  system  design;  the  purpose, 
functions,  and  classification  of  operating  systems;  principles  of  resource 
management; the concepts of multiprogramming, processes and threads; principles 
of virtualization and mobility of operating systems. 
-  Be  able  to:  implement  basic  algorithms  of  process  and  thread  scheduling 
and  synchronization,  memory  management,  and  disk  scheduling;  develop 
multithreaded applications; take into account the features of a particular operating 
system; use the tools of operating systems. 
-  Be  skilled  in:  installation  of  operating  systems,  account  management, 
configuring  of  user  work  environment  parameters,  configuring  of  hardware 
devices, disk and file system management, configuring of the network settings. 
Role and value of discipline: The study of this discipline will allow to give 
basic  knowledge  of  operating  systems,  necessary  for  the  successful  learning  of 
materials of educational disciplines associated with the use of modern information 
technologies  and  the  knowledge  required  for  successful  practical  work  in  various 
operating environments. 
The  disciplines  preceding  studying  of  this  discipline:  Information  and 
communication  technologies.  Algorithms  and  data  structures.  Programming 
languages and technologies. 
 
 
 

124 
 
THEMATIC PLAN 
 
№ 
Theme Name 
11.  
Introduction to operating systems. Review of computer hardware. 
12.  
Process management. 
13.  
Mutual exclusion and synchronization. 
14.  
Memory management. 
15.  
Input-output management. 
16.  
File systems. 
17.  
Security management. 
18.  
Virtual machines. 
19.  
Distributed systems. 
20.  
Case study: Windows operating system; Linux operating system. 
 
CONTENT OF DISCIPLINE 
 
Introduction 
Purpose  of  the  course:  study  of  the  concept  of  operating  systems,  the 
fundamental principles of operating system design and development. 
Objectives of the course: 
-  to  give  knowledge  about  the  purpose,  functions,  and  classification  of 
modern operating systems; 
-  to give knowledge about key concepts, abstractions, and mechanisms of 
operating systems; 
-  to  elaborate  the  practical  skills  required  for  work  in  modern  operating 
systems; 
-  to introduce modern trends of operating system design and development. 
 
BASIC PART 
 
Introduction to Operating SystemsReview of computer hardware. The 
role  and  purpose  of  operating  system.  The  functionality  of  a  typical  operating 
system.  Design  Considerations:  efficiency,  reliability,  flexibility,  portability, 
safety,  compatibility.  The  evolution  of  hardware  /  software.  Device  organization. 
Interrupts: methods and implementations. 
Process  Management.  Process  model  and  process  states.  Multitasking 
system.  Thread  management.  Thread  model  and  thread  states.  Uniprocessor 
process  scheduling.  Preemptive  and  non-preemptive  scheduling.  Schedulers  and 
policies. 
Mutual exclusion and synchronization. Process and thread interaction and 
synchronization. 
Parallel 
asynchronous 
processes 
and 
inter-process 
communication.  Mutual  exclusion.  Semaphores.  Monitors.  Deadlocks.  Deadlock 
detectionprevention, and avoidance

125 
 
Memory management. Review of physical memory and hardware memory 
management. Caching. Virtual memory. Translation of virtual to physical address. 
Virtual memory page replacement algorithms. 
Input-output  management.  Characteristics  of  sequential  and  parallel 
devices. Buffering strategy. Direct Memory Access.  Recovery from failures. Disk 
scheduling. RAID-arrays. 
File  systems.  Files:  data,  metadata,  operations,  organization,  buffering. 
Directories: contents and structure. Mounting and unmounting file systems. Virtual 
file systems. Naming, searching, access, backups. 
Security Management. Authentication. Access control. Intrusion detection. 
Protection against malicious software. Protection against buffer overflow attacks. 
Virtual  machines.  The  types  of  virtual  machines.  Hypervisors.  Software 
virtualization.  Hardware  virtualization.  Virtualization  at  the  level  of  operating 
systems. The cost of virtualization. 
Distributed  systems.  Distributed  operating  systems.  Distributed  file 
systems. Remote Procedure Calls. Distributed synchronization. 
Case  study:  Windows  operating  system;  Linux  operating  system
Principles of operating system design. System components. Memory management. 
Processor Scheduling. Memory management. File systems. 
 
APPROXIMATE LIST OF THEMES OF LABORATORY STUDIES 
 
1. 
The study of hardware characteristics and configuration. 
2. 
Implementation of process scheduling algorithms. 
3. 
Implementation of threads. 
4. 
Development of multithreaded applications. 
5. 
Implementation of semaphores and monitors. 
6. 
Implementation of deadlock prevention algorithms. 
7. 
Implementation of virtual page replacement algorithms. 
8. 
Implementation of disk scheduling algorithms. 
9. 
Windows / LINUX operating systems installation. 
10.  Creating and configuring a user profile. 
11.  The  main  principles  of  the  functioning  of  Windows  /  LINUX  operating 
systems. 
12.  User and group management. 
13.  Process management in Windows / LINUX operating systems. 
14.  File management in Windows / LINUX operating systems. 
15.  Diagnosing of failures and faults of operating system and troubleshooting. 
 
APPROXIMATE LIST OF TASKS FOR INDEPENDENT WORK OF 
STUDENT 
 
1. 
Comparison  of  process  management  approaches  in  a  variety  of  operating 
systems. 

126 
 
2. 
Simulation of scheduling processes. 
3. 
Analysis of the performance of the virtual page replacement algorithms. 
4. 
Analysis of the performance of disk scheduling algorithms. 
5. 
Comparison  of  memory  management  approaches  in  a  variety  of  operating 
systems. 
6. 
Review of the modern operating systems. 
7. 
Operating systems for smartphones, tablets, and other mobile devices. 
8. 
Implementation of process scheduling simulator. 
9. 
Implementation of memory management simulator. 
10.  Implementation of file system simulator. 
11.  Implementation of distributed applications. 
 
REFERENCES 
Basic: 
1. 
William Stallings Operating Systems: Internals and Design Principles, 7/E, 
Prentice Hall, 2011. 
2. 
Andrew S. Tanenbaum and Albert S. Woodhull, Operating Systems Design 
and Implementation. 3/E. 1080 pages, Prentice Hall Software series, January 
2006. 
3. 
Silberschatz Abraham, Galvin Peter Baer and Gadne Greg. Operating system 
concepts. 9/E. Published by John Wiley & Sons, 2012. 
4. 
Andrew S. Tanenbaum. Computer Networks. 5/E, Prentice Hall PTR, 2010. 
5. 
Andrew S. Tanenbaum Structured Computer Organization. Pearson; 5/E, 
2009.  
 
Additional: 
1. 
William Stallings Computer Organization and Architecture, 9/E, Prentice 
Hall, 2012.  
2. 
Tanenbaum. Andrew S. Modem Operating Systems. 3/E. Published by 
Prentice-Hall, 2007. 
3. 
Tanenbaum S. Andrew S. Distibuted Operating Systems. 2/E. Published by 
Prentice-Hall, 2006. 
 
 

127 
 
KS 3207 КОМПЬЮТЕРНЫЕ СЕТИ 
 
объем 2 кредита 
 
Авторы: 
кандидат физико-математических наук, доцент Пыркова А.Ю. 
старший преподаватель кафедры информатики Черикбаева Л.Ш. 
 
Рецензенты: 
доктор PhD, профессор, декан факультета информационных 
технологий КБТУ Акжалова А.Ж. 
доктор технических наук, профессор, профессор кафедры 
информационных систем Жомартова Ш.А. 
 
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 
 
Назначение  дисциплины:  данная  дисциплина  предназначена  для 
формирования  у  студентов  системных  знаний  о  существующих  методах 
проектирования и поддержки компьютерных сетей, проблемах безопасности, 
связанных с эксплуатацией локальных и глобальных сетей. 
В результате изучения данной дисциплины студент должен 
знать: 
- основные понятия и определения теории сетей; 
- основы построения LAN и WAN сетей; 
- описания протоколов маршрутизации; 
- основные положения коммутаторов и маршрутизаторов. 
уметь: 
- производить конфигурирование сетей; 
- осуществлять выбор необходимого оборудования для сетей. 
иметь представление: 
- о методах построения сетей; 
- о существующих протоколах и их особенностях; 
- о способах оптимизации сетей. 
быть компетентным: 
- в умении проектировать компьютерные сети; 
- в умении проводить верификацию и диагностику неисправностей сети; 
- при выборе приемлемой политики безопасности. 
Роль  и  значение  дисциплины:  данная  дисциплина  является 
дисциплиной  бакалавриата  и  развивает  тематику  дисциплин,  посвященных 
организации систем и сетей. 
Дисциплины,  предшествующие  изучению  данной  дисциплины: 
Информационно-коммуникационные технологии. 
Дисциплины,  содержащие  знания,  умения  и  навыки,  необходимые 
для 
освоения 
изучаемой 
дисциплины: 
Информационно-
коммуникационные технологии. 
 

128 
 


Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   12




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет