Рабочая учебная программа по дисциплине «Программирование на языке высокого уровня» Направление №230100 «Информатика и вычислительная техника»

Вид материалаРабочая учебная программа

Содержание


Рабочая учебная программа
Цель и задачи дисциплины, ее место в учебном процессе
Задачи изучения дисциплины
Перечень тем и разделов предшествующих дисциплин, освоение которых необходимо для изучения данной дисциплины
Содержание дисциплины
3 семестр (32 часа)
2 семестр (32 часа)
3 семестр (32 часа)
Курсовая работа, цель, содержание и объем
Самостоятельная работа
Учебно-методические материалы по дисциплине
Подобный материал:

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ


ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ


«МАТИ» - РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

имени К.Э. ЦИОЛКОВСКОГО




Кафедра «Проектирование вычислительных комплексов»





























РАБОЧАЯ УЧЕБНАЯ ПРОГРАММА


по дисциплине «Программирование на языке высокого уровня»


Направление № 230100 «Информатика и вычислительная техника»

Шифр учебного плана: 230100.03пвк

Факультет № 6

Выпускающая кафедра: Проектирование вычислительных комплексов

Форма обучения: очная

Количество часов по дисциплине: 262

Цикл дисциплин: О


Распределение времени студента по видам учебных занятий

(часы аудиторных занятий/самостоятельная работа)



Семестр

2

3




По учебному плану (АР/СР)

48/50

64/100




Лекции (АР/СР)

16/10

32/30




Лабораторные работы (АР/СР)

32/40

32/40




Практические занятия (АР/СР)

-

-




Курсовая работа (0/СР)

-

кр/30




Форма контроля

зачет

экзамен






Москва 2006 г.


  1. ЦЕЛЬ И ЗАДАЧИ ДИСЦИПЛИНЫ, ЕЕ МЕСТО В УЧЕБНОМ ПРОЦЕССЕ



Целью преподавания дисциплины

Основной целью преподавания курса «Программирование на языке высокого уровня» является фундаментальное образование в области компьютерных наук, направленное на обеспечение профессионального использования компьютеров в деятельности специалиста по направлению 230100 «Информатика и вычислительная техника».

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


    1. Задачи изучения дисциплины


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


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


Для нормального освоения данной дисциплины достаточно знания школьного курса информатики и предшествующих разделов курса информатики, читаемого параллельно студентам этой же специальности, а также разделов математики, связанных с дифференциальным и интегральным исчислением и с элементами векторной и матричной алгебры.
  1. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ



    1. Наименования разделов и тем, объем в часах лекционных занятий.


2 семестр (16 часов)




Тема и содержание

Кол-во

часов


Информатика, как наука. Вторая научно-техническая революция. Кибернетика. Поколения ЭВМ и программного обеспечения. Операционные системы, управление ресурсами ЭВМ. Трансляторы, компиляторы, интерпретаторы.

2


Идеи развития языков программирования, их классификация. Формализация синтаксиса языка. Машинно-ориентированные языки. Переход от процедурного программирования к объектно-ориентированному.

2


Структура программы на языке Си. Функции в Си. Передача параметров. Объявления, описания и вызовы функций. Директивы включения файлов. Головные файлы. Стандартные библиотеки функций. Операторы. Оператор возврата.

2


Алфавит языка Си. Сдвоенные и специальные символы. Идентификаторы. Ключевые слова. Константы и их диапазоны значений. Комментарии. Типы данных. Операторы описания типов. Преобразования типов. Функции ввода - вывода. Форматы ввода - вывода.

2


Операции в языке Си: арифметические, логические, сравнения, присваивания, условная, адресные и др. Приоритеты операций. Оператор выражения. Составной оператор. Метки. Оператор перехода. Оператор выбора. Условный оператор.

2


Операторы цикла. Оператор продолжения и оператор прерывания цикла. Особенности функций в Си. Передача параметров по значению. Формальные и фактические параметры. Функции, как параметры. Рекурсивные функции.

2


Массивы. Переменные с индексами. Распределение памяти для многомерных массивов. Инициализация массивов.

2


Структуры, смеси, перечисления. Указатели и массивы. Строки, как массивы. Массивы строк. Указатели и функции. Использование указателей при передаче параметров в функциях.

2



3 семестр (32 часа)





Тема и содержание

Кол-во

часов


Указатели и динамическое распределение памяти. Списки. Указатели и организация работы со списками. Расширение Си в языке Си++. Объявления и описания. Преобразования типов. Операция видимости. Операции динамического распределения памяти.

2


Расширение в Си++ для функций: перегрузка, передача параметров по умолчанию, шаблоны, вставляемые функции.

2


Ввод - вывод в Си++. Перегрузки операций.

2


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

2


Поиск в упорядоченном массиве. Оценка числа действий в алгоритме поиска. Вставка и удаление элементов в массиве. Случайное перемешивание элементов массива. Вставка и удаление элементов в списке.

2


Сортировка массивов методом обмена и индексным методом. Оценка числа действий в алгоритмах сортировки.

2


Сортировка массивов методом выборки и методом пузырька.

2


Операции в языке Си++. Основные понятия при описании синтаксиса операций. Приоритеты операций. Операции, использующие скобки. Операции доступа (к компонентам, к глобальным переменным). Унарные операции.

2


Бинарные операции в Си++. Арифметические, логические, побитовые операции. Условная операция. Операции присваивания. Операция следования.

2


Работа с файлами в языке Си. Чтение файла, запись в файл. Указатель на файл. Признак конца файла. Буфер файлового обмена. Переход на начало файла или на заданный байт.

2


Основные возможности языка Си++, расширяющие язык Си (без принципов объектно-ориентированного программирования).

2


Принципы объектно-ориентированного программирования. Инкапсуляция, наследование, полиморфизм. Компоненты-функции. Примеры инкапсуляции. Структуры и классы в Си++. Различие между структурами и классами. Объекты. Доступ к компонентам объектов. Указатели на себя. Статические переменные. Примеры.

2


Открытый и защищенные доступы к компонентам класса. Конструкторы, деструкторы. Примеры. Конструкторы копирования. Конструкторы класса с компонентами из другого класса. Примеры.

2


Интерполяция функциональных зависимостей. Полином Лагранжа. Приближенное вычисление определенных интегралов. Метод трапеций. Метод Симпсона.

2


Деревья, как динамические структуры данных. Работа с деревьями. Примеры.

2


Наследование классов. Списки из объектов. Виртуальные функции. Примеры. Эффективные сортировки. Пирамидальная сортировка массивов. Оценка числа действий.

2



    1. Лабораторные занятия, их содержание и объем в часах



2 семестр (32 часа)







Тема и содержание

Кол-во

часов


Функции в Си. Передача параметров. Объявления, описания и вызовы функций. Директивы включения файлов. Головные файлы. Стандартные библиотеки функций. Оператор возврата. Задачи.

4


Операторы описания типов. Преобразования типов. Функции ввода - вывода. Форматы ввода - вывода. Задачи. риоритеты операций. Оператор выражения. Составной оператор. Метки. Оператор перехода. Оператор выбора. Условный оператор. Задачи.

4


Операторы цикла. Оператор продолжения и оператор прерывания цикла. Особенности функций в Си. Передача параметров по значению. Формальные и фактические параметры. Функции, как параметры. Рекурсивные функции. Задачи. Массивы. Переменные с индексами. Распределение памяти для многомерных массивов. Инициализация массивов. Задачи.

4


Структуры, смеси, перечисления. Задачи. Указатели и массивы. Строки, как массивы. Массивы строк. Указатели и функции. Использование указателей при передаче параметров в функциях. Задачи.

4


Указатели и динамическое распределение памяти. Списки. Указатели и организация работы со списками. Задачи. Ввод - вывод в Си++. Перегрузки операций. Задачи.

4


Ссылки и их использование при передаче параметров. Ссылка, как значение функции. Задачи. Поиск в упорядоченном массиве. Оценка числа действий в алгоритме поиска. Вставка и удаление элементов в массиве. Случайное перемешивание элементов массива. Вставка и удаление элементов в списке. Задачи.

4


Сортировка массивов методом обмена и индексным методом. Оценка числа действий в алгоритмах сортировки. Задачи. Сортировка массивов методом выборки и методом пузырька. Задачи.

4


Работа с файлами в языке Си. Задачи. Объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм. Задачи.

4




3 семестр (32 часа)







Тема и содержание

Кол-во

часов


Исследование вычислительных возможностей компьютера на примере вычисления факториала числа.

4


Работа с матрицами (Варианты).

4


Программа контроля знаний (Варианты).

4


Программа шифровки и расшифровки текста в матрице. (Варианты).

4


Построения графиков функций. (Графические средства).

4


Вычисление площади фигуры методом Монте-Карло. (Графика. Варианты).

4


Приближение функций полиномом Лагранжа. (С выводом графиков функций. Варианты).

4


Программа контроля знаний по нескольким предметам с графическим оформлением.

4



    1. Курсовая работа, цель, содержание и объем


Цель: Практическое освоение языков программирования высокого уровня, приобретение навыков составления эффективных алгоритмов для решения различных задач с программной реализацией их на современных компьютерах.


Содержание: Решение конкретных задач на ЭВМ, требующих использования современных методов алгоритмизации и средств программирования.


Объем времени на выполнение работы 30 часов

Объем отчета до10 страниц печатного текста шрифт 12

или электронный вариант.


  1. САМОСТОЯТЕЛЬНАЯ РАБОТА



2 семестр

    1. Проработка конспекта лекций (10 часов).
    2. Подготовка к лабораторным работам (40 часов)


3 семестр

    1. Проработка конспекта лекций (30 часов).
    2. Подготовка к лабораторным работам (40 часов)



  1. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ




    1. Основная литература


1. Бобровский С. Самоучитель программирования на языке С++ в системе С++Build. 2001

2. Керниган Б., Ричи Д. Язык Си

3. Корера А. и др. Visual C++.NET пособие для разработчиков С++. 2003


4.2. Дополнительная литература


1. Седжвик Р. Алгоритмы на C++ Ч. 5 2002

2. Секунов Н. Самоучитель Visual C++.NET. 2002

3. Торстейнсон П., Оберг Р. Архитектура .NET и программирование на Visual C++. 2002

4.Бочков С.О., Субботин Д.М. «Язык программирования СИ для персонального компьютера», М., «Радио и связь», 1990.

5. Керниган Б., Ритчи Д. «Язык программирования СИ», М., «Финансы и статистика», 1992

6. Шилдт Г. «Теория и практика С++», «BHV – Санкт-Петербург», 1996.

7. Бадд Т. «Объектно-ориентированное программирование в действии», «Питер», Санкт-Петербург, 1997.

    1. Перечень технических средств обучения по данной дисциплине (в том числе ПО.)



  • ПК не менее Pentium 4-\2.4G\256Mb\40Gb;