Computer Science Center
2.42K subscribers
131 photos
1 file
244 links
Download Telegram
14 ноября CS центр в третий раз запускает онлайн-программы «Алгоритмы и эффективные вычисления», «Математика для разработчиков» и «Разработка на C++, Java и Haskell».

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

https://habr.com/ru/company/JetBrains-education/blog/472054/
1 ноября в Санкт-Петербурге пройдёт открытая лекция Антона Подкопаева Weak memory models. Приглашаем в БЦ «Таймс» — ул. Кантемировская д. 2, начало в 19:00.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1098222/

Антон — кандидат физико-математических наук, руководитель группы слабых моделей памяти в лаборатории языковых инструментов JetBrains Research, доцент департамента информатики НИУ ВШЭ (СПб) и постдок в MPI-SWS (Германия). Научные интересы: формальная верификация, сертификационный и функциональный стили программирования, семантика языков программирования.

На лекции речь пойдёт о моделях памяти в целом. Лектор расскажет, почему и как обещающая модель памяти решает существующие проблемы моделей памяти языков программирования, и затронет доказательства корректности компиляции из обещающей модели в модели x86-TSO, Power и ARMv8.3 с использованием промежуточной модели памяти (IMM).

Современные компиляторы и процессоры являются оптимизирующими. Из-за этого поведение многопоточных программ не получится полностью описать моделью памяти последовательной консистентности, т.е. как поочередное исполнение потоков на одном процессоре или ядре.

Существуют модели памяти для процессорных архитектур (x86, Power, ARM) и для языков программирования C/C++11, Java. Модели памяти C/C++ и Java являются частью стандартов языков, и у них есть недостатки. Недавно представленная обещающая модель памяти должна решить эти проблемы. Чтобы эта модель могла стать заменой моделей памяти C/C++ и Java, нужно показать наличие эффективной схемы компиляции из обещающей модели в модели памяти целевых процессорных архитектур. 
Студенты CS центра, Никита Одиноких и Ирина Ахмадеева, разработали приложение, которое распознаёт символы на бирках на одежде, и защитили этот проект на весенней практике.

Ребята рассказали, как выбрали тему, как им помогал руководитель, Дмитрий Кузнецов из Яндекс.Музыки, как они самостоятельно составляли базу данных бирок, и поделились планами на будущее.

https://academy.yandex.ru/posts/kak-eto-stirat-proekt-po-raspoznavaniyu-birok-na-odezhde-ot-studentov-cs-tsentra
30 октября в 18:00 в ИТМО выступит Хади Харири, разработчик, технический евангелист и руководитель Developer Advocacy в JetBrains, ведущий подкаста Talking Kotlin.

На встрече Хади прочитает две лекции на английском языке:

— «Устранение барьеров на пути к продуктивности»
— «Kotlin для функционального программирования»

Место: главный корпус ИТМО, Кронверкский пр. 49, ауд. 285.

Регистрация: https://vk.cc/9UFuyH
Мы выложили видео со второй части курса по C ++. В CS центре его читает Валерий Михайлович Лесин

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

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

Приятного просмотра!

https://habr.com/ru/company/JetBrains-education/blog/473484/
8 ноября в Санкт-Петербурге пройдёт открытая лекция Даниила Березуна о метавычислениях. Приглашаем в БЦ «Таймс» — ул. Кантемировская 2, начало в 19:00.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1105087/

Даниил — кандидат физико-математических наук, руководитель группы метавычислений лаборатории языковых инструментов JetBrains Research. Научные интересы: анализ, разработка и реализация языков программирования, метапрограммирование и метавычисления, семантика языков программирования.

На лекции речь пойдёт о метавычислениях — области информатики, занимающейся проектированием мета-программ, т.е. программ, манипулирующих другими программами как данными, в том числе, порождая последние как результат своей работы. Эта область тесно связана с программными оптимизациями и семантиками языков программирования и с автоматической генерацией программ.

Лекция вводная. На ней расскажут про базовые методы и понятия области: программная специализация и суперкомпиляция, их применение и текущие актуальные задачи. 
Приглашаем на открытую лекцию Кирилла Смирнова «Почему программистам [не] нужна математика» в Санкт-Петербурге. Она пройдёт 11 ноября в 19 часов в БЦ «Таймс». Адрес: Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1106385/

Кирилл — ведущий учёный лаборатории машинного обучения и организации информации JetBrains Research. На лекции он разберёт историю одной классической задачи, её различные решения и применения в индустрии. На этом примере слушатели убедятся в том, что для «обычного» программирования абстрактная теория не нужна. Однако затем увидят, каким образом знание элементарной математики вместе с творческой интуицией упрощает жизнь программисту.

Уровень доклада рассчитан на старшеклассников и студентов младших курсов вузов. Слушатели откроют для себя красивейшую классическую задачу, узнают, какие абстрактные идеи стоят за каждым решением, а также научатся отвечать на вопрос: «Почему мне как будущему программисту [не] нужна математика».

Какие знания пригодятся: массив, симметрия и поворот плоскости, наибольший общий делитель. Полезно что-то знать о группах и матрицах, но не обязательно. 
Напоминаем, что 14 ноября начнётся обучение на полугодовых онлайн-программах по направлениям

— Алгоритмы и эффективные вычисления,
— Математика для разработчиков,
— Разработка на C++, Java и Haskell.

Что ждёт студентов:

— Курсы от опытных разработчиков и учёных.
— Задачи, чтобы закрепить изученный материал.
— Code review. Преподаватели оценивают код на корректность, эффективность и поддерживаемость.
— Теоретические задачи на доказательство с проверкой от преподавателей.
— Персональная поддержка. Ассистенты и преподаватели помогут разобраться с материалом, а кураторы будут следить за успеваемостью.

Набор на программу идёт по результатам вступительных испытаний: сначала мы предложим пройти первый модуль одного из курсов, чтобы вы познакомились с материалом, форматом и оценили нагрузку. Вторым этапом будет экзамен по профильному предмету. Дедлайн — 10 ноября.

Стоимость программы — 20 000 рублей. Принять участие во вступительных испытаниях, прочитать отзывы выпускников и узнать больше можно на сайте: https://code.stepik.org/ 
Приглашаем на открытую лекцию Екатерины Носковой «Вывод демографических историй популяций из геномных данных». Она пройдёт 18 ноября в 19 часов в БЦ «Таймс» в Санкт-Петербурге. Адрес: Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1111949/#register

Екатерина — сотрудница лаборатории компьютерных технологий университета ИТМО, исследователь группы «Проблемы оптимизации в программной инженерии» JetBrains Research. Научные интересы: биоинформатика, популяционная генетика, демографические истории, задачи оптимизации.

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

Демографическая история популяций включает в себя численность популяций, темпы миграций и время разделения, а геномы особей содержат информацию о прошлом, поэтому демографические истории выводят из недавно полученной генетической информации отдельных особей.
22 ноября в 19:00 в Санкт-Петербурге пройдёт лекция Алексея Сергушичева «Соединяем точки: использование графов для интерпретации биологических данных». Адрес: БЦ «Таймс», Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1117265/#register

Алексей — кандидат технических наук, руководитель группы по биоинформатике в лаборатории компьютерных технологий Университета ИТМО и JetBrains Research. Научная деятельность Алексея посвящена разработке эффективных вычислительных методов и решению сложных алгоритмических задач, а также применению этих методов и алгоритмов в самых актуальных областях биологии.

Генерация больших объемов экспериментальных данных стала нормой в современной биологии, но встал вопрос, как эти данные интерпретировать, чтобы делать биологические выводы. Один из подходов к проблеме — использование графа биологических взаимодействий. Для него можно сформулировать так называемую задачу поиска активного модуля: найти в большом графе всех биологически возможных взаимодействий небольшой связный подграф, специфичный к биологическому эксперименту.

Лектор рассмотрит несколько вариантов формулировки этой задачи и подходы к её решению, в том числе на основе сведения к задаче целочисленного линейного программирования и на основе алгоритма Метрополиса-Гастингса. 
Приглашаем на открытую лекцию Артёма и Антона Филатовых «Введение в алгоритмы одновременной локализации и построения карты (SLAM)». Она пройдёт 25 ноября в 19:00 в БЦ «Таймс» в Санкт-Петербурге. Адрес: Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1120066/#register

Артём и Антон — программисты-исследователи научно-исследовательского и образовательного центра «ДжетБрейнс», ассистенты кафедры МОЭВМ в СПБГЭТУ (ЛЭТИ).

Среди задач, которые уже решают роботы, спикеры выделяют задачу автономного перемещения по неизвестной местности. Когда движущийся робот оказывается в неизвестном окружении, ему нужно построить карту и определить на ней своё положение, опираясь на данные сенсоров, установленных на роботе. Такая задача называется SLAM (Simultaneous Localization and Mapping).

На лекции Артём и Антон рассмотрят большую часть современных алгоритмов, которые решают задачу SLAM, расскажут про решённые и нерешённые вопросы в рамках этой задачи, а также покажут решение такой задачи на практике. Правда, в симуляторе :) 
Раз в два года в CS центре Илья Кацев читает курс по теории игр. В этот раз мы записали его на видео и делимся с вами: https://compscicenter.ru/courses/game-theory/2019-spring/classes/4420/

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

— Какой результат можно достигнуть при взаимодействии агентов, каждый из которых действует рационально и стремится к своей цели?
— Что изменится, если такая ситуация повторяется много раз?
— Какие правила игры надо установить, чтобы результат этой игры был оптимальным в каком-то смысле?
— Какие существуют принципы оптимальности, формализующие идеи справедливости? Как можно честно разделить прибыль, учитывая требования групп участников?
Приходите на открытую лекцию Константина Чайки «Duckietown и AIDO». Она пройдёт 29 ноября в 19:00 в Санкт-Петербурге. Адрес: БЦ Таймс, Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1122578/#register

Константин Чайка — аспирант кафедры МО ЭВМ СПбГЭТУ «ЛЭТИ», исследователь в лаборатории алгоритмов мобильных роботов JetBrains Research, автор онлайн-курсов на Stepik.

На лекции вы узнаете:
— как внести вклад в развитие автономных транспортных средств, не покупая Toyota Prius,
— что такое Duckietown и как в нём научиться ездить по правилам всего с одной камерой и одноплатным компьютером,
— как принять участие в олимпиаде по автономным транспортным средствам, не выходя из дома, и причём тут уточки?
Зимняя школа для старшеклассниц и старшеклассников, студенток и студентов начальных курсов вузов от JetBrains Research и MIT. Подавайте заявки или расскажите младшим знакомым.

JetBrains Research и MIT (Массачусетский технологический институт) приглашают старшеклассников и студентов начальных курсов принять участие с 9 по 20 января 2020 в Зимней школе «Winter mini-degree program in STEM».

Целью школы является приобретение участниками навыков разработки в области STEM (science, technology, engineering, and mathematics) и робототехники. Обучение начнётся с теоретических занятий, которые плавно перейдут в интенсивную разработку небольшого индивидуального или командного проекта.

Подробности и регистрация: https://research.jetbrains.org/ru/stem2020
В CS центре стартует традиционное новогоднее соревнование. Приглашаем поучаствовать в новой игре: advent.compscicenter.ru

Преподаватели и организаторы CS центра приготовили интересные задачи по математике и программированию. Почти каждый день с 1 по 31 декабря они будут появляться на сайте. Чтобы победить, решайте задачи раньше всех, набирайте как можно больше баллов и хорошенько повеселитесь вместе с нами в процессе!

Объявим победителей и расскажем про призы 31 декабря на страничке соревнования.

Регистрируйтесь уже сейчас и внимательно читайте правила перед началом игры. Участвуйте сами и расскажите друзьям: соревноваться между собой тоже интересно :)
Приходите на открытую лекцию Екатерины Вербицкой «Реляционное программирование». Она пройдёт 13 декабря в 19:00 в БЦ «Таймс» в Санкт-Петербурге. Адрес: Кантемировская 2А, 2 этаж, ауд. 204.

Пожалуйста, зарегистрируйтесь: https://comscicenter.timepad.ru/event/1134289/#register

Екатерина Вербицкая — аспирантка матмеха СПбГУ по информатике и исследователь в лаборатории языковых инструментов JetBrains.

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

Слушателям желательно иметь представление о функциональных языках программирования.
Публикуем видео и слайды с открытой лекции «Как выступить с докладом по научной работе». Лектор — Марк Заславский, кандидат технических наук, преподаватель ЛЭТИ и ВШЭ, координатор образовательных проектов в лаборатории мобильных роботов JetBrains Research.

Приятного просмотра!


https://compscicenter.ru/videos/scientific-presentation/
7 декабря в Computer Science клубе стартует курс Александра Игоревича Храброва «Теоретико-числовые алгоритмы и криптография». Преподаватель расскажет о простейших криптосистемах, проверке чисел на простоту, дискретном логарифмировании, электронных протоколах для популярных задач, факторизации целых чисел и других темах.

Место встречи: ПОМИ, набережная Фонтанки 27, мраморный зал. Занятия проходят по выходным. Вход свободный, чтобы записаться, зарегистрируйтесь на сайте клуба.

Программа: https://compsciclub.ru/courses/numbertheory-algo/2019-autumn/about/
Мы начинаем серию рассказов о том, чем сейчас занимаются выпускники и выпускницы центра.

Даша Родионова поступила в CS центр в 2015 году, а закончила в 2018. Сейчас разрабатывает инструменты понимания естественного языка в компании Huawei. В свободное время участвует в соревнованиях на kaggle и в исследованиях в области компьютерной лингвистики.

«CS центр стал для меня не только высшей школой, где я научилась применять современные практики в программировании и анализе данных. Здесь я впервые встретилась с людьми, близкими по работе и по духу. Благодаря им в центре складывается атмосфера, в которой дружба сочетается с продуктивной работой. Так что CS центр дал мне настоящую путёвку в жизнь и стал вторым домом.»

Мы попросили Дашу подробнее рассказать о какой-нибудь из задач компьютерной лингвистики. В статье на Хабре читайте про транслитераторы: https://habr.com/ru/company/JetBrains-education/blog/479542/
Публикуем видео и слайды с открытой лекции «Профессия тестировщик ПО». Анастасия Заречнева специализируется на тестировании web и руководит отделом тестирования.

На вводной лекции она рассказывает, кто такой тестировщик, чем он занимается и что важно, чтобы быть хорошим QA-инженером.

Приятного просмотра!

https://compscicenter.ru/videos/about-qa-professionals/
Весной у студентов CS центра была возможность узнать больше про язык программирования Rust в рамках курса Алексея Кладова — участника dev-tools команды языка, разработчика rust-analyzer в компании Ferrous Systems, автора и в прошлом разработчика плагина IntelliJ Rust.

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

У Rust отличная документация: можно скачать с официального сайта книгу, прочитать и узнать язык. Чтобы не повторять книгу и внести что-то уникальное, курс построен на сравнении Rust c другими языками программирования. По списку тем курс стандартный, разница в фокусе. Здесь сначала рассматривают, как что-то работает в Rust, а потом — как в других языках программирования.

Большая часть курса — практика. Студентам предлагались регулярные домашние задания, которые в итоге складывались в один проект. За три месяца они написали рейтрейсер — программу, которая рисует трёхмерную сцену на экране. Для сдачи и проверки заданий использовали систему контроля версий, решения отправляли в Gerrit. У каждого студента был свой репозиторий. Один коммит — одно задание со своим строгим дедлайном. По мнению Алексея дедлайны — большая помощь студентам: им не надо думать ни о каком тайм-менеджменте — это сделал преподаватель.

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

Когда будете смотреть видеозаписи лекций, не забудьте закрепить теорию практикой: напишите рейтрейсер на Rust. https://vk.cc/a98Kxi

Видео на сайте CS центра: https://compscicenter.ru/courses/rustprogramming/2019-spring/classes/4445/