Как стать автором
Обновить

Компания Питерская Вышка временно не ведёт блог на Хабре

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

Онлайн или офлайн: как учить программированию в вузе после пандемии

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


Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Как сделать хороший короткий доклад

Время на прочтение9 мин
Количество просмотров17K
Конец мая и начало июня — традиционное время защиты дипломов в вузах. Помимо самой выпускной работы, студентам нужно подготовить короткое (на 7–10 минут) выступление перед экзаменационной комиссией, а также сделать презентацию. И зачастую для студента подготовить нормальный доклад/презентацию — чуть ли не более сложная вещь, чем написать сам диплом. При этом часто оказывается, что чем содержательнее и интереснее работа, тем сложнее бывает сделать по ней качественное выступление/презентацию. В этой статье мы предлагаем наш взгляд на то, как решать эту проблему.


Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Чему учат в магистратуре Software Engineering в Питерской Вышке

Время на прочтение11 мин
Количество просмотров6.9K
Многие не понимают, чему могут научить в магистратуре по направлению Software Engineering, и считают, что после бакалавриата нужно идти работать и учиться всему прямо там. Стоит ли идти в магистратуру по SE — вопрос сложный, и в этой статье мы отвечать на него не будем, но расскажем, чему выпускников сильных бакалавриатов учат в нашей.


Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии5

Жизнь после бакалавриата: как я решала, что делать дальше, когда высшее образование и работа уже есть

Время на прочтение6 мин
Количество просмотров30K
С июня по октябрь 2018 года я окончила университет, нашла работу, поступила в магистратуру, решила, что хорошая работа и высшее образование у меня уже есть и ходить на пары необязательно, отчислилась из вуза. И потом поступила в магистратуру опять.

В этой статье я расскажу, почему я принимала такие решения и к каким выводам пришла в процессе.


Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии4

Как и зачем кураторы в Питерской Вышке помогают программистам-первокурсникам

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

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


Читать дальше →
Всего голосов 13: ↑8 и ↓5+3
Комментарии0

Стажировки в Google: Цюрих, Лондон и Кремниевая долина

Время на прочтение17 мин
Количество просмотров33K
Три года подряд я проводила лето на стажировках в компании Google: сначала в Цюрихе, затем в Лондоне и, наконец, в Саннивейл (город в штате Калифорния, США). В этом посте я поделюсь тем, как подавать заявки и проходить собеседования, какими проектами я занималась и чем стажировки в Европе отличались от США. А еще расскажу, чем Цюрих понравился мне больше Кремниевой долины, где лучше обеды и вечеринки и почему я пока решила остаться в России.



Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии37

GSoC 2019: Проверка графов на двудольность и трансформеры монад

Время на прочтение7 мин
Количество просмотров4.4K
Прошлым летом я участвовал в Google Summer of Code — программе для студентов от компании Google. Ежегодно организаторы отбирают несколько Open Source-проектов, в том числе от таких известных организаций, как Boost.org и The Linux Foundation. Для работы над этими проектами Google приглашает студентов со всего мира. 

Как участник Google Summer of Code 2019 я делал проект в рамках библиотеки Alga с организацией Haskell.org, занимающейся развитием языка Хаскелль — одного из самых известных функциональных языков программирования. Alga — библиотека, представляющая типобезопасное представление для графов в Хаскелле. Она используется, например, в semantic — библиотеке компании Github, строящей по коду семантические деревья, графы вызовов и зависимостей и умеющей их сравнивать. Мой проект состоял в добавлении туда типобезопасного представления для двудольных графов и алгоритмов для этого представления. 

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


Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии2

Прыжок в Лондон или моя стажировка в Jump Trading

Время на прочтение4 мин
Количество просмотров6.6K
Меня зовут Андрей Смирдин, я студент 4 курса НИУ ВШЭ — Санкт-Петербург. Я всегда интересовался экономикой и любил следить за финансовыми новостями. Когда пришло время искать очередную летнюю стажировку, я решил попробовать попасть в одну из компаний, зарабатывающих торговлей на бирже. Удача мне улыбнулась: 10 недель я провел в Лондонском офисе трейдинговой компании Jump Trading. В этом посте я хочу рассказать, чем я занимался на стажировке и почему решил попробовать себя в финансах еще раз, но уже в качестве трейдера.


(Фото со страницы компании на www.glassdoor.co.uk)
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии8

C++ Russia: как это было

Время на прочтение10 мин
Количество просмотров2.9K
Если в начале пьесы вы говорите, что на стене висит код на С++, то к концу он должен непременно выстрелить вам в ногу.

Бьярне Строуструп

С 31-го октября по 1-е ноября в Петербурге прошла конференция C++ Russia Piter – одна из масштабных конференций по программированию в России, организуемая JUG Ru Group. Среди приглашённых спикеров – члены комитета по стандартизации C++, докладчики с CppCon, авторы книг издательства O'Reilly, а также мейнтейнеры таких проектов, как LLVM, libc++ и Boost. Конференция ориентирована на опытных разработчиков на C++, желающих углубить свою экспертизу и обменяться опытом в живом общении. Студентам, аспирантам и преподавателям университетов предоставляются очень приятные скидки.

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


Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии0

Первый набор на «Прикладную математику и информатику» в Питерской Вышке: кто они и как с ними работать?

Время на прочтение4 мин
Количество просмотров6.8K
В этом году мы впервые после перехода из СПбАУ РАН в Питерскую Вышку провели прием на бакалаврскую программу «Прикладная математика и информатика». Здесь мы хотим подвести некоторые итоги набора, а также рассказать о впечатлениях наших первокурсников от двух месяцев учебы.


Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

Стажировки в международных компаниях: как не завалить интервью и получить заветный оффер

Время на прочтение7 мин
Количество просмотров13K
Эта статья является переделанной и дополненной версией моего рассказа про стажировку в Google.

Привет, Хабр!

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

Почему вы должны меня слушать? Не должны. Но за последние два года я побывал на стажировках в Google, Nvidia, Lyft Level5 и Amazon. Собеседуясь в компании в прошлом году, получил 7 офферов: от Amazon, Nvidia, Lyft, Stripe, Twitter, Facebook и Coinbase. Так что у меня есть кое-какой опыт в этом вопросе, который, возможно, окажется полезным.


Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии5

Отладка алгоритмов на графах — теперь с картинками

Время на прочтение11 мин
Количество просмотров11K
Представим типичную ситуацию на первом курсе: вы прочитали про алгоритм Диница, реализовали, а он не заработал, и вы не знаете, почему. Стандартное решение — это начать отлаживать по шагам, каждый раз рисуя текущее состояние графа на листочке, но это жутко неудобно. Я попробовала исправить положение в рамках семестрового проекта по Software Engineering, а в посте расскажу, как у меня в итоге получился плагин для Visual Studio. Скачать можно тут, исходный код и документацию можно посмотреть тут. Вот скриншот графа, который получился для алгоритма Диница.

Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии6

ZuriHac: практикуемся в функциональном программировании

Время на прочтение7 мин
Количество просмотров4.3K
В июне этого года в небольшом швейцарском городке Рапперсвиле уже в десятый раз прошло мероприятие под названием ZuriHac. В этот раз на нём собрались более пятисот любителей Хаскелля, от новичков до отцов-основателей языка. Хотя организаторы называют это мероприятие хакатоном, всё же оно не является конференцией или хакатоном в классическом смысле. Его формат отличается от традиционных программистских. Мы узнали про ZuriHac по счастливой случайности, поучаствовали в нем, а теперь считаем своим долгом рассказать о необычной находке!



Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии0

Как решать NP-трудные задачи с помощью параметризованных алгоритмов

Время на прочтение11 мин
Количество просмотров17K
Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в основном, JetBrains или Яндекс, но не только).

В этом посте я расскажу о своём проекте по направлению Computer Science. В рамках работы я изучил и реализовал на практике подходы к решению одной из самых известных NP-трудных задач: задаче о вершинном покрытии.

Сейчас очень быстро развивается интересный подход к NP-трудным задачам — параметризованные алгоритмы. Я постараюсь ввести вас в курс дела, рассказать несколько простых параметризованных алгоритмов и описать один мощный метод, который очень мне помог. Свой результаты я представил на соревновании PACE Challenge: по итогам открытых тестов мое решение занимает третье место, а окончательные результаты будут известны 1 июля.


Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии22

Зачем идти на «Промышленное программирование» в Питерскую Вышку?

Время на прочтение3 мин
Количество просмотров4.7K
В этом году в Высшей школы экономики в Санкт-Петербурге запускается новая магистерская программа «Промышленное программирование». Эта программа, как и магистерская программа «Разработка программного обеспечения» в Университете ИТМО, создана в сотрудничестве с компанией JetBrains. Сегодня мы расскажем, что общего у этих двух магистратур и чем они отличаются.

UPD. С 1 сентября 2020 года образовательная программа «Промышленное программирование» меняет свое название на новое и будет называться «Машинное обучение и анализ данных»



Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии2

AR, робототехника и катаракта: как мы съездили на российско-немецкую школу по программированию

Время на прочтение8 мин
Количество просмотров1.5K
В середине марта в Мюнхене прошла Joint Advanced Student School 2019 (JASS) — недельная англоязычная студенческая школа-хакатон++ по разработке программного обеспечения. О ней в 2012 году уже писали на Хабре. В этом посте мы расскажем о школе и поделимся впечатлениями нескольких студентов «из первых рук».



Каждый год компания-спонсор (в этом году — Zeiss) предлагает ~20 студентам из Германии и России несколько проектов, а через неделю команды должны представить свои наработки по этим направлениям. В этом году нужно было либо сделать видеозвонки с дополненной реальностью под Android, либо придумать и запрототипировать UI для системы predictive maintenance, либо поучаствовать в секретном Project Cataract.

Вся работа — на английском. Организаторы нарочно составляют смешанные команды из российских и немецких студентов для (бес)культурного обмена. Более того, по чётным годам школа проходит в России, а по нечётным — в Германии. Так что это прекрасная возможность для студентов разной степени подготовки получить не просто опыт работы, а опыт совместной работы с иностранцами.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

Mountain Car: решаем классическую задачу при помощи обучения с подкреплением

Время на прочтение12 мин
Количество просмотров12K
Как правило, модификации алгоритмов, полагающиеся на особенности конкретной задачи, считаются менее ценными, так как их сложно обобщить на более широкий класс задач. Однако это не означает, что такие модификации не нужны. Более того, часто они могут значительно улучшить результат даже для простых классических задач, что очень важно при практическом применении алгоритмов. В качестве примера в этом посте я решу задачу Mountain Car при помощи обучения с подкреплением и покажу, что используя знание о том, как устроена задача, ее можно решить значительно быстрее.


Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии8

Реляционное программирование: боль, интерес и снова боль

Время на прочтение14 мин
Количество просмотров9.6K
В предыдущем посте мы подробно рассказывали, чему учим студентов на направлении «Промышленное программирование». Для тех, чья сфера интересов лежит в более теоретической области, например, привлекают новые парадигмы программирования или абстрактная математика, используемая в теоретических исследованиях по программированию, существует другая специализация — «Языки программирования».

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

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


Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии10

Как мы в Питерской Вышке учим Software Engineering

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

В предыдущих постах мы рассказывали, что наши студенты делают на стажировках: научных (например, в JetBrains Research) и промышленных. В этом посте хотим поделиться, как мы учим промышленному программированию.



Кратко: за четыре курса бывший школьник пробует десяток-другой технологий и языков, постоянно пишет и удаляет много кода, проходит code review от более опытных товарищей (не всегда с первой попытки), углубляется в какую-то тему и в итоге защищает содержательный диплом. Всё это проходит прямо в университете и даёт диплом гособразца. А летом можно либо отдохнуть, либо постажироваться в России в JetBrains, Яндексе и JetBrains Research (если хочется больше науки) или съездить за рубеж (Google, Facebook и другие). Теперь поподробнее.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии2

Как я научила робота бегать по видео с YouTube

Время на прочтение8 мин
Количество просмотров11K
Мы продолжаем рассказывать о совместных научных проектах наших студентов и JetBrains Research. В этой статье поговорим об алгоритмах глубокого обучения с подкреплением, которые используются для моделирования двигательного аппарата человека.

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


Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии14