Степень компьютерных наук против. Степень разработки программного обеспечения

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

Ответы (4)

Мое любимое описание компьютерных наук принадлежит Хэлу Абельсону :

«[Информатика] на самом деле не о компьютерах — и это не о компьютерах в том же смысле, в каком физика на самом деле не об ускорителях частиц, а биология — не о микроскопах и чашках Петри… и геометрия на самом деле не об использовании Причина, по которой мы думаем, что информатика связана с компьютерами, почти та же самая, по которой египтяне думали, что геометрия связана с геодезическими инструментами: когда какая-то область только начинается, и вы на самом деле не очень хорошо в ней легко спутать суть того, что вы делаете, с инструментами, которые вы используете».

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

Разработка программного обеспечения — это применение концепций информатики и соответствующих технологий для создания программных систем.

Еще одна аналогия, которая мне нравится, следующая:

Химия => информатика

Химическая инженерия => разработка программного обеспечения

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

Когда дело доходит до «информатики», в образовании широко распространена путаница и отсутствие ясности.

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

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

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

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

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

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

  • с точки зрения университета: специализации часто являются более модульными в том смысле, что студенты могут выбирать только подмножество классов в предлагаемой специализации, а также посещать занятия по другим специализациям. Профессора соответствующих тем могут счесть, что определенные специализации заслуживают более пристального внимания в виде обязательного набора занятий для всех, кто выбирает эту специализацию, или также путем требования специализированных проектов, которые не могут быть встроены в обычную специальность CS, и таким образом, сделайте это отдельной степенью.
  • с точки зрения студентов: Во время учебы, есть вероятность, что занятия для отдельной степени по такой подтеме, как разработка программного обеспечения, более эффективно связаны друг с другом, так как предпосылки можно ожидать более надежно. С другой стороны, единая степень CS с классами специализации дает студентам больше гибкости для смешивания тем. После обучения специальная специальность для конкретной подтемы может звучать немного более убедительно, когда в интервью сообщается, что студент хорошо разбирается в подтеме, чем просто говорит: «Я был на общей специальности CS, а также посещал некоторые занятия по подтеме X».

Нет правильного или неправильного ответа, если вы спрашиваете о финансовой жизнеспособности.

Разработка программного обеспечения и компьютерные науки — чрезвычайно широкие предметы.

Попробуйте увеличить разрешение того, что вы собираетесь делать. Вы хотите разрабатывать видеоигры?

Вы хотите работать над ИИ или исследовать новые способы машинного обучения?

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

Я мог бы продолжить.

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

Удачи!