Открытые материалы от Computer Science центра
Computer Science Center — это совместная инициатива Computer Science клуба при ПОМИ РАН, компании JetBrains и Школы анализа данных Яндекса.
Центр существует, чтобы дать возможность талантливым студентам и выпускникам развиваться в интересных им направлениях: Computer Science, Data Science или Software Engineering.
В этой части выкладываем записи наших популярных онлайн-курсов на Stepik.
Математика
Введение в математический анализ, Александр Храбров.
Курс знакомит с базовыми понятиями математического анализа: последовательностями, пределами, непрерывностью, производными и интегралами.
Математический анализ: часть 1 и часть 2, Александр Храбров.
Курс расскажет о последовательностях, пределах, непрерывности, производных и интегралах (неопределенных и определенных).
Ликбез по дискретной математике, Александр Омельченко.
Линейная алгебра, комбинаторика, теория графов, дискретная вероятность для студентов IT-специальностей.
Теория вероятностей, Александр Храбров.
Курс знакомит с базовыми понятиями: вероятностным пространством, условной вероятностью, случайными величинами, независимостью, математическим ожиданием и дисперсией. Доказываются закон больших чисел и некоторые версии предельных теорем.
Основы теории графов, Александр Омельченко.
Основные понятия, деревья и циклы, связность, паросочетания, раскраска графов и планарные графы для студентов IT-специальностей.
Основы перечислительной комбинаторики, Александр Омельченко.
Основной упор — на базовых методах и подходах, которые позволяют успешно решать возникающие на практике комбинаторные задачи. Чтобы пройти курс, нужно уверенно владеть курсом школьной математики.
Программирование
Java. Базовый курс, Алексей Владыкин.
Курс для начинающих: компиляция и запуск Java-программ, синтаксис языка, система типов, основы объектно-ориентированного программирования, наиболее важные классы стандартной библиотеки.
Программирование на языке C++: часть 1 и часть 2, Александр Смаль.
Курс рассчитан на студентов, владеющих синтаксисом хотя бы одного из стандартных структурных языков программирования. Особое внимание уделяется обсуждению базовых принципов работы программ и процессу их компиляции. Во второй части — продвинутые возможности языка, шаблоны, ошибки, многопоточность.
Функциональное программирование на Haskell: часть 1 и часть 2, Денис Москвин.
Первая часть курса знакомит с понятийным аппаратом и методами программирования, характерными для функциональных языков. А вторая часть — с новыми типами данных и классами типов, которые упрощают работу с эффектами, и позволяют конструировать и использовать составные эффекты.
Computer Science
Алгоритмы: теория и практика. Методы и Алгоритмы: теория и практика. Структуры данных, Александр Куликов.
В курсе разобраны основные алгоритмические методы: жадные алгоритмы, «разделяй и властвуй», динамическое программирование. А во второй части — структуры данных, которые чаще всего используются на практике: массивы, списки, очереди, стеки, динамические массивы, очереди с приоритетами, системы непересекающихся множеств, хеш-таблицы, сбалансированные деревья.
Теоретическая информатика: сложность вычислений, Александр Шень.
Обзорный курс: разрешающие деревья, схемы из функциональных элементов, пропозиционная логика, переборные задачи, класс PSPACE, ускорение перебора.
Системное программирование
Введение в архитектуру ЭВМ. Элементы операционных систем, Кирилл Кринкин.
В рамках обзорного курса слушатели и слушательницы поймут, как выполняются программы на современных компьютерах с самых азов, начиная от простейших логических схем и микропроцессоров и заканчивая современными многопроцессорными и распределенными системами.
Операционные системы, Михаил Кринкин.
Управление памятью, планирование и многозадачность, средства синхронизации потоков, пространство пользователя и системные вызовы. Курс предполагает базовое знание C или C++.
Основы программирования для Linux, Кирилл Кринкин.
Курс затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.
Записи открытых лекций и видеокурсов на YouTube
Открытые лекции
1. «Что такое операционная система и как она работает», Кирилл Кринкин
2. «LaTeX: краткое введение в качественную типографику», Александр Смаль
3. «Программирование музыки на Sonic Pi», Владимир Красильщик
4. «Введение в язык программирования Go», Марат Хабибуллин
5. «Жадная гипотеза для задачи о надстроке», Александр Куликов
6. «Введение в язык программирования Rust», Алексей Кладов
7. «Введение в статистическое моделирование с помощью языка программирования Stan», Александр Сухочев
8. «Классические и новые задачи комбинаторики», Андрей Михайлович Райгородский
9. «Случайные графы», Андрей Михайлович Райгородский
10. «Вероятность и алгебра в комбинаторике», Андрей Михайлович Райгородский
Видеокурсы
Если не знаете, с чего начать, почитайте материал Яндекс.Академии: мы рассказали ребятам про 10 наших самых популярных видеокурсов.