Программа по дисциплине «Компьютерные науки» icon

Программа по дисциплине «Компьютерные науки»


Смотрите также:
Программа «Математическая кибернетика» Направление 511800 «Математика. Компьютерные науки»...
Программа «Математическая экономика» Направление 511800 «Математика. Компьютерные науки»...
Программа «Интеллектуальные системы. Теория и приложения» Направление 511800 «Математика...
Компьютерные измерения...
Образовательный стандарт высшего профессионального образования по направлению подготовки...
Вторая Международная научно-техническая конференция «компьютерные науки и технологии»...
Примерная основная образовательная программа высшего профессионального образования Направление...
Программа по дисциплине «Сетевые технологии» по направлениям: «Математика. Компьютерные науки»...
Учебно-методический комплекс по дисциплине ен,Ф. 01...
Учебно-методический комплекс по дисциплине ен,Ф. 01...
Программа по дисциплине «прикладные протоколы интернет и www» по направлениям: «Математика...
Программа по дисциплине «прикладные протоколы интернет и www» по направлениям: «Математика...



Загрузка...
скачать



Учебная программа по дисциплине «Компьютерные науки», привязанной к семестрам.

Курс 1. Семестр 1.


Направление подготовки «Прикладная математика и информатика» и «Математика, компьютерные науки»


Виды и содержание учебных занятий:

Неделя

Лекции

Практические занятия

1

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

Алгоритмы. Понятие и свойства алгоритма. Примеры алгоритмов. Алгоритмические языки.

Алгоритмы. Способы записи алгоритмов. Блок-схемы, простейшие А. языки.

2

История вычислительной техники. Системы счисления. Простейшие вычислительные устройства. Абак, машина Лейбница, машина Бэббиджа, первая программа для ВМ.

Знакомство с ОС Linux GenToo, файловой системой ОС Linux. Основные команды.

3

История ВТ. Первые серийные ВМ. Релейные ВМ. Первые ЭВМ. Эволюция ЭВМ, поколения ЭВМ.

^ Устройство ЭВМ. Архитектура фон Неймана.

Знакомство с компилятором GFortran, управление компилятором, простейшая программа.

4

Программное обеспечение ЭВМ. Языки программирования. Фортран как первый язык высокого уровня. Эволюция Фортрана.

Разработка программы решения квадратного уравнения.

5

Программа на Фортране. Структура программы на Фортране. Фиксированный и свободный формат записи программы.

^ Операторы Фортрана. Декларативные операторы и исполняемые. Комментарии.

Разработка программы, содержащей основные конструкции Фортрана.

6

Типы Фортрана. Встроенные типы и производные типы. Операторы декларации переменных, атрибуты предложений описания. Выражения.

Решение задач по теме “Типы Фортрана”

7

Основные управляющие операторы Фортрана. Операторы присваивания. Операторы условного и безусловного переходов. Условный оператор. Оператор Select .. Case. Программирование без Goto.


Решение задач по теме "Основные управляющие конструкции Фортрана"

8

Операторы цикла Фортрана. Операторы цикла с предусловием и постусловием.

Решение задач по теме "Операторы цикла Фортрана"

9

Контрольная работа №1.

Контрольная работа №1.

10

Массивы.

Предложения описания массива. Ранг, форма и размер массива. Конформные массивы. Умалчиваемый порядок обхода индексов массива.

Решение задач по теме "Массивы".

11

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

Решение задач по теме "Массивы".

12

Массивы.

Сечения массивов, массивоподобные объекты, логические маски, операторы ForAll и Where.

Решение задач по теме "Массивы".

13

Арифметика Фортрана. Численные типы данных Фортрана. Разновидность типов. Машинное представление целых и вещественных чисел. Понятия мантиссы и порядка. Арифметические операции, порядок вычислений, ранг операндов.

Решение задач по теме "Арифметика Фортрана".

14

Арифметика Фортрана. Точность вычислений. Понятие машинного ноля. Встроенные арифметические функции.

^ Оптимизация вычислений. Свертка и разворот циклов, стоимость вычислений, примеры оптимизации.

Решение задач по теме "Арифметика Фортрана".

15

Динамические структуры данных. Динамически выделяемая память. Ссылочные типы. Операторы Allocate, Deallocate, Nullify, Associated. Динамически выделяемые массивы. Примеры динамических структур, связанные списки.

Решение задач по теме "Динамические структуры данных"

16-17

^ ИТОГОВЫЙ КОНТРОЛЬ ЗНАНИЙ – ЗАЧЕТ



Заведующий кафедрой нелинейного анализа и оптимизации, проф. ______ Арутюнов А.В.


Учебная программа по дисциплине «Компьютерные науки», привязанной к семестрам.

Курс 1. Семестр 2.


Направление подготовки «Прикладная математика и информатика» и «Математика, компьютерные науки»


Направление подготовки «Прикладная математика и информатика» и «Математика, компьютерные науки»


^ Виды и содержание учебных занятий:

Неделя

Лекции

Практические занятия

1

Файловая система. Работа с файлами на Фортране. Типы и виды файлов.Особенности операций ввода-вывода.

Форматирование .Форматирование ввода-вывода на Фортране. Маски форматов.Управление форматированием. .

Решение задач по теме "ФС и форматный ввод-вывод"

2

Структура программы на Фортране. Понятие подпрограммы. Процедуры и функции. Типы подпрограмм. Понятие сигнатуры и интерфейса подпрограммы. Формальные и фактические параметры. Рекурсия.

Решение задач по теме "ФС и форматный ввод-вывод"

3

Структура программы на Фортране. Модули. Внешние подпрограммы. Понятие глобальной и локальной переменной. Области видимости имен. Родовые функции и интерфейсы. Перегрузка операций.

Решение задач по теме "Структура программы"

4

Сложные динамические структуры. Ссылочный тип. Динамические структуры данных – списки, двусвязные списки, бинарные деревья. Очереди и стеки.

Решение задач по теме "Структура программы"

5

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

Решение задач по теме "Структура программы"

6

Алгоритмы сортировки и поиска.Быстрая сортировка, метод.Хоара. Метод Шелла. Оценка сложности алгоритмов

Решение задач по теме "Структура программы"

7

Коллоквиум №1.

^ Коллоквиум №1.Реализация одного из методов сортировки.

8

Некоторые численные алгоритмы. Численные методы поиска корней уравнения. Методы половинного деления, простых итераций, касательных, хорд.

Решение задач по теме "Структура программы"

9-10

Некоторые численные алгоритмы.

Методы численного интегрирования. Методы прямоугольников, трапеций, парабол, оценка точности..

Решение задач по теме “Некоторые численные алгоритмы” Реализация одного из численных методов.

11

Фортран и другие языки программирования. Краткое сравнение возможностей различных современных АЯ высокого уровня. Вызов внешних подпрограмм, написанных на С.

Решение задач по теме "Сложные динамические структуры".

12

Объектно-ориентированное программирование.

Основы ООП. Понятия инкапсуляции, наследования и полиморфизма. Классы и объекты.

Решение задач по теме "Сложные динамические структуры"

13

Фортран и ООП. Реализация основных принципов ООП в Фортране 90.

Решение задач по теме "Сложные динамические структуры"

14

Фортран и высокопроизводительные вычисления..High Performance Fortran. Технология Open MP, краткий обзор. Оптимизация вычислений.

Решение задач по теме "Фортран и ООП "

15

Обзорная лекция.

Решение задач по теме "Фортран и ООП ".

16-17

^ ИТОГОВЫЙ КОНТРОЛЬ ЗНАНИЙ – ЗАЧЕТ


Заведующий кафедрой нелинейного анализа и оптимизации, проф. ______ Арутюнов А.В.


Учебная программа по дисциплине «Компьютерные науки», привязанной к семестрам.

Курс 2. Семестр 1.


Направление подготовки «Прикладная математика и информатика» и «Математика, компьютерные науки»


^ Виды и содержание учебных занятий:

Неделя

Лекции

Практические занятия

1

Введение

Современные направления развития параллельных вычислительных систем (многоядерность и многопоточность). SMP (Symmetric Multiprocessing) и DSM (Distributed Shared Memory)-системы. Процессы и нити. Модель общей памяти. Стандарт POSIX (Portable Operating System Interface for UNIX) для создания параллельных программ для мультипроцессоров.


Введение в параллельное программирование.Компиляция OpenMP программ

2

^ Параллельные вычислительные системы: краткий обзор и классификация

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


Практическое занятие «^ Создание параллельных областей. Распределение циклов. Задание количества нитей»

3

^ Оценка эффективности параллельных вычислений

Основные показатели качества для оценки эффективности разрабатываемых методов параллельных вычислений - ускорение (speedup), эффективность (efficiency), стоимость (cost) вычислений. Рассматривается методы построения оценок максимально достижимых значений показателей эффективности. Для получения таких оценок может быть использован закон Амдаля (Amdahl) и закон Густавсона-Барсиса (Gustafson-Barsis's law). Декомпозиция программ.

Практическое занятие «^ Создание параллельных областей. Распределение циклов. Задание количества нитей»

4

^ OpenMP - модель параллелизма по управлению

Выполнение OpenMP-программы (Fork and Join Model). Модель памяти. Понятие консистентности памяти. Консистентность памяти в OpenMP (weak ordering).


Практическое занятие «^ Создание параллельных областей. Распределение циклов. Задание количества нитей»

5

^ Основные понятия

Директивы и клаузы. Понятие структурного блока. Компиляция OpenMP-программы. Параллельная область (директива PARALLEL). Понятие задачи (директива TASK).


Практическое занятие «^ Создание параллельных областей. Распределение циклов. Задание количества нитей»

6

Классы переменных

клаузы DEFAULT SHARED, PRIVATE; директива THREADPRIVATE


Практическое занятие по теме «^ Классы переменных»

7

Конструкции распределения работы

Распределение витков циклов. Циклы с зависимостью по данным. Организация конвейерного выполнения для циклов с зависимостью по данным. Распределение нескольких структурных блоков между нитями (директива SECTION). Редукционные операторы (клауза REDUCTION). Выполнение структурного блока одной нитью (директива SINGLE).


Практическое занятие по теме «^ Конструкции распределения работы»

8

Конструкции распределения работы

Распределение операторов одного структурного блока между нитями (директива WORKSHARE). Копирование значений приватных переменных (клаузы FIRSTPRIVATE, LASTPRIVATE, COPYIN, COPYPRIVATE).


Практическое занятие по теме «^ Конструкции распределения работы»

9

Конструкции для синхронизации нитей

Директивы MASTER, CRITICAL, BARRIER.


Практическое занятие по теме «Синхронизация»

10

Конструкции для синхронизации нитей

Директивы TASKWAIT, ATOMIC, FLUSH, ORDERED.


Практическое занятие по теме «Синхронизация»

11

^ Система поддержки выполнения OpenMP-программ. Переменные окружения, управляющие выполнением OpenMP-программы

Задание/опрос количества нитей, выполняющих параллельную область. Определение номера нити. Внутренние переменные, управляющие выполнением OpenMP-программы (ICV-Internal Control Variables). Задание/опрос значений ICV-переменных. Функции для синхронизации нитей (семафоры). Функции работы со временем.


Практическое занятие по теме «Переменные окружения»

12

Runtime-процедуры

Контроль поведения проложения с использованием Runtime-процедуры

Практическое занятие по теме «Runtime-процедуры»

13

^ Дополнительные возможности OpenMP

Дополнительные возможности, которыми можно воспользоваться при написании программ с применением OpenMP. Применение директивы threadprivate при организации передачи данных в программах, написанных с использованием OpenMP.


Практическое занятие по теме «^ Дополнительные возможности OpenMP»

14

Дополнительные возможности OpenMP

Обзор устаревших конструкций передачи данных в директиве OpenMP paralleldo. Вопросы блокировки в OpenMP.

Практическое занятие по теме «^ Дополнительные возможности OpenMP»

15

Настройка и ускорение программ в OpenMP

Рассмотрение вопросов настройки и ускорения программ, разработанных с использованием OpenMP.


Практическое занятие по теме «^ Настройка и ускорение программ в OpenM»

16

Отладка эффективности OpenMP-программ

Стратегии распределения витков цикла между нитями (клауза SCHEDULE). Отмена барьерной синхронизации по окончании выполнения цикла (клауза NOWAIT). Локализация данных. Задание поведения нитей во время ожидания (переменная OMP_WAIT_POLICY).


Практическое занятие по теме «^ Отладка эффективности OpenMP-программ»

17

Наиболее часто встречаемые ошибки в OpenMP-программах. Функциональная отладка OpenMP-программ

Трудно обнаруживаемые ошибки типа race condition (конфликт доступа к данным). Ошибки типа deadlock (блокировки).


Практическое занятие по теме «^ Функциональная отладка OpenMP-прогрмм»

18

Использование OpenMP на кластере

Гибридная модель параллельного программирования MPI/OpenMP.


Практическое занятие по теме « Функциональная отладка OpenMP-программ»

19-20

^ ИТОГОВЫЙ КОНТРОЛЬ ЗНАНИЙ – ЗАЧЕТ



Заведующий кафедрой нелинейного анализа и оптимизации, проф. ______ Арутюнов А.В.


Учебная программа по дисциплине «Компьютерные науки», привязанной к семестрам.

Курс 2. Семестр 2.


Направление подготовки «Прикладная математика и информатика» и «Математика, компьютерные науки»


^ Виды и содержание учебных занятий:

Неделя

Лекции

Практические занятия

1

^ Параллельные модели программирования и их программные реализации

Обзор учебного курса, даются ссылки на учебно-методическую литературу и источники информации, которые могут быть использованы в рамках данного курса. Последовательная и параллельная модели программирования. Различные парадигмы параллельного программирования и соответствующие программные средства (POSIX Threads, Microsoft Windows API, OpenMP, MPI, PVM и т. д.).

Компиляция и запуск MPI-программ.

2

Архитектура MPI

Рассматривается архитектура программной реализации MPI на примере MPICH-2. Роль демона mpd, настройка пользовательской среды. Типовые схемы организации параллельных MPI-программ, их структура. Привязки к языку программирования Fortran, способы компиляции и запуска MPI-программ.

Практическое занятие «Основы MPI-программирования»

3

Архитектура MPI

Обзор библиотеки MPI. Модель SPMD. Инициализация и завершение MPI-приложения.

Практическое занятие «Основы MPI-программирования»

4

Точечные обмены.

Точечные обмены данными между процессами MPI-программы. Режимы буферизации. Отложенные пересылки. Прием по шаблону и "условие гонок".

Практическое занятие по теме «Точечные обмены»

5

Точечные обмены.

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

Практическое занятие по теме «Точечные обмены»

6

^ Неблокирующие точечные обмены

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

Практическое занятие по теме «Неблокирующие точечные обмены»

7

Коллективные взаимодействия процессов.

Причина введения кол-лективных взаимодействий. Основные функции коллективных взаимодействий. Пример параллельной программы для метода Якоби решения систем линейных уравнений.

Практическое занятие «Коллективное взаимодействие процессов»

8

Коллективные взаимодействия процессов.

Вопросы синхронизации в параллельном программировании и средствам синхронизации в MPI.

Практическое занятие «Коллективное взаимодействие процессов»

9

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

Практическое занятие «Группы и коммуникаторы»

10

^ Группы процессов и коммуникаторы

Примеры использования коллективных обменов в производных группах процессов, а также обмена между группами процессов.

Практическое занятие «Группы и коммуникаторы»

11

Пользовательские типы.

Методы работы с пользовательскими типами данных. Применение пользовательских типов. Построение карты типа, его регистрация и аннулирование. Примеры использования пользовательских типов в MPI-программах

Практическое занятие «Пользовательские типы»

12

Виртуальные топологии.

Виртуальные топологии. Декартовы топологии.

Практическое занятие «Виртуальные топологии»

13

^ Другие возможности MPI

Обзор тех возможностей MPI, которые не рассматривались в предыдущих лекциях: односторонние обмены, дополнительные вопросы организации коллективных обменов, а также средства управления процессами из MPI-программы в процессе ее выполнения.

Практическое занятие «Виртуальные топологии»

14

Общая структура библиотеки PVM.

Управление виртуальной маши-ной. Создание и завершение процессов

Компиляция и запуск PVM-программ

15

Взаимодействия процессов в PVM.

Функции запаковки и распа-ковки данных. Точечные и коллективные обмены.

Практическое занятие «Взаимодействие процессов в PVM. Точечные обмены»

16

Понятие многотредовой программы.

Различия и общие черты тре-дов и процессов. Планирование тредов и процессов в многопро-цессорной системе.

Практическое занятие «Взаимодействие процессов в PVM. Точечные обмены»

17

Библиотека pthreads.

Создание и завершение потоков. Проблема синхронизации доступа к общим данным. Семафоры. Критические секции.

Практическое занятие «Взаимодействие процессов в PVM. Коллективные обмены»

18

Поддержка параллелизма в современных диалектах Фортрана.

Конструкции параллельного выполнения в FORTRAN 2000. Расширение Фортрана для высокопроизводительных вычислений HPF.

Практическое занятие «Взаимодействие процессов в PVM. Коллективные обмены»

19-20

ИТОГОВЫЙ КОНТРОЛЬ ЗНАНИЙ – ЗАЧЕТ



Заведующий кафедрой нелинейного анализа и оптимизации, проф. ______ Арутюнов А.В.









Скачать 207,8 Kb.
оставить комментарий
Дата29.09.2011
Размер207,8 Kb.
ТипПрограмма, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх