что лучше компьютерные науки или информатика
Почему бакалавриат в России готовит ИТ-недоучек? Советы первокурсникам
Поздравляю всех поступивших в ВУЗ!
Хочу поделиться некоторыми мыслями по поводу ИТ-образования в России. Шо, опять?!
В настоящее время Россия переходит на систему бакалавр+магистр. Переходит с большим скрипом.
Чему учат
Что же за зверь такой «бакалавр»?
Откроем новый образовательный стандарт (для примера специальность 230200 «Информационные системы и технологии»).
Бакалавра учат 4 года, из них:
13% Гуманитарный, социальный и экономический цикл
27% Математический и естественнонаучный цикл
1% Физ-ра
3% Практика, НИР
6% Аттестация, диплом
Собственно на предметы по специальности остается ровно 50%. В предыдущем стандарте было 45%.
В эти 50% еще входят такие далекие от компьютеров предметы, как метрология и БЖД.
Если открыть список курсов Computer Science какого-нибудь европейского (Кембридж) или американского (МИТ) ВУЗа, то видно что на загнивающем Западе к образованию относятся более прагматично. Беглый обзор дает основания считать, что в computer science за рубежом все предметы так или иначе связаны со специальностью. Оторванных дисциплин нет — если есть экономика или математика, то она дается применительно к ИТ. Это оказалось неправдой, спасибо MaximKat. Соотношение профильные/непрофильные предметы на Западе примерное такое же как у нас (хотя это зависит от университета, а у нас жестко прописано в образовательном стандарте).
Я не буду спорить, хорошо или плохо наличие гуманитарных предметов или вопрошать зачем программисту матан, макроэкономика и экология. Факт в том, что они здорово кушают часы основной программы.
Диплом. Дипломный проект специалиста должен быть завершенной разработкой. Выпускная работа бакалавра — некое «исследование» по теме. Нагони туману и налей воды. Никакого проектирования.
Как учат
Вторая проблема: у нас предметы часто преподаются без взаимосвязи друг с другом и в отрыве от основной специальности. Преподаватели не утруждают себя объяснением, зачем вообще нужен их предмет, какие дисциплины являются смежными, как это потом понадобится на практике? Оно и не надо: в отличие от зарубежных студентов, у нас просто нет выбора — почти все предметы обязательны. Отсутствие дисциплин по выбору — еще один недостаток. Конечно, в стандарт заложены часы на курсы по выбору студента, но в реальной жизни это все остается на бумаге.
В итоге качество подготовки выпускников и их компетенции не соответствует ожиданиям бизнеса. И наоборот, предложения на рынке труда не соответствуют ожиданиям выпускников 🙂 Одной из причин этого является то, что бизнес слабо сотрудничает с ВУЗами — хороших специалистов он хочет получить «на блюдечке», без затрат.
Что должен уметь специалист с точки зрения крупнейших ИТ-фирм можно посмотреть здесь.
Что делать?
Если вы собираетесь поступать на ВМК МГУ, на физтех или учиться за рубежом — дальше можно не читать 🙂 Текст для среднестатистического абитуриента/студента.
Советую почитать образовательный стандарт по своей специальности: перечень образовательных стандартов, рубрикатор специальностей. Учтите, что коды специальностей менялись уже 2 раза, например, «Информационные системы и технологии» были 071900, потом стали 230200, а теперь уже 230400.
Что дальше?
По окончании бакалавриата изучите возможность поступления в магистратуру. Насколько «сильная» она у вас в ВУЗе? Возможно стоит поступить в другой ВУЗ или немного поменять специальность?
В последнее время появились серьезные платные магистратуры с высоким уровнем подготовки (например, тыц, тыц).
Компьютерные науки или программная инженерия – что выбрать?
На кого учиться: изучать компьютерные науки или постигать навык софт-инженера – вопрос очень популярный. А что вы выберете?
Очень часто можно встретить размышления на тему выбора одного из перечисленных направлений: “Какая разница между вычислительной техникой и программной инженерией?” и “Должен ли я выбрать вычислительную технику или программную инженерию, если хочу стать софт-инженером?”.
В этой статье мы попытаемся понять и проанализировать важность и необходимость обучения этим специальностям.
Быстрый осмотр пациента
Чтобы понять разницу между специалистами в области вычислительной техники и программного обеспечения, давайте взглянем на их соответствующую учебную программу в Университете Ватерлоо в Канаде.
Какие перспективы?
Давайте сначала сравним виды рабочих мест и стажировок, которые вы можете пройти после каждой программы.
К счастью, на сайте университета Ватерлоо есть несколько примеров. По каждому из направлений предложены места работы после успешного завершения учебы:
Как вы можете видеть, нет особой разницы между рабочими местами, которые вы можете получить.
Наиболее распространенные предложения работы, на которые можно рассчитывать после получения степени «Компьютерные науки» или «Программная инженерия» – это разработчик программного обеспечения или инженер-программист. Существуют и другие варианты, такие как менеджер продукта, аналитик QA и консультант по технологиям, которые зависят от вашего набора навыков.
Обязательные темы первого года
Теперь давайте посмотрим на курсы каждой программы. Сначала сравним некоторые курсы, которые вам нужно будет посетить в первый год.
Как вы видите, на первом курсе обе специальности очень похожи. Обе рассматривают основные знания по информатике, алгебре и исчислениям. Отличия в том, что на “Программной инженерии” есть дополнительно физика и электротехника, в то время, как у “Компьютерных наук” еще несколько факультативов.
Обязательные темы второго курса
Теперь рассмотрим предметы второго курса.
Когда дело доходит до математики и статистики, вычислительная техника и программная инженерия почти похожи. Они охватывают комбинаторику, теорию вероятностей и статистику.
Основные требования по обоим направлениям также схожи и рассматривают алгоритмы, структуры данных и операционные системы.
Рассмотрим ключевые различия:
И все-таки, что выбрать, чтобы быть инженером-программистом?
Исходя из набора предметов и курсов в этом университете следует, что лучшим выбором будет “Вычислительна техника”, если вы хотите стать инженером-программистом.
Для простоты предположим, что вы надеетесь получить одну из самых высокооплачиваемых работ (
100 000 долларов США в год) в качестве инженера-программиста в Северной Америке. Эти рабочие места обычно находятся в крупных компаниях-разработчиках программного обеспечения (например, Microsoft, Google, Amazon и т. д.). Или в компаниях среднего бизнеса с высокими темпами роста (Dropbox, Lyft, Snapchat, Pinterest и т. д.).
Как правило, они ищут в кандидате на программиста возможность писать хороший код и создавать интересные проекты, а также знание основ компьютерных наук, структур данных и алгоритмов.
Лучший способ активизировать этот набор навыков – быстро изучить основы и тратить свое время на решение проблем и написание кода.
Основываясь на учебной программе для софт-инженера и на занятости инженеров-программистов, это будет сложнее сделать на курсе “Программной инженерии”.
Еще одно преимущество “Вычислительной техники” в том, что она дает больше факультативов. Это здорово, потому что в зависимости от того, что востребовано на рынке труда, вы сможете корректировать свое обучение. Например, если разработка мобильных приложений востребована, вы можете начать изучать ее.
Несколько примечаний
Заключение
Если в университете, в котором вы заинтересованы, нет специальности программная инженерия, можно остановиться на вычислительной технике, если вы хотите стать разработчиком программного обеспечения. Вычислительная техника больше ориентирована на аппаратное обеспечение, чем на компьютерную науку или программное обеспечение, поэтому она меньше связана с работой типичного разработчика ПО. Перевод на русский осуществлен Библиотекой Программиста.
IT-сфера: как выбрать перспективную специальность?
Из списка 25 самых перспективных профессий США по версии ресурса Glassdoor 12 относятся к сфере информационных технологий. Среди них:
«Высокие финансовые перспективы в профессии влияют на стоимость образования. На западе большинство программ высшего образования платные. Но в России в ведущих технических вузах больше половины мест на программы бакалавриата — бюджетные. При этом некоторые программы в России имеют международные аккредитации, а значит ничем не уступают по качеству. Можно сделать вывод, что у российских школьников есть возможность получить качественное образование международного уровня вне зависимости от финансовых возможностей семьи».
IT-специальности
В сфере IT множество программ обучения. В этой статье разберемся, какие базовые специальности представлены в российских технических вузах.
Условно все специальности можно разделить на три категории:
Компьютерные науки — в этой категории происходит создание или улучшение программных продуктов, а не физических устройств. Например, разработка интерфейсов, тестирование программного обеспечения, анализ данных, информационная безопасность. К этой категории относятся специальности «прикладная математика и информатика», «программная инженерия», «информационная безопасность».
Инженерные специальности — для тех, кому нравится «работать с железом» и при этом немного программировать. Эти специальности обычно объединяет то, что для поступления надо сдавать ЕГЭ по физике, а не по информатике. Например, это специальность «Инфокоммуникационные технологии и системы связи» или «Информатика и вычислительная техника».
Управление — если есть желание работать с людьми. Например, управлять командой разработки или командой, осуществляющей внедрение продукта.
Здесь и далее перед названием специальности будет указан числовой код — это код специальности по ОКСО ( Общероссийский классификатор специальностей по образованию ). По нему можно найти интересующую специальность в любом вузе России.
Компьютерные науки
В связи с этим базовые математические дисциплины занимают меньший объем в учебных планах по сравнению с предыдущей специальностью. Зато больше времени уделяется различным языкам и методам программирования.
Другая часть сотрудников занимается «Яндекс.Поиском», разрабатывает поисковые алгоритмы — например, в каком порядке информация будет ранжироваться в результатах выдачи. Перед ними каждый день стоит большое количество сложных математических задач. В случае если вам интересна математика, анализ данных, машинное обучение, искусственный интеллект, создание наукоемких программ, то вам стоит присмотреться к «Прикладной математике и информатике». Если вам ближе технологический процесс, который состоит из большого количества этапов, начиная с выявления предпочтений пользователей и заканчивая выводом продукта на рынок, то вам прямая дорога в «Программную инженерию».
2.10.03.01. Информационная безопасность — программа ориентирована на подготовку специалистов, обладающих современными методами защиты информации. Студенты этой программы изучают базовый курс математических дисциплин, общую физику, а также криптографию, защиту информации и передачу данных в качестве профильных дисциплин. В ВШЭ часть курсов по этой специальности ведется на английском языке. Не путайте с компьютерной безопасностью: она похожа по названию, но находится в инженерном блоке. Эта специальность больше про защиту информации на уровне «железа», а не на уровне программ.
Чтобы стать профессионалом в этой области, необходимо иметь широкое понимание разных разделов фундаментальной математики и представление обо всех отраслях информационных технологий, а также знать все текущие тренды. Такие специалисты ищут уязвимости в программных продуктах, которые зачастую находятся в использованных в них технологиях. Например, в JavaScript библиотеке, которую используют все, допущена уязвимость: если мы про нее знаем, то можем получить данные из всех web-приложений, которые ее используют.
Инженерные специальности
11.03.02 Инфокоммуникационные технологии и системы связи — программа, ориентированная на работу в сфере инфокоммуникационных технологий, в области технологии и разработки технических средств обработки и хранения всех видов информации, ее приема и передачи на любые расстояния. Будущим специалистам необходимо будет разбираться в работе операционных систем и в элементах программирования. В основном они работают с физическими устройствами, а не с программами.
02.09.03.01. Информатика и вычислительная техника — программа для инженеров, специализирующихся на робототехнике и проектировании систем реального времени. Кроме математических дисциплин в программу входит курс физики. Выпускники этого профиля создают программно-аппаратные комплексы, закладывая в него программные решения. OCR — программно-аппаратный комплекс (сочетание железа и софта), именно их учатся делать на этой специальности.
Управление
5.38.03.05 Бизнес-информатика. Что обычно изучают студенты: менеджмент, бизнес-аналитику, бизнес-процессы, а также интеграцию информационных систем в процесс работы. Целевой выпускник программы — сотрудник консалтинговой компании с навыками бизнес-аналитики и автоматизации бизнес-процессов, с хорошим пониманием возможностей информационных технологий и их спектра, но без прикладных навыков программирования (либо на базовом уровне).
02.09.03.03. Прикладная информатика — можно сказать, что программа тоже ориентирована на подготовку управленцев в области информационных технологий и интеграторов, но более узкоспециализированных. В чистом виде специальность «Прикладная информатика» встречается редко, гораздо чаще встречаются, например, «Прикладная информатика в экономике» или «Прикладная информатика в строительстве» — это всегда применение специализированных для этой отрасли программ и подходов автоматизации и цифровизации.
В современном мире не только университеты участвуют в образовании будущих программистов. Во многих крупных IT-компаниях есть бесплатные программы обучения и стажировок, ориентированных на студентов старших курсов. Обычно приложения о стажировках публикуют на сайтах и в социальных сетях университетов.
В пользу программирования
Новички в сфере информационных технологий окружены стереотипами и из-за этого им бывает сложно начать учиться. Ведь многие считают, что хорошими программистами становятся только очень умные и талантливые люди. На самом деле IT-специалисты — это обычные люди, которые испытывают страсть к созданию компьютерных программ, игр и приложений. Чтобы писать код не обязательно быть гением. Куда важнее иметь интерес к сфере и быть дисциплинированным. Люди не выигрывают олимпийские игры просто благодаря хорошей генетике. Их спортивные достижения — это, в первую очередь, результаты упорных тренировок. Так что и программистами не рождаются, ими становятся.
Тем более программирование само помогает приобрести особый тип мышления, благодаря которому IT-специалисты так легко справляются с математическими и логическими задачами. Они обращают внимание на детали, легко моделируют ситуации в повседневной жизни и способны оценивать объекты, полагаясь на большое количество факторов. Ученые при помощи МРТ установили, что во время работы над кодом активируются те же отделы мозга, что отвечают за естественные языки. Так что программирование положительно влияет как на мыслительные процессы, так и на память.
Не забывайте, что программирование — это не просто владение одним языком. На самом деле это целый набор навыков: работа с кодом, эффективное взаимодействие с членами команды, декомпозиция задач, оформление и ведение документации, тестирование, само кодирование на языке программирования, причем часто не на одном.
Как мы видим, любой желающий, приложив достаточно усилий, может стать «тем самым программистом, который родился гением и поэтому работает в лучшей IT-компании».
Что поможет?
Не стоит игнорировать возможности саморазвития. Тем более, сегодня всю необходимую информацию о программировании можно найти в интернете. Студенты, которые еще до поступления в вуз успели собрать десяток сайтов и приложений, в будущем будут на голову выше своих одногруппников. Онлайн-курсы, книги, форумы, тематические сайты — все это позволит собрать хорошую базу знаний и для этого даже не нужно выходить из дома.
Подбирая материалы для чтения, обращайте внимание на год выпуска издания. В сфере информационных технологий все меняется очень быстро, поэтому не стоит приобретать материалы десятилетней давности. Например, книга Роберта Мартина «Чистый код» учит грамотно писать на языке программирования.
«Искусство программирования» — фундаментальная монография известного американского математика и специалиста в области компьютерных наук Дональда Кнута, посвященная рассмотрению и анализу важнейших алгоритмов, используемых в информатике. В 1999 году книга была признана одной из двенадцати лучших физико-математических монографий столетия.
Если у вас в ходе изучения возникают вопросы, то вы всегда можете задать их более опытным пользователям. На ресурсе «Хабр» желающие публикуют собственные статьи на компьютерные темы, рассказывают, с какими трудностями столкнулись во время работы и как с ними справились. На сайте можно найти ответы практически на все вопросы начинающих специалистов.
Некоторые Youtube-каналы прорабатывают сразу несколько тем. Например, канал «Гоша Дударь», в первую очередь, о Game Development. На канале много видеоуроков по созданию игр на различных движках (Unity, Unreal Engine, Game Maker, Corona SDK), а также по играм без движков (С++, Java или Python). При этом автор охватывает и разработку сайтов, и мобильную разработку, и веб-программирование, и языки программирования. Еще у некоторых факультетов бывают свои каналы, куда они выкладывают часть лекций.
Некоторые предпочитают более развлекательные форматы обучения. Например, игры. Одна из самых известных — это JavaRush. Это многопользовательская браузерная игра, которая помогает выучить языки программирования. Курс разбит на 40 уровней. Вы можете перейти на следующий уровень, только если решили большую часть задач текущего уровня. Начиная с маленьких и легких и заканчивая большими и очень полезными. Каждый, дошедший до конца, получит 500+ часов практического опыта. Так что это хороший вариант совместить приятное с полезным.
Также можно попробовать присоединиться в профессиональному сообществу. В Москве, например, действует Московский клуб программистов. Здесь можно неформально пообщаться со специалистами, которые собираются каждые две недели, чтобы обсудить интересные им темы и поделиться знаниями.
Не стоит концентрироваться на одном направлении. Наиболее эффективно будет выбрать несколько способов, например, онлайн-курсы + книги + изучение материалов на специализированных ресурсах. Помните, что чем больше времени вы будете посвящать программированию, тем быстрее вы наберетесь знаний и опыта.
Выводы
IT-сфера очень разнообразна и требует различных навыков: веб-разработка, построение интегрированных корпоративных систем, создание нейросетей и моделей машинного обучения. Сейчас наибольших спрос рынка на фронтенд и мобильных разработчиков, растет спрос на специалистов по анализу больших данных и машинному обучению.
Для наукоемких отраслей программирования хорошая подготовка по базовым математическим дисциплинам необходима также, как навыки программирования на языке и навык постоянного самообучения.
Для того, чтобы понять, какую именно специальность выбрать, нужно проанализировать учебный план и дополнительные возможности, которые предоставляет вуз.
Самое главное, о чем стоит помнить — программист создает себя сам. Очень важно участвовать в проектах, получать практический опыт начиная с первого курса, проходить дополнительные онлайн курсы на открытых образовательных платформах, участвовать в олимпиадах по программированию и хакатонах.
В чем разница между специалистами в области компьютерной науки и программной инженерии и что лучше?
«В чем разница между специалистами в области вычислительной техники и программной инженерии?»
«Должен ли я выбирать компьютерную науку или программное обеспечение, если я хочу стать инженером-программистом?»
В этом артикле я расскажу разницу между ними.
Краткий обзор этих двух специальностей
Компьютерная наука — это исследование того, как работают компьютеры, в основном с теоретической и математической перспективы.
Вы должны выбрать вычислительную техники (Computer Science), если вам нравятся математика, логика или если вы хотите попасть в специализированную область CS, такую как искусственный интеллект, машинное обучение, безопасность или графику.
Разработка программного обеспечения — это исследование того, как создаются программные системы, включая такие темы, как управление проектами, обеспечение качества и тестирование программного обеспечения.
Вы должны выбрать программное обеспечение, если вас больше интересует практический подход, и если вы хотите узнать общий жизненный цикл того, как создается и поддерживается программное обеспечение.
Как компьютерные науки, так и программная инженерия учат основам программирования и информатики, поэтому вы можете выбрать один из них, чтобы стать разработчиком программного обеспечения.
Чтобы понять разницу между специалистами в области компьютерных наук и программной инженерии, давайте взглянем на их соответствующую учебную программу в Университете Ватерлоо в Канаде.
Я выбрал Университет Ватерлоо для этого, потому что он имеет одну из лучших компьютерных программ в Северной Америке.
Перспективы работы
Давайте сначала сравним виды рабочих мест и стажировок, которые вы можете пройти через каждую программу.
К счастью, веб-сайт Университета Ватерлоо предлагает несколько примеров.
Для каждой специальности здесь есть некоторые из выпускников выпускников, и где они работают:
Компьютерная наука
Веб-разработчик / архитектор, группа Steele
Программист, Гарри Розен Инк.
Мобильный / облачный разработчик, Clearbridge Associates Limited
Разработка программного обеспечения, General Dynamics Canada
Разработка программного обеспечения, Microsoft
Agile Engineer, Pivotal Labs
Бизнес-аналитик, Canadian Tire Corporation
Адвокат разработчика, Google
Менеджер по продуктам, Dropbox
Программное обеспечение
Разработчик программного обеспечения, Tagged Inc
Разработчик программного обеспечения, IBM Canada
Менеджер программного обеспечения, Arius Software Corporation
Инженер по программному обеспечению, VistaPrint USA
Инженер-программист, Harris Corporation
Разработчик программного обеспечения, Accenture Inc.
Технический менеджер по продукции — Разработка и разработка программного обеспечения, NexJ Systems Inc
Консультант, Финансовые решения PureFacts
Консультант по реализации, Desire2Learn
Как вы можете видеть, нет большой разницы между типами заданий, которые вы можете получить.
Наиболее распространенные выпускники после получения степени «Компьютерные науки» или «Инженерная инженерия» — это разработчик программного обеспечения или инженер-программист.
Существуют и другие связанные варианты, такие как менеджер по продуктам, аналитик QA и консультант по технологиям. Ваши варианты будут зависеть от вашего набора навыков.
Курсы первого курса:
Теперь давайте посмотрим на требуемые курсы каждой программы. Давайте сначала сравним некоторые курсы, которые вам нужно будет взять в первый год.
Компьютерная наука
CS 135 — Разработка функциональных программ
CS 136 — Разработка алгоритмов и абстракция данных
МАТЕМАТИКА 135 — Алгебра
МАТЕМАТИКА 136 — Линейная алгебра 1
МАТЕМАТИКА 137 — Исчисление 1
МАТЕМАТИКА 138 — Исчисление 2
Плюс несколько факультативов
Программное обеспечение
CS 137 — Принципы программирования
CS 138 — Абстракция и реализация данных
МАТЕМАТИКА 115 — Линейная алгебра для инженерии
МАТЕМАТИКА 117 — Исчисление 1 для инженерии
МАТЕМАТИКА 119 — Исчисление 2 для инженерии
МАТЕМАТИКА 135 — Алгебра для чести Математика
ECE 105 — Физика электротехники 1
ECE 106 — Электричество и магнетизм
ECE 124 — Цифровые схемы и системы
ECE 140 — Линейные цепи
SE 101 — Методы разработки программного обеспечения
Как вы можете видеть, курсы первого курса также довольно похожи. Они оба охватывают несколько фундаментальных курсов по информатике и несколько математических курсов по линейной алгебре и исчислению.
Единственное существенное отличие заключается в том, что Программное обеспечение имеет дополнительные компоненты физики и электротехники, в то время как Компьютерная наука имеет несколько факультативов.
Курсы после первого года:
Как насчет необходимых и выборных курсов после первого года? Давайте рассмотрим несколько примеров:
Компьютерная наука:
Математика 239 Введение в комбинаторика
Вероятность STAT 230
Статистика STAT 231
CS 240 Структуры данных и управление данными
CS 241 Основы последовательных программ
CS 245 Логика и вычисления
CS 246 Разработка объектно-ориентированного программного обеспечения Компьютерную науку, если вам нравятся математика, логика или если вы хотите попасть в специализированную область в Компьютерную науку, такую как искусственный интеллект, машинное обучение, безопасность или графику.
Вы должны выбрать Программное обеспечения, если вас больше интересует практический подход, и если вы хотите узнать общий жизненный цикл того, как создается и поддерживается программное обеспечение.
Но подождите — что же тогда? Какой из них лучше, если вы хотите быть инженером-программистом?
Вот мое мнение. В этом конкретном университете (University of Waterloo), с этим конкретным набором требований к программе, Компьютерная наука является более крупным, если вы хотите быть инженером-программистом.
Для простоты предположим, что вы надеетесь получить одну самую высокооплачиваемую работу (
100 000 долларов США в год) в качестве инженера-программиста в Северной Америке. Эти рабочие места обычно находятся в крупных компаниях-разработчиках программного обеспечения (думаю, Microsoft, Google, Amazon и т. Д.) Или в компаниях среднего бизнеса с высокими темпами роста (думаю, Dropbox, Lyft, Snapchat, Pinterest и т д).
Как правило, то, что они ищут в кандидате на программиста, — это возможность писать твердый код и создавать интересные проекты, а также основы для компьютерных наук, включая структуры данных и алгоритмы.
Я думаю, что лучший способ культивировать этот набор навыков — быстро изучить основы информатики и тратить свое время на решение проблем и написание кода.
Основываясь на учебной программе для разработки программного обеспечения и основанной на том, как, как правило, заняты инженеры-программисты, я думаю, что это будет сложнее сделать с помощью Разработчика, чем с помощью Компьютерной науки.
Еще одно преимущество этой программы в области компьютерных наук заключается в том, что она позволяет больше факультативных компьютерных наук. Это здорово, потому что в зависимости от того, что востребовано на рынке труда, вы сможете корректировать свои курсы. Например, если разработка мобильных приложений востребована, вы можете это узнать. И если параллельные вычисления пользуются спросом, вы можете сосредоточиться на этом.
Я уверен, что есть некоторые преимущества для обучения основам разработки программного обеспечения (управление проектами, дизайн, тестирование и т д). Но я лично предпочел бы гибкость над предопределенным набором навыков. Вот почему я считаю, что «Компьютерная наука» является лучшим специалистом, чтобы стать инженером-программистом с этой конкретной учебной программой.
Конечно, это только мое мнение, и это всего лишь один конкретный университет. Мне бы хотелось услышать ваше мнение и ваш опыт, если вы специализируетесь в области компьютерных наук или программного обеспечения. Пожалуйста, дайте мне знать в комментарии ниже.
Примечание 1. Различные университеты имеют разные требования к этим двум специальнастям. Эта статья должна быть хорошей отправной точкой, но вы все равно должны взглянуть на требования к программе в университете, в котором вы заинтересованы.
Примечание 2: Некоторые университеты даже не имеют основную часть программного обеспечения. Например, Университет Британской Колумбии в Ванкувере имеет степень Computer Science and Computer Engineering, но не Software Engineering. Но у них есть концентрация программного обеспечения в рамках своей программы Computer Science, а также в области компьютерной инженерии.
Если в университете, в котором вы заинтересованы, не имеет специальности Software Engineering, я бы пошел с Computer Science, если вы хотите стать разработчиком программного обеспечения. Компьютерная инженерия больше ориентирована на аппаратное обеспечение, чем на компьютерную науку или программное обеспечение, поэтому она менее напрямую связана с работой типичного разработчика программного обеспечения.
Пожалуйста, дайте мне знать в комментарии ниже 🙂