Открытые материалы от Computer Science центра, часть 1

    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, Кирилл Кринкин.
    Курс затрагивает базовый инструментарий и все основные компоненты: управление процессами, межпроцессные взаимодействия, сетевые возможности.

    Желаем провести время с пользой!
    Образовательные проекты JetBrains
    Компания

    Комментарии 3

      0
      Спасибо. Самое время выучить Haskell.
        +1

        Математика, к сожалению, очень сложно подано, хотя презентуется как введение.

          0
          и обратная связь, мягко говоря, хромает

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое