Закончил это прекрасное заведение пару лет назад. Многое могло уже поменяться (а я на "специалиста" учился, вроде их уже отменили и значит моя информация сильно устаревшая), но когда я учился, было как-то так.
1) Можете рассказать поподробнее про потоки на ВМК, чем отличаются, можно ли выбирать и т.д.
Два курса все учились по одной программе, далее три потока, очень грубо говоря математики, аналитики и программисты - по факту все в той или иной пропорции занимаются и математикой, и программированием. Выбирать можно приоритеты, а дальше уже кафедры сами выбирают, кого они хотят к себе взять - короче, надо или хорошо учиться, или заранее наладить связи, например, через посещение спецкурсов, чтобы точно попасть на желанную кафедру. Но скорее всего проблем с этим не будет. Чем отличаются - достаточно расписание посмотреть и описания кафедр, но в процессе станет ясно. Не стоит вообще сильно париться по поводу потока, важнее, чем на кафедре занимаются и потенциальный научный руководитель.
2) Как там с обеспечением? Какие условия в общежитии?
Если речь о материальном обеспечении, то вроде выбивается оно тяжеловато, но я пару человек с ним помню. Лучше особо не надеяться, если нет веских оснований. Общежитие было... обычное, советского образца, жить можно, не разваливается, но особых ожиданий лучше не иметь. Старшие курсы живут в главном здании, но там интерьер не сильно в целом отличается на мой вкус. В общем я не жалею, что бывал там только в гостях.
3) Можно ли работать по специальности и если можно то с какого курса?
Официально не поощрялось, по факту начиная, в среднем, с четвертого курса большинство студентов где-то да работает, будь то свои же кафедры или, что на самом деле куда чаще, работа на стороне. Я так и не смог найти за всё время какую-то работу, только после, но в этом смысле был исключением - это неправильно.
А теперь развею иллюзии, ВМК не готовит программистов, это в первую очередь математический факультет. У нас вообще нигде практически в классических ВУЗах не готовят программистов, повелось уж так. Многие весьма и весьма важные, полезные и фундаментальные вещи, связанные с программированием, обучение на факультете даст, особенно если интересуют более научные или математические задачи, но именно практически хорошо программировать никто не научит, мой горький опыт подтверждает, что это всё придётся нагонять самому. С практической точки зрения - языки, алгоритмы, проектирование, тестирование, технологии, фреймворки, всё вот это в основном обходится стороной. Как-то так.
Советую присмотреться еще к Высшей Школе Экономики, там есть факультеты, очень близкие по духу к ВМК и, как мне кажется, более прогрессивные по крайней мере в смысле используемых технологий. Какие-то преподаватели даже пересекаются. С практикой, впрочем, подозреваю похожую ситуацию.
В общем время подумать еще есть и подумать надо хорошо. Ни в коем случае не отговариваю от ВМК, так или иначе один из лучших факультетов по теме и до сих пор, наверное, самый котирующийся, что тоже бывает важно. Но учиться программировать надо по-хорошему уже сейчас, благо это стало еще на порядок проще, чем когда я был в восьмом классе и только начинал :)