- •Методы программирования программа общего курса и описания лабораторных работ Учебное пособие
- •Введение
- •Программа общего курса "эвм и программирование"
- •1. Цели и задачи курса и его место в учебном процессе на факультете вмк
- •1.1. Цель преподавания курса
- •1.2. Задачи изучения курса
- •1.3. Дисциплины, освоение которых необходимо при изучении данного курса
- •Содержание курса
- •1. Структура действия и структуры данных.
- •1.1. Структуры данных.
- •1.2. Структуры хранения.
- •1.3. Динамические структуры.
- •1.4. Динамические структуры и структуры хранения.
- •1.5. Динамическое распределение памяти.
- •1.6. Распределение памяти для структур хранения, представляющих основные отношения с помощью адресных указателей.
- •2. Динамические структуры и конструирование математических моделей (алгебр: объекты и операции).
- •2.1. Пример 1: система для арифметических действий над полиномами.
- •2.2. Пример 2: система для арифметических действий над многочленами от нескольких переменных.
- •2.3. Пример 3: редактирование текстов.
- •2.4. Пример 4: структуры хранения геометрических объектов (случай плоского чертежа, содержащего точки и отрезки прямых линий).
- •3. Организация доступа по имени к структурам данных.
- •5.2. Введение многопрограммного режима в целях равномерной загрузки устройств эвм.
- •5.3. Математическая модель управления процессами и ресурсами в операционной системе.
- •Программа общего лабораторного практикума на эвм
- •3 Семестр Тема: Математические структуры и структуры хранения.
- •Лабораторная работа 1 Тема: Реализация динамической структуры стек с использованием вектора памяти. Использование стека при решении задач.
- •Лабораторная работа 2 Тема: Реализация динамической структуры очередь с использованием кольцевого буфера. Использование очереди при решении задач.
- •Лабораторная работа 2 Тема: Реализация динамической структуры очередь с использованием кольцевого буфера. Использование очереди при решении задач.
- •4 Семестр Тема: Методы представления и обработки сложных объектов на эвм
- •Лабораторная работа 7 Тема: Организация динамических таблиц с доступом по имени.
- •Методические указания к выполнению лабораторных работ
- •Методические указания к оформлению лабораторных работ
- •Вопросы для контроля по общему курсу "эвм и программирование"
- •Тема 1.Структуры действия и структуры данных.
- •Тема 2. Динамические структуры и конструирование математических моделей.
- •Тема 3. Организация доступа по имени.
- •Тема 4.Проблемное языковое обеспечение.
- •Учебно-методические цели работы
- •Лабораторная работа 2 Обслуживание процессором эвм очереди заданий (очередь) Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Лабораторная работа III Аналитические преобразования полиномов от нескольких переменных Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Лабораторная работа IV Организация доступа по имени Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Анализ способов организации таблиц.
- •1. Просматриваемые таблицы
- •2. Упорядоченные таблицы
- •3. Таблицы с вычисляемыми адресами
- •Анализ способов организации таблиц.
- •1. Просматриваемые таблицы
- •2. Упорядоченные таблицы
- •3. Таблицы с вычисляемыми адресами
- •Лабораторная работа VI Обработка геометрических объектов на эвм
- •1. Цели и задачи дисциплины
- •2. Требования к уровню освоения содержания дисциплины.
- •3. Объем дисциплины и виды учебной работы(часы):
- •4. Содержание дисциплины
- •6.2. Средства обеспечения освоения дисциплины
- •7. Материально-техническое обеспечение дисциплины
- •8. Методические рекомендации по организации изучения дисциплины
- •8.1. Рекомендуемый перечень тем практических занятий
- •8.2. Рекомендуемый перечень тем индивидуальных занятий
- •8.3. Рекомендуемый перечень тем домашних заданий
- •8.3. Рекомендуемый перечень тем контрольных работ
8.3. Рекомендуемый перечень тем домашних заданий
Напишите программу, реализующую один из алгоритмов сортировки.
Напишите программу, реализующую один из алгоритмов поиска.
Получить эмпирические оценки трудоемкости алгоритма сортировки или поиска.
Произвести сравнительный анализ трудоемкости работы нескольких алгоритмов.
Напишите программу, реализующую алгоритм поиска сильно связных компонент в графе.
Напишите программу, реализующую алгоритм поиска двусвязных компонент в графе.
Напишите программу, реализующую алгоритм порождения перестановок в лексикографическом порядке.
Напишите программу, реализующую алгоритм порождения перестановок циклическим сдвигом.
8.3. Рекомендуемый перечень тем контрольных работ
Не предусмотрены
Программа составлена в соответствии с Государственными требованиями к обязательному минимуму содержания основной образовательной программы по специальностям: 075200 - Компьютерная безопасность, 075500 - Комплексное обеспечение информационной безопасности автоматизированных систем. Программу составили: Анашкина Н.В., к.т.н., ИКСИ Академии ФСБ России
Языки и методы программирования
Лектор: к.ф.-м.н., доцент Клюев В.В.
1. Введение
1.1. Принципы построения машины Тьюринга. 1.2. Понятие о языках программирования. Исторический обзор. 1.3. Классификация: императивные, декларативные, параллельные. 1.4. Компиляторы и интерпретаторы. Синтаксис и семантика. 1.5. Препроцессоры.
2. Формальные грамматики.
2.1. Способы описания синтаксиса языков программирования. 2.2. Нормальная форма Бэкуса-Наура, контекстно свободные грамматики.
3. Обзор императивных языков.
3.1. Паскаль, С++, Java. 3.2. Структура программы, типы данных, структуры управления. 3.3. Абстрактные типы данных. 3.4. Примеры решения задач. 3.5. Языки интерпретируемого типа на примере Perl и Unix Shell.
4. Обзор декларативных языков.
4.1. Lisp (RLisp средство реализации Reduce), Пролог, Scheme. 4.2. Принципы функционального программирования. 4.3. Языки управления базами данных и знаний.
5. Введение в языки и методы параллельного программирования.
5.1. Понятие о языке OCCAM. 5.2. Средства параллельного программирования в языках Fortran и Java. 5.3. Распределенные вычисления. 5.4. Принципы администрирования сетей (Windows 9x/NT, UNIX/Linux, Novell). 5.5. Построение корпоративных гетерогенных сетей 5.6. Технологии CORBA, COM, DCOM.
6. Современные технологии программирования.
6.1. Объектно-ориентированное программирование. 6.2. Типы современных баз данных, их классификация. 6.3. Обзор современных СУБД. 6.4. Администрирование СУБД (Oracle, MS SQL, Interbase, Access) 6.5. Проектирование, реализациями и оптимизация БД. 6.6. Genetic programming. 6.7. Нейросети.
7. Базовые алгоритмы.
7.1. Сортировка, поиск. 7.2. Алгоритмы на графах. 7.3. Методы компрессии и шифрования данных. 7.4. Сложность алгоритмов, NP-полные задачи.
8. Языки форматирования текстов.
8.1. Языки гипертекстовой разметки. 8.2. Понятие о языках TeX, HTML, SGML, XML. 8.3. CSS - стили и включаемые в текст скрипты: PHP, JavaScript и т.д. 8.4. Основные представления о языках TeX, Postscript и PDF, ориентированных на издательскую деятельность.
Литература
Фридман А. и др. С/С++: Архив программ. СПб.: Бином, 2001
Байков В. Интернет: поиск информации, продвижение сайтов. СПб.: BHV. 2001.
Новиков Ф.А. Дискретная математика для программистов: Учебник. СПб.: Питер, 2001.
Николенко Д.В. Практические занятия по JavaScript. Наука и техника, 2000.
Причард Дж. COM и CORBA просто и доступно. М.: Лори, 2001.
Гаврилова Т.А., Хорошевский В.Ф.. Базы знаний интеллектуальных систем. Учебник. Питер, 2000.
Петровский А. TCL: Командный язык программирования. М., 2001.
Олифер В.Г. Компьютерные сети: Учебник. СПб.: Питер, 2001
Грэхем Р., Кнут Д., Паташник О. Конкретная математика: Основания информатики. М.: Мир, 1998.
Бен-Ари М. Языки программирования. Практический сравнительный анализ. М.: Мир, 2000.
Вейтман В. Программирование для Web. Диалектика, 2000.
Орфали Р., Харки Д. Java и CORBA в приложениях клиент - сервер. М.: Лори, 2000.
Максимальная безопасность в LINUX: Руководство от хакера по защите сервера и рабочей станции LINUX. Диасофт, 2000.