Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.

Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.

В этой части выкладываем записи наших популярных онлайн-курсов на Stepik и напоминаем о том, что до 11 апреля открыт новый набор в CS центр в Санкт-Петербурге и Новосибирске.




Математика


Введение в математический анализ, Александр Храбров.
Курс знакомит с базовыми понятиями математического анализа: последовательностями, пределами, непрерывностью, производными и интегралами.

Математический анализ: часть 1 и часть 2, Александр Храбров.
Курс расскажет о последовательностях, пределах, непрерывности, производных и интегралах (неопределенных и определенных).

Ликбез по дискретной математике, Александр Омельченко.
Линейная алгебра, комбинаторика, теория графов, дискретная вероятность для студентов IT-специальностей.

Теория вероятностей, Александр Храбров.
Курс знакомит с базовыми понятиями: вероятностным пространством, условной вероятностью, случайными величинами, независимостью, математическим ожиданием и дисперсией. Доказываются закон больших чисел и некоторые версии предельных теорем.

Основы теории графов, Александр Омельченко.
Основные понятия, деревья и циклы, связность, паросочетания, раскраска графов и планарные графы для студентов IT-специальностей.

Основы перечислительной комбинаторики, Александр Омельченко.
Основной упор — на базовых методах и подходах, которые позволяют успешно решать возникающие на практике комбинаторные задачи. Чтобы пройти курс, нужно уверенно владеть курсом школьной математики.

Программирование


Java. Базовый курс, Алексей Владыкин.
Курс для начинающих: компиляция и запуск Java-программ, синтаксис языка, система типов, основы объектно-ориентированного программирования, наиболее важные классы стандартной библиотеки.

Программирование на языке C++: часть 1 и часть 2, Александр Смаль.
Курс рассчитан на студентов, владеющих синтаксисом хотя бы одного из стандартных структурных языков программирования. Особое внимание уделяется обсуждению базовых принципов работы программ и процессу их компиляции. Во второй части — продвинутые возможности языка, шаблоны, ошибки, многопоточность.

Функциональное программирование на Haskell: часть 1 и часть 2, Денис Москвин.
Первая часть курса знакомит с понятийным аппаратом и методами программирования, характерными для функциональных языков. А вторая часть — с новыми типами данных и классами типов, которые упрощают работу с эффектами, и позволяют конструировать и использовать составные эффекты.

Computer Science


Алгоритмы: теория и практика. Методы и Алгоритмы: теория и практика. Структуры данных, Александр Куликов.
В курсе разобраны основные алгоритмические методы: жадные алгоритмы, «разделяй и властвуй», динамическое программирование. А во второй части — структуры данных, которые чаще всего используются на практике: массивы, списки, очереди, стеки, динамические массивы, очереди с приоритетами, системы непересекающихся множеств, хеш-таблицы, сбалансированные деревья.

Теоретическая информатика: сложность вычислений, Александр Шень.
Обзорный курс: разрешающие деревья, схемы из функциональных элементов, пропозиционная логика, переборные задачи, класс PSPACE, ускорение перебора.

Системное программирование


Введение в архитектуру ЭВМ. Элементы операционных систем, Кирилл Кринкин.
В рамках обзорного курса слушатели и слушательницы поймут, как выполняются программы на современных компьютерах с самых азов, начиная от простейших логических схем и микропроцессоров и заканчивая современными многопроцессорными и распределенными системами.

Операционные системы, Михаил Кринкин.
Управление памятью, планирование и многозадачность, средства синхронизации потоков, пространство пользователя и системные вызовы. Курс предполагает базовое знание C или C++.

Основы программирования для Linux, Кирилл Кринкин.
Курс затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.

Желаем провести время с пользой!