Двухгодичный курс направлен на освоение студентами основ информатики и программирования в объеме, необходимом для дальнейшей учебной и научной работы на физической факультете. В рамках курса обсуждаются разработка и анализ алгоритмов, работа со структурами данных, программирование на языках C, C++ и Python, работа с системами компьютерной алгебры, набор и верстка научных текстов в системе LaTeX. Дисциплина обеспечивает базовую подготовку студентов в области использования вычислительной техники применительно к потребностям специалиста-физика.
Вводятся понятия системы счисления (в частности, двоичной и шестнадцатеричной систем счисления), представления целых чисел в памяти компьютера, представления чисел с плавающей точкой в памяти компьютера, машинной арифметики, точности вычислений. Вводятся понятие языка программирования, языка программирования Си, компиляции, типов данных, операторов, функций, указателей. Вводятся понятия численных методов поиска корней алгебраических уравнений, численного дифференцирования, численного интегрирования, устойчивости численной схемы. Вводятся понятия алгоритма, сложности алгоритма, сортировки, поиска. Вводятся понятия структур данных, односвязных списков, двусвязных списков. Ввести понятия языка программирования Си++, шаблонов, потоков, классов, дружественных функций, наследования, виртуальных методов, абстрактных базовых классов. Вводятся понятия системы компьютерного моделирования, математического моделирования, науки о данных, постановки задачи, отладки программы, анализа и представления результатов. Вводятся понятия издательской системы LaTeX, макетирования и верстки страниц, набора и верстки текста с формулами. Ввести понятия языка программирования Python, библиотеки Tkinter, создания графического интерфейса с использованием библиотеки Tkinter, визуальных компонент, элементов управления, событий, обработки событий, многопоточного программирования.