скачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МАТИ» - РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ имени К.Э. ЦИОЛКОВСКОГО 
Кафедра «Проектирование вычислительных комплексов»
-
^
по дисциплине «Системное программное обеспечение»
Направление № 230100 «Информатика и вычислительная техника» Шифр учебного плана: 230100.03пвк Факультет № 6 Выпускающая кафедра: Проектирование вычислительных комплексов Форма обучения: очная Количество часов по дисциплине: 144 Цикл дисциплин: С
Распределение времени студента по видам учебных занятий (часы аудиторных занятий/самостоятельная работа)
Семестр | 5 |
| По учебному плану (АР/СР) | 64/80 |
| Лекции (АР/СР) | 32/40 |
| Лабораторные работы (АР/СР) | 32/40 |
| Практические занятия (АР/СР) | - |
| Курсовая работа (0/СР) | - |
| Форма контроля | экзамен |
|
Москва 2006 г.
^
Цель преподавания дисциплины
Целью преподавания курса “Системное программное обеспечение” является введение студентов в круг основных понятий и идей, связанных с разработкой алгоритмических языков, компиляторов и операционных систем, которые необходимы для обеспечения плодотворной профессиональной деятельности специалистов по направлению 230100 “Информатика и вычислительная техника”.
^
Задачей изучения курса “Системное программное обеспечение” является получение знаний и выработка умений, необходимых при разработке и системных программ разных типов (в первую очередь ОС и компиляторов), а также при работе с указанными программными системами.
^
Курс должен читаться после курса “Программирование на языках высокого уровня” и должен быть связан с курсом “Операционные системы”.
^ Наименования разделов и тем, объем в часах лекционных занятий.
5 семестр (32 часа)
№ | Тема и содержание | Кол-во часов |
| Общие вопросы Сферы применения языков программирования (научные исследования, коммерческие применения, искусственный интеллект, системное программирование и др.). Разработка и реализация языков программирования. Краткий исторический очерк. Классификация языков программирования. | 2 |
| Общие вопросы Характеристики (простота/ортогональность языка, управляющие структуры, типы и структуры данных, синтаксическая структура языка, поддержка абстракции, обработка исключительных ситуаций и др.) и критерии оценки языков программирования (читабельность, легкость создания, надежность программ). | 2 |
| Синтаксис и семантика языков программирования Понятия синтаксиса и семантики. Задача описания синтаксиса языка программирования. Методы формального описания синтаксиса. Форма Бэкуса-Наура. Контекстно-свободные грамматики. Деревья синтаксического анализа. Приоритет операторов, ассоциативность операторов. Расширенные формы БНФ. Синтаксические графы. Статическая семантика. Виды динамической семантики (операционная, аксиоматическая, денотационная). | 2 |
| Синтаксис и семантика языков программирования Приоритет операторов, ассоциативность операторов. Расширенные формы БНФ. Синтаксические графы. Статическая семантика. Виды динамической семантики (операционная, аксиоматическая, денотационная). | 2 |
| Основные понятия и конструкции языков программирования Имена. Основные вопросы их реализации. Специальные слова, ключевые и зарезервированные слова. Переменные и их атрибуты: имя, адрес, значение, тип. Время жизни переменной. | 2 |
| Основные понятия и конструкции языков программирования Область видимости. Концепция связывания (способы связывания, статические, автоматические, динамические переменные). Именованные константы. Инициализация переменных. | 2 |
| Основные понятия и конструкции языков программирования Типы данных. Проверка типов, строгая типизация, совместимость типов. Простые типы данных (целые, вещественные, логические, литерные). Перечислимые и интервальные типы. Массивы и строки. Записи, объединения, множества. Ссылочный тип. | 4 |
| Основные понятия и конструкции языков программирования Выражения. Арифметические выражения. Порядок выполнения операторов. Порядок вычисления операндов. Перегрузка операторов. Преобразования типов. Отношения и булевские выражения. Сокращенные вычисления. | 2 |
| Основные понятия и конструкции языков программирования Операторы присваивания. Основные вопросы реализации: множественные целевые объекты, условные целевые объекты, составные и унарные операторы присваивания, присваивание как выражение. | 2 |
| Основные понятия и конструкции языков программирования Операторы. Составные операторы. Операторы ветвления: двухвариантные, вложенные, многовариантные. Специальные слова и замыкание операторов ветвления. Операторы цикла. | 2 |
| Основные понятия и конструкции языков программирования Циклы со счетчиком, логически управляемые циклы, циклы с механизмом управления, размещаемым пользователем. Эволюция операторов цикла и особенности реализации в разных языках программирования. Переходы и метки. | 4 |
| Основные понятия и конструкции языков программирования Подпрограммы. Процедуры и функции. Параметры. Методы передачи параметров: по значению, по имени, по ссылке. Их использование в разных языках программирования. Побочные эффекты. Реализация подпрограмм. | 2 |
| Непроцедурные парадигмы программирования Объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм. История и проблемы разработки объектно-ориентированных языков. Краткий обзор языков C++ и Java. Функциональное программирование. Возникновение и применение. Языки Lisp и ПЛЭНЕР. Сравнение функциональных и императивных языков. Логическое программирование. Язык Prolog и его применение. | 4 |
Лабораторные занятия, их содержание и объем в часах
^
№ | Тема и содержание | Кол-во часов |
| Программная реализация эвристического алгоритма планирования выполнения набора задач ОС. | 8 |
| Программная реализация алгоритма перевода арифметического выражения в бесскобочную форму записи. | 8 |
| Программная реализация алгоритма перевода арифметического выражения в триады на основе стеков с приоритетами. | 8 |
| Программная реализация алгоритма перевода языковых конструкций в бесскобочное представление. | 8 |
^
5 семестр
Проработка конспекта лекций и изучение дополнительной литературы по основным темам лекций (40 часов). Подготовка к лабораторным занятиям (40 часа) ^
4.1. Основная литература. 1. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение СПб., Питер, 2003. 2. Вирт Н. Алгоритмы и структуры данных М., Мир, 2000.
4.2. Дополнительная литература. 1. Грис. Д. Конструирование компиляторов для цифровых вычислительных машин. – М., Мир, 1975. 2. Ахо А., Сети Р., Ульман Дж. Компиляторы 3. Пратт Т., Зелковиц М. Языки программирования: реализация и разработка. – СПб., Питер, 2001. 4. Себеста Р. Основные концепции языков программирования М., Вильямс, 2001. 5. Андреева Е, Фалина И. Системы счисления и компьютерная арифметика – М., Лаборатория базовых знаний, 2003.
Перечень технических средств обучения по данной дисциплине
ПК не менее Pentium 4-\2.4G\256Mb\40Gb;
Добавить документ в свой блог или на сайт
|