Разработка на C++, Java и Haskell

Программа позволит получить навыки императивного и функционального программирования. Будет рассмотрено три языка программирования, широко используемых при написании масштабных высокопроизводительных проектов: С++, Java и Haskell. Освоив эти языки, вы научитесь писать эффективный и надёжный код. Кроме того, эти знания и навыки помогут вам при изучении других языков программирования, многие из которых используют схожие идеи и комбинируют императивный и функциональный подходы.

Для кого

Программа не знакомит с написанием кода с нуля и рассчитана на слушателей, уже имеющих минимальный опыт программирования (ввод-вывод, циклы). Если вы никогда до этого не программировали, рекомендуем пройти вводные онлайн курсы по Python и C++.

Вступительный экзамен

Для поступления на программу необходимо сдать вступительный экзамен, продемонстрировав, что вы имеете базовые навыки программирования и помните математику уровня первого курса технических специальностей.

Записаться на экзамен

Курсы программы

Java. Базовый курс
  • Введение в Java
  • Базовый синтаксис Java
  • Объекты, классы и пакеты в Java
  • Обработка ошибок, исключения, отладка
  • Ввод-вывод, доступ к файловой системе
  • Generics. Collections. Streams
Программирование на языке C++
  • Введение в язык C++
  • Как выполняются программы на C++
  • Структуры и классы
  • Объектно-ориентированное программирование
  • Дополнительные возможности C++
  • Шаблоны
Функциональное програм-мирование на языке Haskell
  • Введение
  • Основы программирования
  • Списки
  • Типы данных
  • Монады
Программирование на языке C++ 2
  • Продвинутые возможности C++
  • Нововведения стандартов 2011 и 2014 годов
  • Стандартная библиотека шаблонов
  • Обработка ошибок
  • Многопоточность, библиотеки и метапрограммирование

Преподаватели

Алексей Владыкин

Java-разработчик в компании OpenWay, преподаватель Computer Science центра.

Денис Москвин

Кандидат физико-математических наук. Преподаватель Computer Science центра. Один из основателей и координаторов Санкт-Петербургской группы пользователей Haskell (SPbHUG).

Александр Смаль

Научный сотрудник лаборатории математической логики ПОМИ РАН. Преподаватель Академического университета и Computer Science центра.

Отзывы выпускников

Онлайн-программа — это очень хорошая инициатива, которая совмещает в себе плюсы удаленного образования и очного образования, в том смысле, что в онлайн-программе появляется возможность напрямую контактировать с кураторами по поводу заданий или материала в целом, чего зачастую не хватает при прохождении открытых онлайн-курсов. Особенно хочется отметить пользу получаемых комментариев по поводу code review, потому что очень полезно перенимать практики и эффективные решения, которые используют профессионалы, пишущие на том или ином языке программирования. Спасибо команде CSC за возможность поучиться в таком формате, было сложно, но интересно.

Иван Долгов

Программа в целом очень понравилась. Хорошая обратная связь, ответы на все вопросы. Буду с нетерпением ждать продолжения.

Ася Мигунова

Я остался доволен пройденным обучением. Ценность данной программы в том, что всегда можно было спрашивать абсолютно любые вопросы, относящиеся не только к решаемым задачам, но и по программированию в целом. И всегда быстро получать развёрнутые ответы, помогающие разъяснить непонятную ситуацию в процессе обучения. Очень полезным оказалось code review. Здесь давались рекомендации по стилю кодирования и улучшению написанного кода. Я благодарен CSC за возможность поучаствовать в программе

Константин Вишняков

Хорошая программа для закрепления основ ООП и функционального программирования.

Сергей Беломестных

Отличный курс для тех, кто хочет детально разобраться в C++ и начать использовать его в реальных проектах. Знания о Haskell пригодятся при программировании на других языках программирования, например, JS или Python

Руслан Мусаев

Вступительный экзамен

Для поступления на программу необходимо сдать вступительный экзамен, продемонстрировав, что вы имеете базовые навыки программирования и помните математику уровня первого курса технических специальностей.

Записаться на экзамен