Computer Science Center
2.42K subscribers
131 photos
1 file
244 links
Download Telegram
Игорь Куралёнок 6 лет читал курс по машинному обучению в CS центре. Запись курса можно посмотреть на нашем канале: https://vk.cc/9REWBC

Игорь Куралёнок — руководитель подразделения AI & Machine Learning в Яндекс.Облаке. Мы спросили Игоря, какие советы он бы дал начинающему тимлиду или техническому менеджеру.

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

Перестаньте писать код. Из этого правила есть два исключения: пишите, если ваш код определяет вектор развития или задаёт моду. К первому случаю относятся архитектурные решения, которые определяют тон в разработке и позволяют держать её вектор в нужном направлении. Второе — те вещи, которые перестанут делать все, если их перестанет делать тимлид: тесты, ветки разработки, правильные практики и прочие мелочи. Заниматься ими всегда лень, но без них всё разваливается.

Если начинаете жизнь с чистого листа или внедряете процесс из книги — не пытайтесь исправить все видимые ошибки. Взгляды разработчика и тимлида существенно отличаются: «вредные» составляющие роли разработчика могут оказаться гвоздём, на котором всё висело. Делайте изменения медленно и последовательно. Не торопитесь, всё успеете.

Отдавайте и делегируйте. Ваша задача — не делать всё самому, а сделать так, чтобы задача была выполнена. Кроме того, ответственность — один из очень важных мотиваторов. Отдав её кусочек в надёжные руки, вы не только будете менее загруженным, но и мотивируете члена своей команды. Но если уж отдали — помните, что отдали вы не только ответственность, но и часть полномочий по принятию решений. 
Как подготовиться к поступлению в CS центр

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

— Темы, о которых может пойти речь во время вступительных испытаний: https://compscicenter.ru/enrollment/program/
— Варианты тестов и экзаменов прошлых лет: https://yadi.sk/d/PMdV1XwxUwNqGQ
— Онлайн-курс «Алгоритмы: теория и практика. Методы» пополнит знания по алгоритмам: https://stepik.org/course/217/
— Онлайн-курс «Введение в математический анализ» напомнит основы, которые пригодятся на экзамене: https://stepik.org/course/95/
— Онлайн-курс «Ликбез по дискретной математике» дополнит математический багаж: https://stepik.org/course/91/
— Ответы на часто задаваемые вопросы: https://compscicenter.ru/faq/
Завтра День учителя — поздравляем! Для тех, кто только начинает преподавательский путь, мы приготовили несколько советов

Своими рекомендациями и наблюдениями о преподавании поделился Миша Слабодкин. Миша закончил центр в 2014 году и через два года пришёл участвовать в курсе по дискретной математике. Сейчас он преподаёт в совместной магистратуре ИТМО и JetBrains «Разработка программного обеспечения / Software Engineering», Высшей Школе Экономики, CS центре и курирует студентов на факультете математики и компьютерных наук в СПбГУ. Советы ориентированы на преподавателей математики, но многие из них универсальны.

— Учите студентов задавать вопросы.
Самое важное в обучении математике и всем родственным предметам — помочь студентам не бояться спрашивать и победить в себе чувство «да ну, этот вопрос такой глупый, сейчас я не буду его задавать, а позже разберусь с конспектом». Так думают почти все студенты в какой-нибудь момент. Надо регулярно напоминать задавать вопросы, пока всем не станет понятно очередное утверждение.

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

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

— Тратьте время на подготовку пар, продумывайте до мелочей, как будете рассказывать материал. Юмор в ограниченном количестве никогда не помешает.

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

— Признавайте свои ошибки!
Значительно лучше сказать «я не знаю, как это решать, давайте я подумаю неделю и расскажу в следующий раз», чем пытаться сообразить на месте и потерять полчаса занятия.

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

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

Семён — кандидат физико-математических наук, руководитель группы в лаборатории языковых инструментов JetBrains Research и доцент кафедры информатики СПбГУ. Занимается теорией формальных языков и её применениями уже десять лет.

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

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

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

Анастасия — руководительница отдела тестирования в петербургском филиале Noveo, специализируется на тестировании web.

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

Лекция обзорная и не предполагает, что у слушателей есть технические навыки. Понимание ИТ-терминологии будет плюсом.
Студент CS центра в Новосибирске, Степан Полохин, рассказал о практическом проекте, над которым работал в весеннем семестре под руководством Дениса Чиркова, сотрудника Института вычислительных технологий СО РАН.

https://vk.com/@compscicenter-uskorenie-optimizacii-formy-rabochego-kolesa-gidroturbiny-za
В эту пятницу пройдёт первый день открытых дверей на факультете математики и компьютерных наук СПбГУ. Расскажите братьям, сёстрам, знакомым или приходите сами, чтобы узнать, как и на какие программы можно поступить в этом году.

Приходите на очный день открытых дверей в Петербурге. Руководители направлений и организаторы факультета расскажут про учебные программы, курсы, преподавателей, практики и поступление. Готовьте вопросы :)

Место: актовый зал Института наук о земле, 10-я линия ВО, 33-35
Время: 25 октября, пятница, 19:00

Вход свободный. Пожалуйста, зарегистрируйтесь: https://docs.google.com/forms/d/e/1FAIpQLSdH-RXGiJU3BJPskVHIYdgQYK-COSetBCU4Vs8ZSk5l4RW5yw/viewform
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