что изучают программисты на первом курсе

7 дисциплин, которые стоит знать программисту

Чтобы писать логичный и полезный код, нужно не только быть хорошим программистом, но и разбираться во многих других вещах.

Изучить популярный язык или даже несколько недостаточно, чтобы стать программистом. Чтобы создавать сайты, приложения, ПО, игры, да и вообще хоть
что-то, необходимо разбираться в науках и языках. Их не так уж и много, но погружение занимает даже больше времени, чем изучение какого-нибудь PHP или еще чего-то попроще.

Английский язык

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

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

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

Математика

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

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

Логика

Все программы построены на логике. Они получают какие-то данные, проводят вычисления и, в зависимости от результата, делают что-то еще. Например, вот пример кода акции в интернет-магазине:

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

Статистика

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

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

Нужно: аналитикам, ученым, разработчикам ИИ.

Информатика

В школах курс информатики состоит из примерно таких уроков:

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

Профильные науки

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

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

Программирование

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

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

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

Источник

Программирование для начинающих: как стартовать и куда двигаться?

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

Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)

UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.

Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.

Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.

Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.

Гук «Аппаратные интерфейсы ПК»

Гук «Интерфейсы устройств хранения»

Этап III. Операционные системы

Таненбаум «Архитектура компьютера»

Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.

Немет, Снайдер, Хейн «Руководство администратора Linux»

Этап IV. Собственно программирование

Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.

Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск

Бентли «Жемчужины программирования»

Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.

Ну а для затравки можно прочесть небольшой цикл лекций «Культура программирования» (автор – А. Бабий). Он помогает начинающим программистам понять, что их деятельность не будет проходить в вакууме, а неизбежно включит взаимодействие с другими программистами, с заказчиками и пользователями (а также включит необходимость копаться потом в своих собственных или в чужих программах).

Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.

Буду крайне благодарна за ваши советы и уточнения.

Источник

Перечень изучаемых дисциплин

На 1-2 курсах студенты обучаются по общей программе, с 3-го курса они выбирают кафедру и научного руководителя. Учебные планы кафедры охватывают все современные направления информатики и математики, изучаемые на обоих специальностях, хотя и в несколько разных объёмах. Также в план прикладной математики входит набор курсов лекций естественнонаучного, прикладного содержания. Значительное место в учебном плане студентов-прикладников занимает программирование. Студенты кафедры изучают фундаментальные основы математики и программирования, математического моделирования, численных методов, комплексов программ для решения научных, технических, фундаментальных и прикладных проблем, исследование математических моделей физических, химических, биологических и других естественнонаучных систем, а также социальных, экономических и технических объектов.

Перечень предметов и часов по специальности “Прикладная математика”

В рамках специальности “Информатика” идет подготовка специалистов, способных проектировать, реализовывать проекты, эксплуатировать информационные системы и информационные технологии (IS/IT) и управлять ими. Информатика изучает комплекс проблем, связанных с прохождением информационных процессов в социуме, экономике экономических и экологических процессов.
Основные навыки: анализ и систематизация данных, построение алгоритмов обработки информации.

Перечень предметов и часов по специальности “Информатика”

Данные о востребованности специалистов можете просмотреть здесь.

Источник

Советы студентам-программистам

Привет, Хабр! Представляю вашему вниманию перевод статьи «Advice for programming students».

Есть много вещей, которые я хотел бы знать, когда я начал свое путешествие в качестве студента-программиста. С тех пор прошло почти 10 лет, и, к сожалению, я не могу поделиться своим опытом и знаниями с моим прошлым «я», только с моими младшими коллегами. Этот пост состоит из некоторых полезных советов, которые я хотел бы услышать, когда мне было 18 лет.

Решите, что вам нужно

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

Математика

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

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

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

Учитесь на лучшем, используйте лучшие инструменты

Выберите свой первый язык. Он должен быть хорошо спроектированным, то есть иметь:

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

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

Например, представьте, что вы изучаете новый язык Go. Погуглите «Go language sucks» и почитайте почему люди критикуют его. Некоторые комментарии будут незначительными, но другие из них действительно будут иметь смысл. Вероятно, вы получите новые знания от чтения критических замечаний, оценивая их, чтобы потом определить имеют ли они значение, или это просто пустые слова.

Думайте сами

Я преподаю программирование (C и ассемблер) с 2009 студентам университета ИТМО в Санкт-Петербурге. У многих людей есть проблемы с программированием и никогда им не удается научиться этому из-за того, что они не создают код. Когда они получают задание, они пытаются имитировать существующее решение, возможно, взяв некоторые фрагменты из Stack Overflow, настроив их по своему вкусу. Хорошо, получили решение, что еще нужно?

Вы должны научиться писать код с нуля. Типы навыков, необходимых для этого, настолько отличаются от навыков, полученных вмешательством в существующий код!

Программировать значит делать сознательный выбор. Вы находитесь в состоянии А (у вас есть доступ к ряду языковых функций / библиотек, и вы знаете как их комбинировать); вы хотите получить состояние В (языковые конструкции объединены для решения задачи). Как вы построите маршрут от А до В? Теперь это реальное программирование, решение проблем.

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

Дополнительной частью процесса создания программного обеспечения является разработка архитектуры программного обеспечения; невозможно научиться правильно структурировать свои программы, не создавая их от 0 до 100.

Расширяйте свой кругозор

Программируйте каждый день, делайте сторонние проекты все время. Это очень простой (и в основном точный) способ для меня как учителя понять, что мой ученик с большой вероятностью добьется успеха. Один вопрос: что вы программируете в свободное время?

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

Общеизвестно, что рекрутинг хорошего программиста чрезвычайно сложен. У многих программистов, претендующих на работу, есть проблемы с написанием тривиальных вещей, таких как FizzBuzz. Если у вас есть существующие проекты, размещенные на GitHub, работодатель будет более уверен, что вы ему подходите.

Испытывайте себя разными инструментами и языками. Если кто-то говорит вам, что все языки похожи, это либо упрощение, либо отсутствие опыта. Позвольте мне объяснить немного.

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

Программирование намного больше, чем общеизвестные C / Python / Java / C++ / C# / Go / Javascript, построенные на одинаковых принципах: императивный, структурный, немного с ООП и синтаксическим сахаром для имитации других стилей программирования. Мир программирования ОГРОМЕН. Как насчет:

Будьте общительными

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

Придерживайтесь страстных, умных людей и старайтесь учиться у них. Вы будете удивлены, сколько вы сможете узнать во время обеда со своими товарищами, которые хотят поделиться деталями своей работы или исследований. Такое разнообразие идей является одной из основных причин, по которым корпорации, такие как Google, дают вам бесплатное питание.

Спросите людей, которые лучше разбираются в code review и читают свой код. Изучая чью-то работу, можно многому научиться. Code reviews помогут вам узнать о том, как написать код еще лучше. Это, возможно, один из самых эффективных способов стать лучшим программистом очень, очень быстро.

Пишите тесты

Это так важно, что для этого понадобиться отдельная статья. Тестирование является неотъемлемой частью создания программного обеспечения, и даже такие парни, как я, которые работают над формально проверенным программным обеспечением (что означает, что оно должно быть математически строго формализуемо), пишут тесты, хотя можно подумать, что гарантии, данные доказательствами, гораздо сильнее.

Я надеюсь, что это может помочь кому-то получить более полную картину, быстрее научиться и стать лучшим программистом; если у вас возникнут вопросы, я буду рад помочь. Удачи!

Источник

Образование программисту – Что? Где? Когда?

Привет, Хабр! Уже много сказано об образовании, в частности для программистов, о программах, что лучше подходят или не подходят, но каждый год ситуация меняется и как бы грустно не было, в этом надо разбираться (будь ты абитуриент или работодатель). Очень важно начать свой путь именно с выбора alma mater … Прошу под кат всех, кого не испугает длинная статья по теме.

Данную статью/пост можно рассматривать как туториал или справочник для всех, кто уже в IT или хочет связать свою жизнь с IT. Сразу оговоримся: здесь пойдет речь не про системных администраторов, дизайнеров или инженеров, а именно про программистов (от 1С до Deep learning).

0 – Нулевая ступень. Школьное образование. Средняя школа (с 5 по 9 классы)

Первое с чем мы сталкиваемся в жизни – школа. Это просто огромная часть нашей жизни, зачастую наш второй дом (к сожалению, в текущих реалиях – с точки зрения времени проведенного в школе). И как к очень важному событию, необходимо ответственно и осознанно подойти к выбору своего будущего учебного заведения.

Математика

Особую роль в жизни человека, склонного к рациональному мышлению или любящего думать, играют точные науки такие как: математика, физика и информатика. Многие могут спорить о том, что математика не сильно нужна в бóльшем спектре задач в сфере IT, но позвольте не согласиться. Всё, начиная с механических счетных машин до создания первого компьютера, было основано на математических принципах и моделях. Да, это, безусловно, был не один узкий раздел математики, но для каждой задачи необходим свой подход и он мог быть найден в математике. Умение думать ещё никому не мешало, это очень полезный навык, но одной здравой мысли мало, нужна дополнительная библиотека, с помощью которой ты сможешь реализовать свою задумку. Так вот в роли такой библиотеки выступает математика.

Физика

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

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

Информатика

Что тут можно сказать – не беда, если у тебя что-то не получается или тебе не слишком нравится (ведь это только средняя школа). Но, если тебе нравится и чувствуешь порыв заниматься этим – прекрасно!

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

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

Самое главное – принимайте участие в олимпиадах. Так вы становитесь умнее, набираетесь опыта и знакомитесь лучше с миром “думающих” людей. Возможно, тебе настолько не повезет, что ты не выиграешь ни одной олимпиады, но скажу хорошую новость: я не знаю ни одного человека, который бы постоянно участвовал в этой движухе и не выиграл бы ни одной олимпиады (или хотя бы не стал призёром).

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

1 – Первая ступень. Школьное образование. Старшая школа (с 10 по 11 класс)

Встает нелёгкий выбор: посвятить своё время хорошему обучению и сдаче гос. экзаменов (таких как ЕГЭ), или, может вникнуть в профессиональную деятельность и начать заниматься прикладным программированием, а может вовсе сделать упор на олимпиады и алгоритмы?

Однозначного ответа нет, хотя я по-прежнему советую принимать участие в олимпиадах, это очень полезно.

Что касается посвящения себя “настоящему” программированию, то этот путь подойдет не каждому. Цель, которую в итоге необходимо достичь – это стать программистом, настоящим профессиональным “брэйн-кодером”. Вспомним истории тех людей, что бросали университеты и затем становились миллиардерами в it сфере: Стив Джобс, Билл Гейтс, Марк Цукерберг, Майкл Делл и другие. Но поймите одну очень важную вещь: никто из них не ставил своей целью бросить учебу. Кто-то был сыном богатых родителей и имел талант к ведению бизнеса, кто-то родился в именитой семье и тоже не был дураком, кому-то же повезло меньше, но он был гениален. У каждого своя история, но если одни бросают учебу из-за трудностей в выживании и только потом “встают на ноги”, то другие сразу имеют фору в виде семьи и им нет никакого дела до обучения, когда можно взять и открыть своё дело.

К слову сказать, несмотря на престижный статус семей Цукерберга и Гейтса они были талантливыми учениками и проводили своё время в лучших университетах мира.
Так вот, если жизненная ситуация позволяет чувствовать себя хорошо: у тебя есть дом, еда и близкие люди, то никогда не надо жертвовать определенным настоящим, ради неопределенного будущего. Учись, пока есть возможность, пиши программы, учи точные науки, ведь в итоге твоя первая значимая цель в таком случае – хороший ВУЗ. Но будь то ЕГЭ или олимпиады, готовиться надо. Ты можешь не тратить время на такие вещи как биология, химия, география, потому что тебе сейчас они точно не нужны, в 10-11 классах там слишком узкая информация и нет смысла запоминать сколько месторождений нефти в Тюмени или какое потомство будет у пятнистой кошки. Конечно, IT сфера намного более толерантная в плане трудоустройства, но ты можешь начать комплексовать из-за того, что остальные с образованием, а ты нет, что одни прошли какие-то ступени, а ты нет и даже если потом ты будешь в 5 раз превосходить по мастерству своих коллег, то тебя не будет покидать ощущение, что ты что-то не успел, забыл, не доделал…

В общем, теперь более подробно про обучение.

Если ставить целью хороший ВУЗ, то нужна хорошая школа. Как её выбрать? Очень просто: гуглить рейтинги школ/лицеев, читать про каждый понравившийся, поспрашивать учащихся и составить свой контрольный рейтинг. В итоге, поступай туда, где тебе будет комфортно во всех отношениях. Придется много работать, но оно того стоит.

Но если ты не попал туда, куда хотел, то не надо отчаиваться. Во-первых, вспомни про самообразование, тем более оно пригодится тебе ещё не раз. Во-вторых, у тебя появилась огромная возможность потратить время на хорошую подготовку. Скорее всего, в олимпиадном направлении преподаватель тебе уже не поможет, но ты можешь отлично подготовиться к ЕГЭ. Ищи курсы, построй график занятий и начинай работать. Если ты будешь четко следовать графику, то ты увидишь, насколько лучше ты стал знать материал. Так что это вполне достижимо, набрать 300 или 400 баллов на ЕГЭ. Ищи курсы, читай книги, решай варианты!

2 – Первая альтернативная ступень. Колледж (после 9 класса)

Очень неожиданно. Кого интересуют колледжи? — спросите вы. Тысячи девятиклассников — отвечу я.

Может для кого-то будет новостью, но в нашей стране есть следующий тип заведений – колледж.

Ещё лет 10 назад колледжи поголовно напоминали те самые ПТУ, которые выступают в роли мемов на разных интернет площадках. Но уже буквально сегодня спрос на СПО (среднее профессиональное образование) возрос многократно среди учащихся. С чем это связано? Я могу назвать несколько причин:

Очень многим не нравится система ЕГЭ и поэтому зачастую это является первой причиной пойти в колледж. Нельзя за это осуждать, т.к. любой экзамен это стресс, а если его еще и пересдать нельзя в тот же год, то тем более. На самом деле, по-хорошему это должна быть самая малозначимая причина. Многих прельщает возможность сдавать внутренние экзамены вместо ЕГЭ.

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

Ну и конечно, диплом, который говорит, что вы стали специалистом в своей области ( на самом деле нет ).

Все начинается с выбора направления обучения и подачи заявления в приёмную комиссию. Это очень похоже на приём заявок в ВУЗе, где точно также сидят люди за столиком, зазывают студенты и предлагают поступать к ним на факультет. Хочу представить вам специальность, на которой сейчас доучиваюсь последний год я (специальностей по программированию не так уж и много, есть ещё прикладная информатика, но наиболее разумный выбор именно ПКС).
09.02.03 – Программирование в компьютерных системах (ПКС).

Т.к. мы говорим о программистах, то логично предположить, что наиболее подходящая специальность это ПКС. Она целиком и полностью направлена на подготовку кадров разбирающихся в современных трендах прикладного программирования. Будь то веб или десктоп, может даже мобильная разработка это всё относится к этой специальности. Во многих учебных заведениях программа может варьироваться, но наиболее распространенные обязательные дисциплины это: 10-11 класс (стандартно — первый год обучения, обычно упор сделан на математику и физику), основы программирования, алгоритмизация (основы алгоритмизации), элементы математической логики (а-ля “light” версия дискретной математики), основы математического анализа (в которую частично включена программа линейной алгебры первого семестра технического вуза), операционные системы, сети и системы связи, архитектура компьютерных систем. На старших курсах могут появиться такие предметы как: прикладное программирование, веб-программирование, информационная безопасность. От колледжа к колледжу меняются программы обучения, направленность, но так или иначе эти предметы есть всегда. Всегда нужно просматривать программу обучения на официальном сайте учебного заведения, это важно.

– Основы программирования:
На этих занятиях вы будете познавать “азы” логики, учиться писать код, и разбирать блок-схемы (вариативная часть). Довольно полезные занятия, чтобы вообще вникнуть во всю эту систему и понять что к чему. Если у вас уже есть опыт в программировании, то занятия могут показаться вам скучными, тут уже ничего не поделаешь.

– Алгоритмизация:
Ну что тут можно сказать, этот предмет посвящен алгоритмам. Но будьте аккуратны, например, в нашей программе под этим подразумевались: машина Тьюринга, машина Марка и машина Поста. Так сказать давали задачи на логику. Далее были примеры рекурсии и понятия функций и прочее, но в математическом аспекте. Вы должны понимать, что здесь все будет зависеть от преподавателя.

Комментарий от автора:

Этот курс один из немногих, что мне понравился в учебном заведении, где я учился, и не потому что там был уникальный или интересный преподаватель, а потому что мы прониклись этими идеями и задачами, пытались решать на скорость и затем сравнивали наши решения между собой и искали лучшее! Это было действительно круто! Правда когда нам объясняли рекурсию с помощью мат. формул, то сделали это настолько плохо, что решения задач мы просто подбирали опытным путем…

– Математическая логика:
Это небольшой курс дискретной математики для общего развития. Лично я понял не только понятие множества и что такое ДНФ, а также как принципиально работает процессор и многое другое. Т.е. математика, но она, во-первых, пригодится в Вузе, а во-вторых, открывает глаза на многие вещи.

– Основы математического анализа и линейная алгебра
Если кратко: основные понятия из каждого семестра Вузовской программы. Т.е. мы решали дифференциальные уравнения, но допустим про двойные интегралы нам не рассказывали. По линейной алгебре нам рассказали про матрицы, какие есть операции над ними и что такое определитель и как его считать.

Честно сказать, я остался доволен этой программой, т.е. это просто введение в курс высшей математики, но нам попался настолько замечательный преподаватель, что мне очень все понравилось, я решал всё что нам давали и соревновался с одногруппниками, чтобы сделать все побыстрее (и правильно, конечно, тоже). Однозначно, стоит посещать эти занятия, тем более эта база пригодится вам в университете.

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

– Архитектура компьютерных систем
Отличный возможность понять как работает компьютер на физическом уровне, что происходит с “железом” в момент работы и пр. Рассматриваются принципы построения архитектуры микроконтроллеров, процессоров и пр. Возможна также работа в программе LogiSim и выполнение в ней практических работ.

К сожалению, нам попался очень ленивый преподаватель и мы почти так ничего и не поняли. Он постоянно втыкал в свой ноутбук и на “отстань” давал работы, которые сам не понимал как сделать. Так бывает, ничего не поделать.

– Операционные системы
Курс по операционным системам рассматривает, собственно, работу современных операционных систем (Linux, Windows, системы реального времени и пр.). Имеются также лабораторные.

Не идеально, но я узнал про сигналы в линуксе, про различные архитектуры построения операционных систем, а также научился работать в vim!

– Сети и системы связи
Курс по сетям просто необходим программисту. Если ты не знаешь, что такое маска, или чем адрес сети отличается от адреса узла, то будешь выглядеть белой вороной. Здесь рассмотрены основные понятия в терминологии сетей, топологии, организована работа в Cisco Packet Tracer и даже настройка реального оборудования.

У нас было два похожих предмета и оба про сети. Один вел ленивый препод с “архитектур”, а вот второй рассказывал нам довольно полезные вещи. Я пытался выжимать по максимум с этих занятий и выполнял все работы, что только мог. Однозначно, лайк дисциплинам.

– Системное программирование
Курс по системному программированию рассматривает низкоуровневое программирование на языках ассемблера. В моём колледже это был MASM611. Полезный вводный курс для тех, кто хочет узнать ещё больше о том, что творится в компьютере уже с точки зрения программиста. Лабораторные, теория — всё по “феншую”.

Вот вы знаете, например, почему в нормальных языках индекс первого элемента в массиве начинается с нуля?

Потому что индекс это просто смещение в памяти на размер типа элемента массива, а первый элемент и так находится в самом начале.

– Прикладное программирование
Этот курс является обязательным, но программа обучения выбирается и проводится каждым преподавателем по-своему. на выбор могут быть представлены совершенно разные языки программирования. Собственно, самый важный курс для программиста.

У нас получилась очень весёлая (грустная) история. Нам сказали, что у нас вести данный курс будет новый преподаватель с опытом реальной работы. Оказалось, что последний раз она(преподаватель) программировала на ассемблере 20 лет назад на каком-то заводе и совершенно не имеет понятия как вести занятия. И тогда я предложил провести курс по C# вместо неё. Готовился к занятиям (в чём мне помог замечательный преподаватель «Мытищинской школы программистов»), придумывал задания, лабораторные, контрольные, домашние задания. В первом семестре я также принимал экзамен. Я доволен!
UPD: На самом деле если студент вместо преподавателя ведёт пары в течение семестра на постоянной основе, то это очень плохая ситуация, т.к. говорит о низкой квалификации преподавателей.

– Информационная безопасность
Слишком большой разброс, поэтому нет четкого плана, как это вообще вести (в вузах это вообще отдельное направление). Ожидания сбросьте на ноль.

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

Вы должны сразу понимать: всё, что я сейчас написал про пары – сугубо локальные случаи. Т.е. всё может сильно отличаться в другом учебном заведении! Каждый преподаватель по-своему ведет занятия. Есть те, кто делает это лучше или хуже других, но в целом, сейчас испытывается дефицит профессиональных преподавателей, поэтому ожидать чего-то сверх не стоит. Просто принимайте все как есть, это единственная надежда нормально доучиться и не разочароваться.

Подготовки ни к ЕГЭ, ни ко внутренним нет (сейчас что-то похожее организовали, но в колледжах без вузов такого обычно нет). Об этом вам придется позаботиться заблаговременно (за год или два). Все технические вузы принимают по внутренним экзаменам при наличии диплома СПО(среднего профессионального образования). Подготовка ко внутренним очень похожа на подготовку к ЕГЭ. Так что у вас появляется возможность сдать ЕГЭ. В этом нет ничего страшного. Абсолютно. Я сам сдал и доволен. Так мало того, вы автоматически готовитесь ко внутренним. Процесс сдачи ЕГЭ прост, вам лишь нужно зайти на сайт РЦОИ и почитать где и когда вы можете сдать ЕГЭ. Затем приехать на регистрацию и ждать экзаменов. Внутренние же экзамены проходят непосредственно в ВУЗе, задания обычно проще или такие же, но также их меньше, чем на ЕГЭ (Однако, подготовиться к ним немного сложнее, т.к. примеров заданий прошлых лет почти нет и в день экзамена некоторые задания могут поменяться).

В общем и целом колледж — способ понять, нужно ли вам это или нет, а также приобрести различные навыки, чтобы в дальнейшем вам было проще работать и учиться. Многие идут после колледжа работать, но они идут лишь веб-программистами и зачастую только front-end разработчиками. Если ставить своей целью такое занятие, то вышка вам больше не нужна, но дабы получить широкие возможности мы подразумеваем логичное продолжение — ВУЗ. Так что далее будем рассматривать именно их.

UPD: Прошло приличное количество времени с тех пор как я начал писать эту статью и мнение моё немного поменялось. Подытожим.

На данный момент образование для программиста в колледже не лучший вариант. Колледжи только набирают обороты. Пока нет специальных соревнований или олимпиад (те, что есть это какая-то профанация), качественных учебных программ, а толковых преподавателей мало. Но, тем не менее это хороший старт, если что-то не получилось или ты опоздал с универом. Также здесь есть некая фора в виде 4 лет обучения, когда ты можешь развиваться самостоятельно, проходить стажировки, участвовать в CTF или хакатонах, сдавать ЕГЭ или какие-то международные экзамены (чтобы затем поступить в зарубежный вуз) и в конце концов ты, скорее всего (99%), получишь диплом, что несомненно лучше, чем остаться ни с чем.

3 – Вторая ступень. Высшее учебное заведение. Бакалавр

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

Теперь посмотрим на контраргументы:

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

UPD: Рекомендую прочитать статью Программист без диплома: что может и чего не может дать «домашнее обучение» в IT, чтобы детально посмотреть на плюсы и минусы университетского образования.

Самое сложное это выбрать подходящий ВУЗ. Проблема кроется в нескольких вещах:

В наше время обучить человека довольно нелегко, особенно если профессия — программист. Проясним ситуацию.

Есть два типа программистов в ВУЗе: одни пишут программы на C# и программируют сайты, а вторые обучают нейросети, работают с big data, пишут программы для суперкомпьютеров и разрабатывают алгоритмы. Назовем этих людей “софты” и “научники” соответственно.

Для сопоставления программ обучения для каждого типа мы зайдем на сайты универов и почитаем программы обучения на следующих специальностях:

Рассмотрим каждую и условно поделим их на “софтовые” и “научные”.
Внимание! В качестве предметов далее представлены только самые распространенные и наиболее повторяющиеся от вуза к вузу. Не исключена возможность обнаружить новый или не обнаружить предмет на сайте конкретного вуза.

ПМИ (01.03.02)

Первый претендент “ПМИ”. Чтобы понять о чем эта специальность мы рассмотрим программу следующих вузов: МФТИ, НИУ ВШЭ, МГУ (им. Ломоносова), МГТУ им. Баумана, ИТМО, СПбГУ, СПбПУ (Политех Петра Великого).

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

Итак, если открыть эти файлы, то видим, что обязательно в учебном плане “прикладная математика и информатика” есть такие предметы:

Из этого можно сделать вывод, что это довольно мощная универсальная программа, но преимущественно нацеленная на подготовку специалистов узкого плана. Т.е. специалистов по машинному обучению, data scientist (специалист по работе с данными), системных программистов (написание модулей операционных систем и т.д.). Однако, эта специальность довольно универсальна, с хорошим математическим аппаратом и фундаментальными знаниями информатики и программирования (помимо выбранной специализации на самой программе) можно стать профессионалом почти в любой области.
От себя добавлю, что самый большой конкурс в вузах именно на эту специальность. Программа может отличаться, преподаватели и условия быть разными, то тем не менее, всё больше людей понимают и осознают необходимость получения такого образования.
Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
МФТИ – 295/295/310 (+ИД)
НИУ ВШЭ – 298/297/310 (+ИД)
МГУ – 422/425/510 (+физика егэ, +дополнительный экзамен по математике)
МГТУ им. Баумана – 277/268/310 (+ИД)
ИТМО – 309/283/310 (+ИД)
СПбГУ – 266/263/310 (+ИД)
СПбПУ – 253/249/310 (+ИД)
*у ВШЭ имеется две программы, которые схожи друг с другом. ПМИ и Прикладной анализ данных (ПАД). Первая ведётся на русском языке, вторая же на английском (информатика ЕГЭ заменяется на английский язык) и на 2018 год осуществляет подготовку только на контрактных местах. Отличие также в том, что ПАД целенаправленно сразу же готовит специалистов в области анализа данных (есть экономические дисциплины, меньше курсов по выбору, т.к. уже заданы).

Определенно эта программа относится к “научным”. Т.е. здесь довольно много математики, сложные дисциплины, и широкие возможности для дальнейшего развития.

МКН (02.03.01)

Что же, перейдем к следующей программе: МКН (математика и компьютерные науки).

Как вы могли заметить программа ещё более ориентирована на математический аппарат. Здесь много теории, а также низкоуровневых вещей, таких как разработка компиляторов, программирование на суперкомпьютерах, применение математических навыков в программировании. Если ПМИ это программирование, где помогает математика, то МКН это больше наполовину математики и программирования. Теоретические основы и узкоспециальные дисциплины делают отличного специалиста, но подойдет эта программа не каждому.
Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
СПБГУ – XXX/273/310 (+ИД)
СПБПУ – 251/246/310 (+ИД)

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

ФИИТ (02.03.02)

ФИИТ — фундаментальная информатика и информационные технологии.

Здесь дан большой курс информатики в различных направлениях. Очень большой набор предметов, самая что есть теоретическая информатика. Не обошлось, конечно, и без математического курса. Программа похожа на МКН, но отличается своей вариативностью и более широким набором дисциплин, но в тоже время не даёт точно понять кого именно выпускает. С таким набором можно также изучить любую область программирования, но скорее всего придется потратить еще немного времени.
P.S. Напоминает сборную солянку, понравится тем, кто еще точно не понял что ему нужно от мира программирования.
Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
СПбГУ – 267/264/310 (+ИД)
СПбПУ – 258/254/310 (+ИД)
Программу отнесём к “научным”, здесь много теоретической и практической информатики, а также “джентльменский” набор математических дисциплин.

И вот мы уже подошли к специальностям, код которых начинается с цифры 9. Итак, встречайте, первый участник — ИВТ.

ИВТ (09.03.01)

Информатика и вычислительная техника.

Что мы видим? Здесь довольно мало дисциплин по программированию, если и есть то, в основном, это языки ассемблера. На этой специальности идёт подготовка инженеров и “низкоуровневых” программистов. Программирование микрочипов, написание кода операционных систем, создание своих систем вычислений, разработка команд процессора и пр.
в некоторых университетах требуется сдавать физику вместо информатики
Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
МФТИ – 389/410 (+ИД, +физика)
НИУ ВШЭ – 257/263/310 (+ИД)
МГТУ им. Баумана – 275/278/310 (+ИД)
ИТМО – 272/272/310 (+ИД)
СПбПУ – 255/249/310 (+ИД)
Довольно сложно четко отнести эту специальность к “научным” или “софтовым”. Она как бы стоит особняком. Однако, при должном уровне подготовки выходит грамотный специалист не только со знанием схемотехники и языков ассемблера, но и уверенным владением физических дисциплин, что само по себе непросто и позволяет отнести эту специальность к “научным”.

Настала очередь прикладной информатики.

ПИнф (09.03.03)

ПИнф — прикладная информатика.

Вопреки ожиданиям многих людей именно эта программа ориентирована на подготовку менеджеров программного продукта, управленцев в области информационных технологий и приобретение навыков ведения деловых переписок. Нужно открыть своё дело, оформить документы? Как раз выпускник этой специальности поможет вам в этом.
Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
МГТУ им. Баумана – 272/274/310 (+ИД)
ИТМО – 285/282/310 (+ИД)
Специальность “софтовая”, т.к. даны базовые навыки программирования, но бóльшая часть времени отведена изучению экономики, управления и прочих смежных областей.
P.S. Не в обиду: часто можно увидеть картину, когда выпускник “прикладной информатики” не умел программировать вообще (к счастью, это от него и не требуется).

Подойдем к финальной стадии — программная инженерия.

ПИ (09.03.04)

ПИ — программная инженерия.

Вы знаете, даже для меня программа специальности «программная инженерия» стала неожиданностью в том смысле, что ранее я сравнивал её с ПМИ, однако, при написании статьи и детальном изучении будет правильнее говорить о сравнении по крайней мере не только с ПМИ, но и с ПИнф. По сравнению с прикладной информатикой здесь меньше экономических и около экономических дисциплин. Также здесь широкий выбор направлений для программирования. Здесь есть всё, начиная от ассемблера, заканчивая разработкой интерфейсов. Набор математических дисциплин здесь представлен в меньшем объёме, нежели у ПМИ. Однако, это не означает, что вы не сможете заниматься машинным обучением, анализом данных и стать data scientist, это значит лишь то, что времени программы этому уделено меньше и вам скорее всего придётся покапать самому больше, чем студенту/выпускнику с ПМИ. Является по праву второй по популярности специальностью обучения среди абитуриентов.

Проходные баллы 2017 и 2018 ЕГЭ на бюджет (2017/2018/Максимально):
НИУ ВШЭ – 296/296/310 (+ИД)
МГТУ им. Баумана – 275/287/310 (+ИД)
ИТМО – 282/284/310 (+ИД)
СПБГУ – 282/281/310 (+ИД)
СПБПУ – 259/262/310 (+ИД)

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

UPD: Некоторые думают, что здесь идёт агитация против самообразования. Это не так!Самообразование – важная составляющая становления профессионала. Оно должно дополнять. Потреблять исключительно вузовскую программу нельзя.

В настоящий момент это не единственные специальности по подготовке. Например, МФТИ в этом году открыл направление «Computer Sceince», но будет только первый набор и программа на английском языке. Ещё в ВШЭ есть ПАД, о котором упоминалось раньше, но обучение там только на английском и только платно.

Теперь я хотел бы сказать о том, почему я не рассматривал другие ВУЗы или другие города.
Во-первых я не хотел распыляться и взял только самые «топовые» университеты в Москве и Петербурге. К слову сказать, например, в Новосибирске есть замечательный НГУ (Новосибирский государственный университет), но там он чуть ли не единственный и понятное дело абитуриентам близлежащих городов следует поступать туда. Во-вторых я не вижу смысла рассматривать программу непрофильных вузов или вузов сильно ниже в рейтинге университетов, потому что они не показательные и стараются копировать программу «сильных» университетов.

P.S. Есть такая присказка, кстати:

Если вуз не может сделать себе нормальный сайт, то в такой вуз лучше не идти.

Самая большая проблема выбора состоит в том, что необходимо набрать почти максимальное количество баллов за ЕГЭ (или за внутренние экзамены, которые переводятся в 300/400 балльную шкалу) ради возможности поступить туда, куда хочешь, а не куда можешь.

Возьмём, к примеру, МГУ, МФТИ и НИУ ВШЭ. Сейчас это самые популярные ВУЗы в Москве и обладающие высокими позициями в международных рейтингах (относительно других Российских университетов). Но и конкурс соответствующий. Без должной подготовки попасть туда сложно.
Однако, за ваши деньги как говорится (я сейчас абсолютно серьезно. проходной балл на платное неприлично маленький).

Я бы хотел представить вам несколько интервью с людьми, которые связали свою жизнь с IT

UPD: Интересно узнать как мнение состоявшегося специалиста, так и студента.
Встречайте –

Я Иван Саенко, студент ВМК МГУ.
Средняя школа
Расскажи немного о себе, где жил, где учился(лицей, гимназия и тд), что больше всего нравилось?
Жил до поступления в городе Таганроге в Ростовской области, учился в школах, крутых на городском уровне, но не более. Интересовался историей и географией, в полную силу заниматься точными науками начал с 10 класса, когда поступил в ЗФТШ МФТИ, и все завертелось.

Участвовал в олимпиадах? Какие успехи были?
Да, участвовал во многих олимпиадах по математике и программированию, к сожалению, в призовые места на олимпиадах в выпускной год не попал (два раза не хватило ровно одного балла), поэтому поступать пришлось по ЕГЭ. Но в 9 классе взял на региональном этапе и по географии, и по истории призера (по географии не хватило до всеросса совсем чуть-чуть).

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

Учился в профильном классе?
Да, но уверен, что по сравнению с московскими школами наш был на уровне обычного непрофильного) Было по 6 часов математики и физики + 4 часа информатики

Насколько сложно было учиться?
Не очень сложно, учитывая выше указанное:)

Сдавал ЕГЭ? Если да, то какие предметы и какой суммарный балл?
Сдавал русский, математику, информатику, физику: 96+84+84+71, и также дополнительный экзамен в МГУ по математике на 80/100

Куда решил поступать? Рассматривал зарубежные ВУЗы?
Решил поступать на ВМК МГУ, как наилучший из имеющихся вариантов (до ФИВТ МФТИ не хватило баллов (на олимпиадах, кхм-кхм)), но ни тогда, ни сейчас не жалею об этом. Нет, на иностранные вузы даже не смотрел от слова совсем.

На каком ты факультете, какая у тебя специальность?
Прикладная математика и информатика на ВМК МГУ

Тебе нравится учиться? Сложно ли? Много ли нового ты узнал?
*Да, нравится. Я получил, что хотел – хорошую математическую подготовку, сейчас распределился на кафедру ММП (математических методов прогнозирования) – пойду в data science по стопам великих:) Из первых четырех семестров самый крутой курс по программированию был на третьем: курс операционных систем (на Си под Linux) – видно, что он современнее, чем остальные.

Да, было действительно сложно, особенно во время сессии. К сожалению, на экзамене на большинстве предметов работа в семестре не учитывается почти никак (если по этому же предмету у вас был зачет, например, то сдал ты зачет автоматом или зачета у тебя нет – все равно). Очень многое зависит от семинариста (так как переводиться между ними нельзя, кроме случаев, когда саму группу ведут два семинариста, как на программистских курсах).
Последний вопрос даже странный немного – конечно же, да.*

Принимаешь участие в хакатонах/соревнованиях/олимпиадах?
К сожалению, на первых двух курсах лично у меня на это времени не хватало (хотя немало моих одногруппников вполне себе успевали)

Расскажи немного о том, как принимал решение о выборе, на что обращал внимание?
На самом деле первоначальных критериев было немного — не севернее Москвы (мне было бы очень грустно привыкать к питерской погоде), высокий уровень сокурсников (очевидно) и высокий уровень преподавания. В итоге получился именно такой вариант. К слову, я на самом деле знал много меньше того, что должен был знать и мне, можно сказать, довольно повезло, что внезапно (нет) появившиеся минусы не заслонили мне плюсы.

Помогли ли тебе знания, полученные в школе при поступлении?
Да, я считаю, что моя школа задачу по подготовке к экзаменам меня на своем уровне выполнила, и нужные знания для этого дала. А то, что этого может не хватить для плавного старта при обучении в крутом месте — это уже другая, более широкая проблема (мое мнение таково, что массовая школа и не способна забраться на самый верх — абитуриент сам должен озаботиться тем, за счет чего он поступит в МФТИ/МГУ/ИТМО/СПБГУ/etc. и за счет чего он там будет учиться)

Может что-то расскажешь про студенческую жизнь?
В МГУ можно заниматься почти чем угодно – так как студентов очень много (около 40 тысяч человек), то единомышленники найдутся точно. Например, есть больше 40 спортивных кружков. Также на факультетах можно заниматься чем-то еще, кроме учебы, если интересно – студсовет и профком с ежегодной школой актива ждут вас.

Расскажи в целом об учебе в ВУЗе, понравилось ли, посоветовал ли поступать?
*Самый интересный вопрос. Как понятно по другим моим ответам, мне, конечно, понравилось. На хабре точно было минимум два поста про первый курс ВМК, и уверяю – не поменялось почти ничего (не считая того, что добавили абсолютно бесполезный русский, который выполняет единственную функцию – отнимает время. Лень рассказывать про влияние проректоров, пропихивающих свои предметы в программу, к счастью, у нас такой неадекват на русском и заканчивается.
Да, программа младших курсов (в отличие от старших, проходящих на кафедрах, которые, конечно, заинтересованы в своих студентах и могут добавлять/убирать/изменять курсы очень быстро) не меняется. Конечно, матан с линалом убирать глупо и бессмысленно, но я уверен, что два семестра физики можно заменить на что-нибудь ближе к дискретному анализу или матлогике. Но есть нюанс – немало кафедр у нас связаны с физикой (не есть что-то плохое – вот, у Samsung есть лаборатория на нашей кафедре математической физики), и похоже, что люди, ответственные за учебный план, уверены, что физика нам нужна. Короче, еще один дискуссионный вопрос.
Главное преимущество ВМК перед другими аналогичными факультетами – это разнообразные кафедры ( https://cs.msu.ru/departments ) – скорее всего, вы найдете себе занятие по душе. Но чтобы попасть на популярную кафедру, обычно нужен хороший средний балл зачетки, поэтому за него на первых семестрах стоит биться.
Мне сложно сказать, стоит ли конкретному человеку поступать на ВМК. Очень хорошо, если вы уже представляете себе, чем будете заниматься- тогда надо сравнить конкретно ваше направление на разных факультетах, посмотреть на конкретную работу людей по этой специальности (то есть, к примеру – направление компьютерной безопасности у нас лучше, чем у конкурентов (можете с Bushwhackers пообщаться), а за дискретной математикой лучше идти на ФИВТ). Если такого представления нет, конечно, выбор будет гораздо труднее.*

Немного о работе.
Ты сейчас параллельно работаешь?
Нет, начать работать планирую не раньше 4 курса.

И, напоследок, хотел бы узнать твоё мнение насчёт распространённых вопросов.

Как считаешь: важно ли знать структуры данных и алгоритмы их обработки?
Тут, наверно, многие ответят — да, конечно, очень важно (я тоже так хотел сначала отписать и перейти к следующему вопросу); мне кажется, зависит от сферы приложения знаний. Когда-то на хабре вывесили «теормин», который якобы должен знать каждый программист. Там было ну очень много всего вплоть до химии кремния, и мое мнение — каждый должен лучше знать то, что нужно для его конкретной специальности.

Какой совет можешь дать абитуриентам?
Абитуриентам нужно заботиться о двух вещах — об обеспечении поступления (олимпиады, хорошее ЕГЭ) и о месте поступления. Думаю, мои советы по первому поводу будут не очень актуальны, а по второму — очень хочется пожелать каждому отречься от любой рекламы и адекватно, вдумчиво рассмотреть все варианты — посмотреть учебный план, кафедры желаемого факультета; поспрашивать студентов о важных проблемах (хоть кто-нибудь, да расскажет и поможет сравнить минусы и плюсы). А если честно — все топовые места в нашей сфере очень близки друг к другу, и выбирать надо из своих (шкурных) желаний и интересов.

Проходил ли дополнительные курсы, очные занятия?
Занимался несколько лет оффлайн с преподавателями по математике, физике и русскому, они мне сильно помогли при поступлении, спасибо им большое – без них мне, конечно, было бы гораздо тяжелее.

Спасибо за интервью!

Сначала затронем тему средней школы.
Расскажи немного о себе, где жил, где учился(лицей, гимназия и тд), что больше всего нравилось?
Жил в Санкт-Петербурге, учился в школах 104 (1-й класс), 653(со 2-го по 7-й классы), 664 (лицей восточной культуры на тот момент, с 8-го по 11-й классы). Учиться точно не нравилось, нравилось играть в компьютер. Оттуда кстати базовое знание компьютера, так как раньше поставить и настроить игрушку было в разы сложнее.
Участвовал в олимпиадах? Какие успехи были?
1 раз по русскому и 1 раз по информатике, обе с треском провалил :)
Куда дальше поступил(лицей, колледж)?
Дальше продолжил учиться в школе.

Старшая школа:
Учился в профильном классе?
Нет.
Насколько сложно было учиться?
Да ничего необычного. В среднем учился на 4.
Куда решил поступать? Рассматривал зарубежные ВУЗы?
В СПбПУ (на тот момент СПбГТУ, он же Политех). Зарубежные не рассматривал.

А теперь расскажи про свой ВУЗ.
Где учился?
Собственно, там, куда и собирался – Политех :)
Расскажи немного о том, как принимал решение о выборе, на что обращал внимание?
Да случайно попал практически. У друга был дядя на факультете радиофизики, сходили на день открытых дверей (после 10 класса). Решил, что на РФФ не хочу и пошел на подготовительные курсы на Факультет Технической Кибернетики (наивный, думал меня там программированию научат). Т.е. по сути ткнул пальцем наугад.
Помогли ли тебе знания, полученные в школе при поступлении?
Не особо, больше помогли знания с подготовительных курсов. Но сейчас смысла нет, ибо ЕГЭ. Тогда еще в каждом универе были свои экзамены.
На каком ты факультете, какая у тебя специальность?
Факультет Технической Кибернетики, кафедра измерительной техники и технологии, направление приборостроение.
Тебе сложно было/сейчас учиться? Много ли нового ты узнал?
Учиться нормально было, выгнать не пытались. Узнал много.
Принимал ли участие в хакатонах?
Какие там хакатоны в начале 2000-х, тогда еще даже про смузи и коворкинги не слышали :)
Может что-то расскажешь про студенческую жизнь?
Да, было веселое время :)
Расскажи в целом об учебе в ВУЗе, понравилось ли, посоветовал бы поступать?
Да кто ж его знает, я там уже 11 лет не был. Все могло поменяться. Не думайте, что в ВУЗе вас всему научат. В лучшем случае вас научат учиться и дадут какую-то базу, а дальше все сами.

Работа:
Ты сейчас работаешь? Если не секрет, то где и как долго?
Да, работаю. В Booking.com. Вот только недавно переехал. До этого 3 года на Кипре работал.
Помогли ли тебе полученные в вузе знания на практике, полученные на олимпиадах/хакатонах?
В основном нет. Помогло то, что выучил сам. Если считать онлайн соревнования по программированию за олимпиады, то они помогли.
При трудоустройстве что помогло, на что обращали внимание?
Общее знание Computer Science, знание необходимое по специальности (Android разработчик), умение понимать потребности бизнеса.

Другое:
Как считаешь: важно ли знать структуры данных и алгоритмы их обработки?
Да, важно. Хотя бы по минимуму.
Проходил ли дополнительные курсы, очные занятия?
Подготовительные курсы при поступлении. Остальное или онлайн курсы, или сам.

Спасибо, Александр!

Расскажи немного о себе, где жил, где учился(лицей, гимназия и тд), что больше всего нравилось?
Жил и учился в Москве, сменил две школы: первая была близко к дому, а вторая хорошая. Больше всего любил математику, хотя даваться она мне начала только классе в девятом.
Участвовал в олимпиадах? Какие успехи были?
Вообще не олимпиадник, один раз пробился на городской тур по математике и в итоге его прогулял, чем вызвал расстройство своего преподавателя. Простите, Марина Викторовна.
Какие были оценки?
Закончил школу с тремя четвёрками, но по факту все гуманитарное прошло совершенно мимо меня.
Куда дальше поступил(лицей, колледж)
зам. автора: остался в школе

Старшая школа:
Учился в профильном классе?
Да, в математическом.
Насколько сложно было учиться?
Не слишком сложно, в миллион кружков не ходил, иногда прогуливал. В общем, через силу из меня гения не делали)
Сдавал ЕГЭ? Если да, то какие предметы и какой суммарный балл?
Сдавал математику и русский, тогда ЕГЭ только вводили. По математике было 75, что я до сих пор считаю ужасным провалом, а по русскому если бы было на балл меньше, то была бы тройка в школе итоговая. Так что проскочил, но вот сколько именно было — не помню.
Куда решил поступать? Рассматривал зарубежные ВУЗы?
Бауманка, считал ее лучшим техническим вузом страны. Зарубежные не рассматривал.

ВУЗ:
Где учился/учишься?
Закончил Бауманку.
Расскажи немного о том, как принимал решение о выборе, на что обращал внимание?
Справа пошел туда на подготовительные курсы, думал что там смогу куда захочу подготовиться, в итоге решил, что планку понижать нельзя и в саму Бауманку и пошел.
Помогли ли тебе знания, полученные в школе/колледже при поступлении?
Ещё как, математика школьная очень помогла. А вот физику я сдал только благодаря курсам, конечно.
На каком ты факультете, какая у тебя специальность?
Информатика и системы управления, защита информации.
Тебе сложно было/сейчас учиться? Много ли нового ты узнал?
Был раздолбаем, учился с хвостами. Считаю, что вынес 3-5% от того, что нам дали. При этом, думаю, что полезного было процентов десять. Ясно, что вынес только полезное, так что КПД неплохой :)
Принимал ли участие в хакатонах?
Нет.
Может что-то расскажешь про студенческую жизнь?
Очень сильно сформировался характер. Считаю, что больше всего мне дал круг общения и четыре работы, которые я сменил пока учился.
Расскажи в целом об учебе в ВУЗе, понравилось ли, посоветовал бы поступать?
Сейчас многие кто там учиться, говорят, что Бауманка сильна. Мой опыт был скорее негативный, но многое меняется в лучшую сторону. Так что советовать не буду, но и отговаривать тоже. Если смотреть по одногруппникам, то многие добились достойного положения в жизни. В общем, бойцовские качества важнее знаний.

Работа:
Ты сейчас работаешь? Если не секрет, то где и как долго?
3 года в текущей компании, начал как преподаватель, сейчас руковожу отделом, стремлюсь дальше.
Помогли ли тебе полученные в вузе знания на практике, полученные на олимпиадах/хакатонах?
Не помогли.
При трудоустройстве что помогло, на что обращали внимание?
Предыдущий опыт помог и огромное желание работать.

Другое:
Как считаешь: важно ли знать структуры данных и алгоритмы их обработки?
Первое важно. А хитроумные алгоритмы давно вызываются одной командой.
Какой совет можешь дать абитуриентам?
Хороший ВУЗ открывает много дверей, не только знания, но и круг общения и доступ к собеседованиям на ответственные должности. Однако, если есть воля, любую из этих вещей можно получить и иначе.
Проходил ли дополнительные курсы, очные занятия?
Да, при поступлении были курсы а потом и репетитор по физике. Во время обучения в ВУЗе ничего не проходил.

Средняя школа:
Расскажи немного о себе, где жил, где учился(лицей, гимназия и тд), что больше всего нравилось?
Гимназия 1563 в Измайлово.
Участвовал в олимпиадах? Какие успехи были?
Было, но особо не фанател — дальше города не проходил.
Какие были оценки?
Хорошист.
Куда дальше поступил(лицей, колледж)?
Лицей СУНЦ МГУ.

Старшая школа:
Насколько сложно было учиться?
Да.
Сдавал ЕГЭ? Если да, то какие предметы и какой суммарный балл?
На ЕГЭ откровенно забил, почти все было покрыто олимпиадами.

ВУЗ:
Где учился/учишься?
МГУ.
Расскажи немного о том, как принимал решение о выборе, на что обращал внимание?
Профильное образование, активности, в Москве (поэтому не физтех).
Помогли ли тебе знания, полученные в школе/колледже при поступлении?
Да.
На каком ты факультете, какая у тебя специальность?
ВМК.
Тебе сложно было/сейчас учиться? Много ли нового ты узнал?
Смело можно было уходить после 3его курса.
Принимал ли участие в хакатонах?
Нет.
Посоветовал бы поступать?
Средне, зависит от кафедры.

Работа:
Ты сейчас работаешь? Если не секрет, то где и как долго?
Яндекс, почти 2 года.
Какова роль ВУЗа в становлении тебя специалистом?
Дало обширную базу.
Помогли ли полученные знания при трудоустройстве?
Скорее нет, чем да.

Другое:
Как считаешь, стоит ли принимать участие в олимпиадах по программированию и тренироваться в решении задачек?
Совершенно не обязательно.
Как считаешь: важно ли знать структуры данных и алгоритмы их обработки?
Да.
Проходил ли дополнительные курсы, очные занятия?
Да.

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

Графики построены на данных людей, которые учатся в ВУЗе и/или сейчас работают. (P.S. данные по всем опрошенным доступны здесь: https://docs.google.com/spreadsheets/d/1utkv_GnvsU378ktW-Ztlcjdqb7zp8PCYShEBZOuLyjc/edit?usp=sharing)

Warning!

Хотел бы сразу предупредить несколько моментов:

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

Вы можете сами исследовать эти данные и построить все необходимые графики. Самые интересные, по-моему мнению, я поместил в статью.

Если вы найдёте какие-то ошибки или неточности, а может захотите дополнить статистику, то прошу не медлить и сообщать, будем насыщать вместе!

Была допущена колоссальная ошибка в опросе – отсутствие вопроса про уровень владения английским языком. Очень надеюсь, что сообщество Хабра поможет исправить это недоразумение пройдя опрос!

Пройти опрос и помочь статистике можно тут: https://goo.gl/forms/W7DGa1htfFCZlzOD3
UPD: Спасибо, что проходите опрос!

Также, почти все участники учились на 4 и 5, а любимым предметом были: математика, физика/информатика.

Подавляющее большинство участвовало в олимпиадах. Что, довольно ожидаемо.

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

Баллы ЕГЭ.

Участие в хакатонах.

Конечно, большинство убеждены, что структуры данных и алгоритмы их обработки полезный навык.

Связана ли работа с образованием/специальностью участника?

Также отмечу, что большинство учится на бюджете. Специальности разные, но варьируются между 01.03.xx 02.03.xx и 09.03.xx. 17% сказали, что учится сложно. Подавляющее большинство участников также уверены, что алгоритмы либо важнее, либо их скорее важно знать. Можно ещё отметить, что должность (специализация работы) на данной выборке зависит не прямо пропорционально специальности, т.е. студент с ПМИ работает как и специалистом по машинному обучению, так и разработчиком корпоративных систем, мобильных приложений, так и преподавателем.

Насчёт важности диплома я могу сказать следующее: чтобы первый раз устроиться на работу вы должны как-то выделиться, вас должен как-то заметить и HR и технический специалист, который вас собеседует, одним словом – работодатель. Вы не поверите (вероятно), но когда я искал должность младшего разработчика C# все в первую очередь обращали внимание на образование. Т.е. настрой собеседующего сильно зависел от названия услышанного учебного заведения. Лично я заметил это в таких компаниях как: Леруа, Copter Express, МТС, Яндекс (хотя казалось бы, да?), Ланит БиПиЭм, Delta Solutions. Другие маленькие компании так и вовсе не пригласят на личную встречу без подтверждения наличия у вас высшего образования или факта, что вы являетесь студентом 3-го курса. Мне приходилось даже где-то лукавить, чтобы позвали. В итоге я всё же получил заветную работу в одной из этих компаний будучи студентом колледжа. Одно я понял для себя точно: иметь хорошую базу и достойный Вуз за спиной будет только большим плюсом!

Если остались какие-то вопросы, уточнения, то прошу в комментарии, чтобы я смог оперативно ответить.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Что изучают программисты в вузах
  • что изучают на факультете программная инженерия
  • что изучают на первом курсе программирования
  • Что изучают на 2 курсе колледжа программисты
  • Что изучают в колледже на факультете программирование

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии