Как стать автором
Поиск
Написать публикацию
Обновить

Компания Образовательные проекты JetBrains временно не ведёт блог на Хабре

Сначала показывать

Курсы Computer Science клуба, весна 2017

Время на прочтение4 мин
Количество просмотров7K

Computer Science клуб вот уже 10 лет проводит открытые курсы по компьютерным наукам. Большинство лекций стараниями Лекториума записаны на видео и лежат в открытом доступе. В этом семестре выложены уже три новых курса, которые до этого не читались в клубе: «Программирование с зависимыми типами на языке Idris», «Вычисления на GPU. Основные подходы, архитектура, оптимизации», «Методы и системы обработки больших данных».
Читать дальше →

Набор в Санкт-Петербургский академический университет

Время на прочтение3 мин
Количество просмотров12K
Традиционно сообщаем об открытии набора на кафедру математических и информационных технологий.



Академический университет существует с 2008 года. За это время мы успели открыть аспирантуру, магистратуру и бакалавриат (да, именно в таком порядке); cтать Национальным исследовательским университетом; выиграть мегагрант по биоинформатике и еще много всего. В этом посте мы расскажем о том как к нам поступить и том, что нового у нас произошло в течение года.
Читать дальше →

Конкурс Тьюринга студенческих работ по теор. информатике и дискретной математике

Время на прочтение3 мин
Количество просмотров3.8K
В прошлом году в Академическом университете прошел первый конкурс студенческих работ по теоретической информатике и дискретной математике им. Алана Тьюринга. Недавно мы объявили второй конкурс (срок подачи работ 10 мая 2017 года), а в этой статье мы расскажем об итогах первого конкурса.

Читать дальше →

Международная студенческая школа Recent Advances in Algorithms: Санкт-Петербург, 22–26 мая 2017

Время на прочтение1 мин
Количество просмотров3.2K
image

22–26 мая в Санкт-Петербургском отделении Математического института Стеклова РАН пройдёт международная студенческая школа «Recent Advances in Algorithms». Цель школы — познакомить студентов и аспирантов с недавними прорывами в разных областях алгоритмов: от таких классических областей, как потоки в графах и длиннейшие пути в графах, до таких сравнительно недавно возникших областей, как алгоритмы обработки потоковых данных и алгоритмы для многомерных данных. Лекции будут читаться учёными, активно развивающими соответствующие области. Каждый мини-курс начнётся со введения в область и постепенно дойдёт до текущего положения дел в данной области.

К участию приглашаются студенты, аспиранты и молодые исследователи.
Читать дальше →

Поиск кратчайших путей в дорожных сетях: от теории к реализации

Время на прочтение1 мин
Количество просмотров3.8K
image

В ближайшую субботу Виталий Осипов (Технологический институт Карлсруэ) начнёт читать в Computer Science клубе в Санкт-Петербурге курс по алгоритмам поиска кратчайших путей в графах. В ходе курса будут изучаться и реализовываться алгоритмы, используемые миллионами людей в таких сервисах, как Google/Bing/Yandex карты. Как всегда, вход свободный, регистрация не требуется, приглашаются все желающие.

» Страница курса на сайте CS клуба
Первая лекция: суббота, 5 ноября, 17:20
Место: Математический институт Стеклова, Санкт-Петербург, Фонтанка 27, Мраморный зал (второй этаж)

Выпускники онлайн-программы делятся впечатлениями

Время на прочтение3 мин
Количество просмотров13K
Летом завершился первый запуск онлайн-программы по основам программирования от Академического университета и Computer Science Center на платформе Stepik.org.

Обучение на программе платное, длится один учебный год, разделённый на четверти, и включает в себя двенадцать курсов по основам математики и программирования. К первой четверти присоединились 423 человека, а дошли до конца и получили дипломы о профессиональной переподготовке от Академического университета 129 студентов. Подводя итоги, мы задали выпускникам несколько вопросов, и их ответами хотим поделиться.



Подробнее

Stepic.org в Telegram: как мы разрабатывали бота и что из этого получилось

Время на прочтение3 мин
Количество просмотров27K
Зимой 2016 года у нас в Stepic.org возникла идея сделать для наших учащихся персонального помощника, поэтому мы позвали студента СПбАУ РАН Константина Чаркина на стажировку, результатом которой видели Telegram-бота. Это потом всё вышло из под контроля и появился набор стикеров и каналы по курсам… Но обо всём по порядку!


Читать дальше →

Сетевой протокол для резервного копирования данных в сетях с задержками и потерями пакетов

Время на прочтение9 мин
Количество просмотров6.3K
Наиболее распространённый способ обеспечить надежное хранение данных — это периодически создавать их резервные копии. Современные сервисы удаленного резервного копирования позволяют хранить резервные копии на облачном сервере и иметь к ним доступ из любой точки планеты.
Передача данных на расстояния в тысячи километров занимает несколько сотен миллисекунд, а часть пакетов просто не доходит до адресата — теряется по пути. Задержки и потери пакетов губительно сказываются на производительности транспортного протокола TCP, который обычно используется в сети Интернет. К примеру, вы находитесь в Москве и хотите создать резервную копию файла размером 3ГБ. Передача этого файла на сервер, который находится в пределах города, займет 10-15 минут. Теперь, если вы захотите восстановить этот файл, находясь вдали от дома, скажем в Китае, передача этого же файла по сети с задержкой порядка сотен миллисекунд займет уже несколько часов.



В этой статье мы рассмотрим способы оптимизации передачи резервных копий в сети интернет и расскажем о концепции протокола удаленного резервного копирования, который позволит получить прирост производительности при работе в сетях с большими задержками и потерями пакетов. Данная статья основана на исследованиях, выполненных в рамках магистерской работы студента Академического университета РАН под руководством инженеров компании Acronis.
Читать дальше →

Две международные конференции в Санкт-Петербурге в июне: Experimental Algorithms и Computer Science in Russia

Время на прочтение1 мин
Количество просмотров2.2K
Летом в Математическом институте Стеклова (ПОМИ) пройдут две международные конференции: 15th International Symposium on Experimental Algorithms (SEA 2016, 5–8 июня) и 11th International Computer Science Symposium in Russia (CSR 2016, 9–13 июня). Программы конференций уже доступны на страницах конференций. Будет куча интересных докладов. Ниже приведён список приглашённых докладов. Для местных участников установлен минимальный орг. взнос. Если вы хотите принять участие, но оплатить орг. взнос у вас возможности нет, напишите мне — мы что-нибудь придумаем.
Читать дальше →

Программирование на Python — курс для желающих узнать о нём больше или изучить ещё один язык программирования

Время на прочтение3 мин
Количество просмотров126K
"The joy of coding Python should be in seeing short, concise, readable classes that express a lot of action in a small amount of clear code — not in reams of trivial code that bores the reader to death."
Guido van Rossum

Python — язык программирования, на котором приятно писать и который приятно читать. Мы предлагаем тринадцать лекций осеннего курса CS центра, чтобы посмотреть вглубь языка и попробовать понять, как пользоваться всеми его возможностями. Лекции читает Сергей Лебедев, разработчик в компании JetBrains и преподаватель в Computer Science Center.

Мало освоить синтаксис, чтобы узнать язык программирования: нужно осознать идиомы языка и научиться их применять. В течение курса Сергей знакомит слушателей с идиомами и возможностями языка Python.

Фотография сделана осенью 2014 года в Страсбурге, за две недели до начала первого прочтения этого курса.
Открыть лекции курса

Шаблон проектирования View в языках с зависимыми типами

Время на прочтение11 мин
Количество просмотров10K


Шаблоны проектирования! Впервые я узнал о них на курсе Software Design, когда учился в магистратуре Академического университета. Мы писали различные программы на Java с использованием шаблонов. С тех пор это словосочетание ассоциируется у меня с чем-то таким ООПшным. Однако, разбираясь с языком Agda, я наткнулся на статью The Power Of Pi, которая рассказывает про шаблоны проектирования в языках с зависимыми типами!

В этом посте я хочу рассказать об одном из этих шаблонов, который называется View. С его помощью можно реализовывать пользовательские правила pattern matching'a. Если вам интересно, что это за шаблон, что такое пользовательский pattern matching, каковы особенности pattern matching'а в языках с зависимыми типами, и вы знакомы с каким-нибудь функциональным языком программирования со статической типизацией (Haskell, Scala, Ocaml, F#) — добро пожаловать под кат!
Читать дальше →

Конкурс студенческих работ по теоретической информатике и дискретной математике им. Алана Тьюринга

Время на прочтение3 мин
Количество просмотров5.2K

Решили финансово поддержать студентов, которые занимаются теоретическими исследованиями, и организовали конкурс студенческих работ.

Цель конкурса: поощрение авторов лучших студенческих научных работ по теоретической информатике и дискретной математике, стимулирование студентов к научной деятельности.

Организаторы конкурса: Санкт-Петербургский Академический университет, ПОМИ РАН, Computer Science Club.

Участниками конкурса могут стать студенты очной формы обучения (специалисты, бакалавры и магистры) любых российских и зарубежных вузов, имеющие этот статус на 1 апреля года проведения конкурса, свободно владеющие русским языком.

На конкурс принимаются научные работы по теоретической информатике и дискретной математике, написанные на математическом уровне строгости на русском или английском языке. Не требуется, чтобы поданная на конкурс работа была опубликована.
Читать дальше →

Как мы использовали Git, CI и code review в учебном процессе

Время на прочтение4 мин
Количество просмотров13K
В Академическом университете постоянно внедряются новые подходы к обучению. Программы, задания и сам процесс меняются таким образом, чтобы предоставить студенту наиболее полные и актуальные знания, а преподавателю – возможность попробовать более эффективные методы. Так и в прошлом семестре вместо того, чтобы принимать ДЗ по Java "на А4 и по ГОСТу", мы с bintree решили сделать все "как у больших дядей": использовать Git, CI и code review. В этой заметке я поделюсь с вами возникшими проблемами, их решениями, плюсами-минусами такого подхода, а также некоторыми соображениями на будущее.
Читать дальше →

Компоненты связности в динамическом графе за один проход

Время на прочтение8 мин
Количество просмотров20K

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

Большой мир генерирует большие данные. Вот и на нашу голову свалился большой граф. Настолько большой, что мы можем удержать в памяти его вершины, но не ребра. Кроме того, относительно графа приходят обновления – какое ребро добавить, какое удалить. Можно сказать, что каждое такое обновление мы видим в первый и последний раз. В таких условиях необходимо найти компоненты связности.

Поиск в глубину/ширину здесь не пройдут просто потому, что весь граф в памяти не удержать. Система непересекающихся множеств могла бы сильно помочь, если бы ребра в графе только добавлялись. Что же делать в общем случае?

Кто виноват и что делать

Ближайшие события

Онлайн-курс «Введение в теоретическую информатику» от Александра Ханьевича Шеня

Время на прочтение1 мин
Количество просмотров16K
Категорически приглашаем всех желающих на онлайн-курс «Введение в теоретическую информатику» Александра Ханьевича Шеня, подготовленный совместно с Computer Science центром и платформой Stepic. Курс начнётся 24 февраля.



Александр Ханьевич — автор многих популярных книг по математике и программированию. Многие его книги и брошюры можно бесплатно скачать с сайта издательства МЦНМО: например, «Программирование: теоремы и задачи» (Шень, 2004), «Лекции по математической логике и теории алгоритмов» (Верещагин, Шень, 2012), «Классические и квантовые вычисления» (Китаев, Шень, Вялый, 1999). Под его редакцией вышел перевод первого издания классического учебника «Алгоритмы: построение и анализ» (Кормен, Лейзерсон, Ривеста, 1990), а также недавнего учебника «Алгоритмы» (Дасгупта, Пападимитриу, Вазирани, 2006).

В общем, у Александра Ханьевича огромный опыт чтения лекций как школьникам, так и студентам и аспирантам. Рассказывает он очень увлекательно и понятно. В онлайн-курсе он даст обзор различных направлений Theoretical Computer Science: криптография, инварианты циклов, вычислимость, переборные задачи, игры, коды, интерактивные доказательства и многое другое (всего в курсе восемнадцать глав!). В курсе будет много задач — как простых (закрепляющих изученный материал), так и более сложных, над которыми придётся поломать голову и тем, кто уже был знаком с теорией.

Будем рады видеть вас среди слушателей онлайн-курса!
stepic.org/104
Читать дальше →

Набор в Санкт-Петербургский академический университет

Время на прочтение2 мин
Количество просмотров16K
Традиционно сообщаем об открытии набора на кафедру математических и информационных технологий. Мы довольно много писали о нашей кафедре в этом блоге, поэтому в этом посте я напишу обо всём тезисно.

Онлайн-курсы


Начну с конца: если вы не заканчиваете школу или бакалавриат в этом году, то вы всё равно можете поучиться в Академическом университете благодаря нашим (совместно с Computer Science центром) онлайн курсам! (Кстати, скоро появятся курсы по физике от наших коллег, следите за новостями!)

Бакалавриат


Более молодых читателей, которые в этом году заканчивают школу, мы приглашаем в наш бакалавриат. Он очень молодой, существует всего два года, и второй год подряд нам удаётся набрать самых сильных абитуриентов. С нашими замечательными второкурсниками из первого набора мы записали небольшой мотивирующий видеоролик о нашем бакалавриате.



Подробности о поступлении в бакалавриат

Магистратура


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

Открытая лекция: задача выполнимости булевых формул

Время на прочтение1 мин
Количество просмотров8.7K
image
(Скриншот из презентации: slideplayer.com/slide/3238789)


Приглашаем всех на открытую лекцию Computer Science центра, посвященную задаче выполнимости булевых формул — одной из самых известных и важных алгоритмических задач. Лекция пройдёт в рамках встречи со слушателями онлайн-курса «Алгоритмы: теория и практика. Методы». Время и место проведения: 25 декабря, 19:00, БЦ Таймс (г. Санкт-Петербург, ул. Кантемировская 2А, 4 этаж). Участие бесплатное, но требуется регистрация: goo.gl/IiNvV8

Задача выполнимости — каноническая трудная задача, по которой проводится огромное количество исследований: как практических, так и теоретических. В частности, этой задаче посвящена ежегодная международная конференция. Каждый год проходят соревнования программ для данной задачи (так называемых сат-солверов). Такие программы активно используются во многих прикладных областях. Буквально несколько месяцев назад Дональд Кнут дописал том 4B монографии «Искусство программирования», треть которого посвящена задаче выполнимости.

Читать дальше →

Алгоритмы: теория и практика. Методы

Время на прочтение2 мин
Количество просмотров34K
image

В ноябре мы запускаем онлайн-курс «Алгоритмы: теория и практика. Методы» от Computer Science центра. Курс бесплатный, приглашаются все желающие. В курсе будут подробно разобраны базовые алгоритмические методы: жадные алгоритмы, метод «разделяй и властвуй», динамическое программирование. Для всех алгоритмов будут математически строго доказаны корректность и оценки на время работы. Мы постарались изложить материал так, чтобы были понятны и сами алгоритмы, и то, как можно было бы догадаться до их основных идей. Помимо теоретических основ, будут рассказаны тонкости реализации алгоритмов на языках программирования C++, Java и Python. В частности, будет рассказано, какие есть общие практики написания кода, позволяющие минимизировать вероятность ошибки, как писать и тестировать код, где стоит использовать стандартные методы, а не изобретать колесо.

Мы тщательно подобрали задачи для закрепления материала. Большинство алгоритмов, которые вы узнаете, вам нужно будет запрограммировать. Это лучший способ убедиться, что вы разобрались во всех деталях. Решая такие задачи, вы получите ценный опыт написания и отладки эффективных и надёжных программ. Задачи на программирование помогут вам почувствовать разницу между плохим (медленным) и хорошим (быстрым) алгоритмом. Вас также ждут тесты (где нужно выбрать правильные ответы из предложенных) и теоретические задачи (в них нужно доказать математическое утверждение). Наконец, в курсе есть также задачи повышенной сложности — менее стандартные задачи, которые не являются обязательными для прохождения курса. Получить удовольствие от решения этих задач смогут и те, кто уже знаком с базовыми алгоритмами.
Читать дальше →

Осенние онлайн-курсы от Computer Science Center и Академического университета

Время на прочтение3 мин
Количество просмотров4.1K

Этой осенью СПб АУ РАН и CS центр предлагают несколько новых онлайн-курсов на разные темы: от теории графов до программирования на языке Haskell, и перезапускают некоторые из прочитанных ранее. Год назад состоялся первый запуск онлайн-курсов CS центра. Сначала появились курсы по программированию, а весной их дополнили курсы по математике, подготовленные вместе с Академическим университетом. Все онлайн-курсы разработаны на платформе Stepic.org.


  • Java. Базовый курс (А. А. Владыкин)
  • Алгоритмы: теория и практика. Методы (А. С. Куликов)
  • Введение в архитектуру ЭВМ. Элементы операционных систем (К. В. Кринкин)
  • Введение в математический анализ (А. И. Храбров)
  • Ликбез по дискретной математике (А. В. Омельченко)
  • Основы перечислительной комбинаторики (А. В. Омельченко)
  • Основы теории графов (А. В. Омельченко)
  • Погружение в СУБД (Д. В. Барашев)
  • Программирование на языке C++ (А. В. Смаль)
  • Функциональное программирование на языке Haskell (Д. Н. Москвин)

Часть курсов входит в годовую онлайн-программу по основам программирования.
Подробнее о курсах

Осенние онлайн-курсы от Computer Science Center и Академического университета

Время на прочтение3 мин
Количество просмотров30K

Этой осенью СПб АУ РАН и CS центр предлагают несколько новых бесплатных онлайн-курсов на разные темы: от теории графов до программирования на языке Haskell, и перезапускают некоторые из прочитанных ранее. Год назад состоялся первый запуск онлайн-курсов CS центра. Сначала появились курсы по программированию, а весной их дополнили курсы по математике, подготовленные вместе с Академическим университетом. Все онлайн-курсы разработаны на платформе Stepic.org.


  • Java. Базовый курс (А. А. Владыкин)
  • Алгоритмы: теория и практика. Методы (А. С. Куликов)
  • Введение в архитектуру ЭВМ. Элементы операционных систем (К. В. Кринкин)
  • Введение в математический анализ (А. И. Храбров)
  • Ликбез по дискретной математике (А. В. Омельченко)
  • Основы перечислительной комбинаторики (А. В. Омельченко)
  • Основы теории графов (А. В. Омельченко)
  • Погружение в СУБД (Д. В. Барашев)
  • Программирование на языке C++ (А. В. Смаль)
  • Функциональное программирование на языке Haskell (Д. Н. Москвин)

Часть курсов входит в годовую онлайн-программу по основам программирования.
Подробнее о курсах