Ключевое отличие: разработка программного обеспечения - это область изучения, разработки и создания практического решения проблемы. Задача инженера-программиста - понять проблему внутри компьютера и создать программное обеспечение, которое облегчит проблему. Компьютерный инжиниринг, также известный как компьютерные инженерные системы, представляет собой курс, объединяющий электротехнику и информатику, необходимый для разработки компьютерных систем.
Программная инженерия - это область изучения, разработки и практического решения проблемы. Задача инженера-программиста - понять проблему внутри компьютера и создать программное обеспечение, которое облегчит проблему. Это может включать в себя либо манипулирование существующим программным обеспечением, либо создание нового с нуля. Для работы компьютера требуется программное обеспечение. Эта работа в основном командная работа. Инженеры объединяются вместе с программистами, чтобы создать программное обеспечение, которое будет работать под рукой.
Многие предметы, которые изучаются в SE, аналогичны тем, которые изучаются в компьютерных науках, но также включают в себя дополнительные предметы, такие как разработка требований, архитектура программного обеспечения, тестирование программного обеспечения и развертывание программного обеспечения. Другие области, которые играют важную роль в этой области, включают лидерство, коммуникацию, управление временем, управление персоналом и т. Д. Инженеры должны спланировать наилучший способ решения сложившейся ситуации и создать пошаговый процесс для решения этой задачи. Они могут требовать кодирования в определенное время, но большая часть кодирования выполняется программистами. Инженер-программист должен иметь опыт работы в области создания программного обеспечения, языков программирования, математики и компьютерного оборудования.
Инженеры-программисты при разработке программного обеспечения проходят программный процесс. Эта модель программного процесса является абстракцией программного процесса и также называется парадигмой процесса. Первая опубликованная модель для программного процесса известна как модель «Водопад». Когда программное обеспечение создается, оно должно сначала быть концептуализировано на бумаге, после чего программа разрабатывается, а затем предлагается написать ее. Затем программное обеспечение проходит тщательное тестирование и выпуск, прежде чем оно будет опубликовано. В соответствии с Руководством к Своду знаний по разработке программного обеспечения, широко принятым стандартом; разработку программного обеспечения можно разделить на десять подразделов: требования к программному обеспечению, разработка программного обеспечения, создание программного обеспечения, тестирование программного обеспечения, сопровождение программного обеспечения, управление конфигурацией программного обеспечения, управление разработкой программного обеспечения, процесс разработки программного обеспечения и качество программного обеспечения.
Вычислительная техника подразделяется на две основные области обучения: программное и аппаратное обеспечение. Студент может решить специализироваться на программном обеспечении, которое включает в себя написание кодов и программ для систем или аппаратного обеспечения, которое включает микроконтроллеры, микросхемы, датчики и т. Д. Компьютерные инженеры также больше подходят для исследований в области робототехники, которые используют цифровые системы для управления и мониторинга электрических систем, таких как двигатели, связь и датчики. В зависимости от колледжа студенты-инженеры могут специализироваться в течение своего младшего или старшего года обучения, в то время как другие колледжи требуют от студентов прохождения одного года обучения по общему инженерному делу, прежде чем они смогут выбрать компьютерную инженерию в качестве основного.
Компьютерная инженерия требует сильных знаний в области математики и естественных наук. Компьютерная инженерия включает такие курсы, как кодирование, криптография и защита информации, коммуникационные и беспроводные сети, компиляторы и операционные системы, вычислительная техника и инженерия, компьютерные сети, мобильные вычисления и распределенные системы, компьютерные системы: архитектура, параллельная обработка и надежность, Компьютерное зрение и робототехника, встраиваемые системы, интегральные схемы, проектирование СБИС, тестирование и обработка сигналов САПР, изображений и речи и т. Д.