Отличительная черта дисциплины – ее фундаментальность.
Предлагается обзор фундаментальных основ и технологий программирования в качестве базовой части такой области знаний, как информатика, обзор, дающий возможность понять и оценить множество различных аспектов современного программирования, его междисциплинарности.
Особое внимание уделяется пониманию связи фундаментальных теории программирования с практическими подходами к моделированию будущей профессиональной деятельности студента в процессе участия в разработке программных средств.
История информатики и программирования. Программирование в структуре информатики.
Информационный и алгоритмический подходы. Представление алгоритмов и структур данных. Типы данных. Распрределение памяти компьютера. Основные структуры программирования.
Современное программирование в жизненном цикле программных средств. Анализ. Проектирование. Программирование. Тестирование. Сопровождение.
Социальные и правовые аспекты современного программирования.
Классификация парадигм программирования и языков. Императивная и объектно-ориентированная парадигмы. Функциональная парадигма. Логическая парадигма. Языки низкого, высокого и сверхвысокого уровня. Машинно-зависимые и машинно-независимые языки. Универсальные и специализированные языки.
Многоплатформенность. Виртуальные машины и процессоры.
Распределенные вычисления.
Фундаментальные основы программирования. Вычислительная математика. Дискретная математика. Математическая логика. Теория алгоритмов. Машины Тьюринга и Поста. Проблемы вычислимости и оценки ее сложности. Теория формальных языков и грамматик. Трансляция языков программирования. Теория кодирования. Представление числовой информации и машинных команд. Представление символьной, графической, видео, звуковой информации. Обратимое и необратимое сжатие информации.
Объектно-ориентированное программирование. Класс. Объект. Свойство. Метод. Инкапсюляция. Наследование. Полиморфизм. Абстракция.
Технологии RAD-программирования. Визуально-ориентированное и событийно-ориентированное программирование.
Система программирования Quck Basic.
Система программирования Borland Pascal.
Система программирования Borland C++.
Система программирования ABC Pascal.
Система программирования Lazarus.
Система программирования Visual Basic for Application.
Система программирования Visual Basic .
Система программирования Visual С++ .
Система программирования Visual С# .
Система программирования Visual F# .
Web-программирование. Язык JavaScript. Язык PHP. Базы данных для MySQL, PostgreSQL, SQLite.
1. http://www.srcc.msu.su (Научно-исследовательский ВЦ МГУ)
2. http://www.scirus.com (Система поиска научной информации Scirus)
3. http://www.ict.edu.ru/lib (Библиотека-портал ИКТ в образовании)
4. http://www.viniti.ru/bnd.html (ВИНИТИ - реферативная русскоязычная БД по естественным, точным и техническим наукам)
5. http://window.edu.ru (Единое окно доступа к образовательным ресурсам)
6. http://lib.mexmat.ru/catalogue.php (Электронная библиотека
механико-математического факультета
Московского государственного университета)