Основная цель курса “Программирование на C++ и python” состоит в том, чтобы помочь студенту преодолеть входной барьер в разработку программ на языках программирования C++ и python.
Выбор языков определяется их распространенностью в научных вычислениях. Сильные стороны C++ и python дополняют друг друга. Многие пакеты для моделирования физических систем требуют максимально эффективного использования вычислительных ресурсов, написаны на языке C++ и предлагают программный интерфейс для C++.
Язык python в свою очередь очень удобен для анализа и визуализации данных. На python часто реализуют прототипы вычислительных алгоритмов, используя возможности быстрой разработки на этом языке.
Основное внимание в этом курсе уделяется рассмотрению высокоуровневых инструментов языков C++ и python и возможностей стандартных библиотек. Обсуждение большинства низкоуровневых деталей не представляется возможным из-за ограниченного времени.
После прослушивания курса студент должен быть готов к дальнейшему самостоятельному изучению технологий в области программирования.
Во многом из-за дискуссии об этом вопросе на физфаке появились два альтернативных курса по программированию, только на одном из которых (на этом) обсуждается язык C++. Полностью этот вопрос звучит как “Зачем изучать C++ за один семестр?”. Дискуссия идет не о важности и востребованности языка C++, а о качестве освоения языка за очень ограниченное время.
Имея эту сложность в виду, мы построили программу курса таким образом, чтобы сначала показать C++, как удобный высокоуровневый язык программирования, и только потом обсудить некоторые более продвинутые средства языка. Именно поэтому стандартная библиотека C++ обсуждается до обсуждения средств объектно-ориентированного программирования, шаблонов и управления динамической памятью. Такой подход позволяет быстро освоить разработку на C++ на базовом уровне.
При работе в фундаментальной науке могут пригодиться различные технологии, многие из которых не входят в программы курсов физфака. Кроме того, средства разработки программ и языки программирования развиваются настолько стремительно, что к концу вашего обучения в университете наверняка появятся новые технологии, которые будет полезно освоить. Это значит что процесс образования в области программирования должен продолжаться в течение всего периода активности исследователя. Иногда для эффективного решения некоторой задачи имеет смысл освоить новую технологию или даже новый язык программирования. Опыт работы с C++ и python позволит вам иметь широкий взгляд на средства разработки с самого начала.
Курс “Программирование на C++ и python” предполагает нагрузку в две пары в неделю в течение 16 недель. Четверть времени отведена на лекции (8 лекций в семестр), а оставшаяся часть времени посвящена практическими занятиями (1.5 пары в неделю).