Технология программирования
Общий курс
Языки и методы программирования
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.