Программная инженерия в НИУ-ВШЭ, абитуриентам

в 13:50, , рубрики: абитуриентам, ниу-вшэ, программная инженерия, Учебный процесс в IT, метки: , , ,

Программная инженерия в НИУ ВШЭ, абитуриентам
Приветствую молодую часть Хабрахабра.

Как вы можете догаться из названия топика, речь пойдёт об абитуриентах, кто в эти выходные делает выбор — МГУ или ВШЭ, а может между чем-то ещё.

Я успешно отучился 2 курса на факультете программной инженерии ВШЭ, давно хотел написать небольшой рекламный пост.
Рекламщик из меня плохой, да и вопросов я так и не подобрал.

Зато в эти дни меня часто стали спрашивать примерно так

Привет! Ты с ПИ ВШЭ? Если да, то можешь ответить на несколько вопросов по поводу ПИ (я абитуриент, надо определиться окончательно в ближайшие дни).

И я подумал, почему бы не ответить подробно и не выложить на хабр. Вопросы довольно специфичные и относятся к первым двум курсам.
Предполагается, что вы уже знакомы с НИУ-ВШЭ и, в частности, с факультетом ПИ.

Следят ли за посещаемостью занятий? Если да, то в каком виде?

Каждый преподаватель следит по-своему, но есть и общие принципы. Есть лекции, а есть семинары, вот на семинарах заполняется ведомость, в которой отмечается активность студентов (и посещения, ага). На лекциях отмечают обычно в начале года, потом надоедает.
image
Предметы разные. Я на первом курсе старался не прогуливать ничего лишний раз. На втором курсе почти все начинают забивать лекции и ходят только на семинары (я про маловажные предметы). Вам ещё расскажут, что семинары пробивать никак нельзя, поскольку на них рассказывается сама суть и материал для экзаменов и контрольных. Это действительно так.

У нас тут такой принцип, что на экзамене нет никакого «wtf?! O_o», все задачи разбираются вдоль и поперёк, главное не терять интерес.

Кстати, на гуманитарных предметах (психология, типа) оценивают именно посещаемость и работу на семинарах.

Какие предметы можно спокойно пропускать?

На первом курсе не стоит забивать вообще. На этом факультете с первокурсниками особое обращение. Сначала набирают излишек, а затем отчисляют половину.

Отчисление – при каких условиях?

Отчисление это просто как два пальца в песок. Год делится на 4 модуля.
Таким образом, в году 4 сессии. Оценки десятибалльные, ниже 4 — незач.

Жизненный цикл незача

  1. Собственно экзамен
  2. Пересдача (тому же преподу)
  3. Комиссия (строго другим преподам)

Способы получить незач в сессию

  • Завалить промежуточный контроль (контрольную/тест хреново
    написать). Обычно такие работы называются «блокирующими».
  • Набрать 3/10 или меньше за зачётную работу. То есть просто незач.
  • Получить незачёт по формуле (см. ниже)

Итоговая оценка может складываться из кучи критериев, обычно она взвешанная.
ОЦЕНКА = 0,2 * 1МОДУЛЬ + 0,7 * КР + 0,1 * ЭКЗ

По такой формуле сразу видно, что экзамен может быть написан на отлично, но это даст всего 1/10 оценки. Да, были и такие неудачники.

Теперь простая арифметика — если в сессию получил 3 незача или больше, это отчисление на автомате. Без исключений. Деньги не берут.

Незачи можно пересдавать. Пересдачи идут зимой после зимней сессии и осенью. То есть весенние незачи нельзя пересдать до осени, поэтому 4 модуль это такой экстрим, ибо если два хвоста уже висит… Не завидую.

Как бороться с незачами, если много денег

  1. Купить справку о болезни
    • Дёшево;
    • Могут спалить, тогда держись;
    • Можно покупать справки постфактум (если уже конвейер и связи :)).

  2. Купить индивидуальный план
    • Сначала нужно перевестись на платное;
    • План можно только в том случае, если незачей 2 или меньше;
    • План отодвигает пересдачу на 1 год, но хвост висит.

У нас есть люди, в которых стреляют, а они ещё живы. Ходят, понимаешь, по два плана, лучше бы машину купили.

На каком уровне даются не связанные с программированием вещи (гуманитарщина)?

Зависит от профиля гуманитарщины. Я был крайне возмущён тем, как нам долбили мозги микроэкономикой. К счастью, для меня это позади.

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

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

Можно ли сдавать дисциплины заранее?

Нет. За редким исключением можно написать экзамен чуть раньше, особенно перед зимними праздниками. Или летнюю практику заранее пройти.

Вообще у нас тут учатся, а не корочки получают. Это я про ПИ конкретно.

Математика, не связанная с программированием напрямую (матан, линал, дифуры и пр.)

Линал у нас был первые три модуля. Матан у нас был первый год. Дифуров нет вообще.
Как-то так.

Линал преподавал он, замечательный мужик. Он из МФТИ, а ещё на МехМате МГУ линал ведёт. Судя по сайту, походу он уже штатный доцент ВШЭ.

Матан вела она, они вместе. :)

На матане и линале рассказывают самую-самую базу, разъясняют максимально, дают типовые задачи и потом проверяют на экзамене.

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

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

Короче говоря, у нас всё с расчётом на самообучение по мере необходимости, насильно не пихают «фундаментальные» штуки.

Дисциплины по выбору. Действительно ли твой выбор – закон?

Закон. Если на дисциплину никто не записался — её отменяют (ха-ха-ха).

У нас в этом году не было диффуров по выбору, ибо минимум 15 человек.
В прошлые года ограничивали по рейтингу, отобрав тех, кто выше. Но после кучи жалоб в учебку с этого года кто первый успел выбрать — того и тапки.

На ДОД было заявлено, что в ВШЭ стараются «не давать» студентам работать до окончания учёбы. Что ты можешь сказать по этому поводу?

Здесь нужно уточнить. ПИ — это факультет ВШЭ, но я бы не стал обощать слухи и принципы про ВШЭ в целом на этот факультет. Тут своё руководство, свои планы и даже отдельный кампус.
Извнте, у нс здс свяо атмсфреа...

Так вот, это заявление к ПИ не относится вообще. У нас наоборот, уже со второго курса на летнюю практику засылают студентов в крупные компании на стажировку. Делается всё возможное, чтобы развить у студентов навык командообразования и бизнес-навыки, чтобы мы к третьему курсу уже моли придумать свой стартап и запустить его при поддержке ВШЭ.

Не-не-не, у нас тут инкубатор успешных людей, ты видимо не так понял суть фразы. Может имелось ввиду, что ВШЭ не даёт студентам околачиваться в офисах как планктон? :)

Летние практики — где, как долго, была ли польза, что делали?

Первый курс в этом году проходил практику на факультете — LaTeX, Matlab, их обучали грамотной научной работе.
Когда я был на первом курсе, мы строили UML диаграммы и описывали процессы взаимодействия (для наших же курсовых).

Второй курс в этом году проходил стажировку в компаниях, самой популярной была PingWin Sofware, это компания выйграла тендер на создание Российской ОС на базе СПО. Нам довелось пособирать RPM-пакеты в ABF от ROSA. Исправляли ошибки в .spec файлах, познавали дзен мейнтейнера.

Я думаю, чем дальше, тем больше компаний будет доступно. Вообще ПИ, который создан по направлению «231000.62 Программная инженерия» существует всего 2 года (раньше ПИ был под-факультетом БИ и цели были другие).

Правда ли, что примерно половина студентов ПИ на конец сессии имеет 1 или более долгов? Если да, то в чём причина такого положения вещей?

Я уже отвечал, долгов будет больше.

Причина проста -— народ не знает, куда идёт. Кто-то подумал, что ВШЭ это илитный™ ВУЗ для богатеньких и тут не надо ботать.

Кто-то подумал, что ПИ это то же самое, что Менеджмент или Логистика, только ближе к компам (а значит, ближе к Dota).

Кто-то банально не умеет программировать. Зубрят, конспектируют, списывают… ПРОГРАММЫ НА C#!

Кстати, некоторые девочки конспектировали код на C#, а потом удивлялись, почему у них ничего не работает.

Class MainClass
{
    Public Static Void Main (string[] args)
    {
        console.writeline("hello");
    }
}

Сколько человек осталось от первоначального состава к данному моменту?

После первого курса оставалось 49 из примерно 94. Порядок такой, да.

Курсовые?

Что ты делал в качестве курсовой работы (все курсы по порядку)?
Какие полезные программы ты написал за каждый год обучения и на каких ЯП?

Каждая курсовая это законченный продукт. Есть постановка задачи (волен выбрать сам или даже предложить), затем в рамках Введения в программную инженерию ты составляешь с научным руководителем ТЗ по ГОСТу, а затем комплект документов по ГОСТу — руководство оператора, пояснительная записка и другие.

Когда я был на первом курсе, нам рассказали про Microsoft Project 2010 и научили строить диаграммы Ганта, мы даже ресурсы распределяли. Всё в рамках курсовой.

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

На первом курсе писать можно только на C# (не важно, под что), на остальных — на чём хочешь вообще.

Для справки мои курсовые:

1 год — Эмулятор Машины Тьюринга, задача была поставлена в связи с тем, что в интернете не было программ, которые бы удовлетворяли потребности факультета. Сейчас этот эмулятор перваки гоняют. Помимо этого эмулятора, другие ребята делали курсовые, которые в последствии стали использоваться на факультете.

2 год — Попросил научного руководителя выдать мне тему по-хардкору. Получил, как просил. Мы даже название придумали не сразу, да и то что получилось, оказалось далеко от терминологии, которая используются на западе для описания таких вещей.

  • Computing operations in idempotent semiring on cone-constrained sets program;
  • Что можно отнести к Algebraic Tools for the Performance Evaluation of Discrete Event Systems;
  • Материалы: Документация (на первой странице заглушка) и Презентация с защиты;
  • Программа на Java, из двух частей, практического применения пока не имеет.

Список литературы для курсовой за второй год (примерно 20% от прочитанного и осмысленного)

  • F. Baccelli, G. Cohen, G.J. Olsder, and J.P. Quadrat. «Synchronization and Linearity». Wiley, 1992.
  • E. Le Corronc «Développement d’outils de calcul garantis et efficaces pour les systémes (max, +) linéaires», LISA Angers, 2008
  • Stéphane Gaubert «Symbolic computation of periodic throughputs of timed event graphs», INRIA, 1992
  • Jörg Raisch «DES in a Dioid Framework – Modelling and Analysis», TU Berlin, 2008
  • B. Cottenceau, L. Hardouin, M. Lhommeau «MinMaxgd, une librairie de calculs dans MinMax[g, d]», LISA Angers 2006
  • B. Cottenceau, L. Hardouin, M. Lhommeau «Data Processing Tool for Calculation in Dioid», Workshop On Discrete Event Systems, 2000

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

Кстати, в обоих случаях я использовал лишь знания, полученные во время обучения C# и Java в университете. Вернее, я зачёты сдавал и обязан был иметь эти знания, контроль 100%.

На каком уровне даются языки программирования? Дают ли углублённое понимание паттернов и антипатернов, ООП, стандартных библиотек?

На первом курсе только C#, с нуля и до очень и очень хорошего уровня, включая GUI.

Поверхностно не проскочить никак, тесты будут сверлить глубоко.

Не знаю, что будет на втором курсе в 2012-2013 годах, но у нас первое полугодие голландец из TU/e по Skype (телеприсутствие) вёл лекции по Java.
Обучил Jave’е и Swing’у очень грамотно и мы на протяжении нескольких недель пилили Большой Проект, в принципе довольно годная прога получилась, уж можешь поверить.

Стимулируют ли писать серьёзные проекты (особенно – в команде) либо такое будет только по собственной инициативе?

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

В этом году мы делали командный проект — создание Android приложения в рамах курса по UI/UX от TU/e.

Какия ЯП проходятся?

  • C# — весь 1 курс, основа основ и главный фильтр против не-туда-поступивших;
  • Java — половина 2 курса;
  • С++ — весь второй курс. В основном базовые алгоритмы и контейнеры STL, ничего продуктивного;
    Домашние задания и экзамен в рамках курса SSD5 (iCarnegie) от Carnegie Mellon;
    После C# и Java это нифига не весело, хотя теперь я знаю, чем отличается умножение матриц по Винограду от Штрассена.
    Отчёт с исследованием.
  • F# — по желанию, весь второй курс;
  • Python — по желанию, летняя практика на первом курсе;
  • LaTeX — дискретную математику лучше в техе сдавать, да и летняя практика легче пойдёт;

Я видел пример командного проекта студентов ПИ -– программа «чтение для слепых» или что-то вроде того.

Был ли этот проект чистой инициативой студентов, либо же это делалось как курсовик или ещё что? Как часто у вас на факультете делают такие вещи (т.е. реально полезные, которые можно даже продать)?

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

Командная работа -— штука специфическая, этому учатся не сразу. Поскольку на первых курсах командная работа означает, что кто-то один работает, а остальные получают зачёт. Это мешает отчислять балбесов.

Кто преподаёт всё, что связано с программированием? Работали ли эти люди в серьёзных компаниях когда-либо?

По-разному. Всё меняется, как повезёт. Лекции по C# читает сам В. В. Подбельский, я его уважаю например.

F# преподаёт Дмитрий Сошников shwars, евангелист из Microsoft.
У него хорошо получается агитировать людей, поэтому все, кто изучали F# в этом году — очень довольны.

В любом случае люди, кто ведёт программирование, сами напрямую программисты. И доверие к себе оправдывают. Вообще с кадрами в ВШЭ всё ок, я не знаю ни одного преподавателя, кто бы не фанател от свего же предмета.

Если человек ведёт экономику, то это обязательно доцент с факультета экономики ВШЭ.
Если программирование — то какой-нибудь профи со стороны.

В чём реально заключается «партнёрство» с Эйндховенским университетом?

Реально? О чём пишут на hse.ru, в том и заключается. После первого курса магистратуры людей забирают в TU/e на второй курс, причём оплачивают общежитие и кучу денег а-ля стипендия на еду. По окончанию человек получает два диплома, и очень высоко ценится на рынке. Кстати, заодно можно поработать в R&D отделе Phillips.

Подробности могут поменяться, я в общих чертах описал. Мне до этого ещё три полных года, но человек 10 в этом году уже успешно улетели «туда».

В этом году экспериментально преподаватели из TU/e по скайпу вели у нас лекции. Первое полугодие, как я уже говорил, голландец вёл Java, давал и проверял домашки, проводил тесты и контрольные через их местную систему типа ejudge.

Второе полугодие — интерфейсы и создание приложений под Android (делали прототип термостата с базовой функциональностью).

«Партнёрство» с компаниями, перечисленными на сайте se.hse.ru — в чём оно заключается, какая студенту от этого польза?

Я разглядел там два логотипа компаний, которые предлагали в этом году летнюю практику у них (читай — стажировку). Ещё есть логотип компании, я знаю оттуда сотрудника, кто вёл у нас предмет.

У ВШЭ сотрудничество с Microsoft — например, на все продукты Microsoft кроме Office у нас есть бесплатные полные лицензии — Visual Studio хоть Ultimate, любые Windows, даже Server 2008 R2, и многое другое, около 100 наименований.

Учебный план с сайта se.hse.ru — соответствует ли действительности?

http://www.hse.ru/standards/rup/archive/?fid=24262 -— план.

Соответствует 100%, это есть фактический план (некоторые дисциплины по выбору могут и не быть, зависит от вас).

Два года назад всё начиналось с базового плана 231000.62 Программная иженерия ВШЭ. Он немного намекает на суть, но фактический план успешно развился в нечто более крутое.

Вместо заключения

Надеюсь, эти ответы помогут вам с выбором ВУЗа, в котором вам предстоит сидеть 4 или 6 лет.

Что касается обстановки — мы учимся в недавно построенном здании. 6 лифтов и 9 этажей. Все стулья — мягкие (такие, чёрные). Все доски — маркерные белые, Все парты — целые (голодные студенты питаются в столовой, а не древесиной). Все туалеты — чистые. Все работы по уборке помещений, ремонту помещений делаются на аутсурсе, это влечёт хорошее качество таких работ.

В общем, подумайте, каким должен быть ваш IT ВУЗ мечты и сравните с ВШЭ ;)

P.S. В комментариях можно спросить свои вопросы, я попробую их добавить.

Автор: Xlab

  1. Елена:

    Замечательная статья, как бы связаться с автором?

* - обязательные к заполнению поля