Курс обсуждает несколько тем, связанных с прикладным программированием – параллельное программирование на разделяемой памяти (многопоточные программы), технические и технологические основы объектно-ориентированного программирования, общие вопросы оформления и написания текста программ, использование структур данных в параллельном окружении, безопасность программного обеспечения и применение криптографии, системы виртуализации.
Курс представляет собой завершающую часть полного фундаментального цикла по информатике, занимающего в МФТИ 4 семестра. Он ориентирован на студентов технических ВУЗов, специализирующихся на информатике, и соединяет в себе теоретическую и практическую информацию. Он не является «систематическим изложением базовых основ программирования», представляя собой дополнение к обычным курсам программирования.
В него вошли несколько тем, знание которых, как представляется автору, необходимо современному программисту.
Цель курса - предоставить возможность слушателю ознакомиться с "техническими" компонентами, связанными с созданием современных программ. Делается акцент на понятиях, которыми пользуются профессиональные программисты, и причинах их появления. В результате слушатель должен научиться принимать технические решения на базе своего понимания устройства различных систем и компонент, с которым ему приходится иметь дело.
Предполагается знакомство с программированием на языке С, с устройством операционных систем, общая информация об архитектуре Intel x86. Слушатели курса должны обладать базовыми знаниями в области программирования и некоторым опытом написания программ на стандартных алгоритмических языках.