컴퓨터 개발 분야에는 여러 가지 분야가 있으며 각 분야는 다른 이론적 또는 실제적 초점에 해당합니다. 컴퓨터 공학은 전기 공학 및 컴퓨터 프로그래밍에서 차용하여 다양한 응용 프로그램을위한 다양한 컴퓨터 구성을 구축하는 데 중점을 둡니다. 이것이 어떻게 발생하는지 이해하려면 컴퓨터 하드웨어 및 소프트웨어의 기본, 하드웨어 추상화 및 컴퓨터 공학이 임베디드 장치와 같은 컴퓨터 시스템을 구축하기 위해이 두 가지를 빌려 오는 방법을 이해하는 것이 중요합니다.
소프트웨어 엔지니어링 및 하드웨어 엔지니어링
컴퓨터 디자인에는 하드웨어 생성과 소프트웨어 생성이라는 두 가지 일반적인 범주가 있습니다. 하드웨어 (또는 전기) 엔지니어는 칩과 회로를 포함하여 컴퓨터의 물리적 부분을 만듭니다. 소프트웨어 엔지니어는 컴퓨터 하드웨어에서 실행되는 애플리케이션을 빌드합니다. 소프트웨어 엔지니어는 단순한 컴퓨터 프로그래머가 아닙니다. 대신 소프트웨어 엔지니어는 대규모 소프트웨어 프로젝트가 다양한 플랫폼에서 제대로 작동하도록 작업합니다.
컴퓨터 공학 및 하드웨어 / 소프트웨어
컴퓨터 공학은 소프트웨어 및 하드웨어 공학에서 차용합니다. 컴퓨터 엔지니어는 구성 요소에서 컴퓨터를 구축하고 이러한 컴퓨터가 더 큰 시스템 내에서 어떻게 작동하는지에 관심을 갖습니다. 이것은 컴퓨터 엔지니어가 컴퓨터 "시스템"에 대해 더 많이 작업하고 다른 컴퓨터 구성 요소가 해당 시스템에서 작동하는 방식을 의미합니다. 또한 컴퓨터 엔지니어는 컴퓨터 하드웨어 및 소프트웨어의 특정 구현을 요구하는 다양한 상황을 연구합니다. 여기에는 교통 제어용 시스템 또는 로봇 공학의 센서가 포함될 수 있습니다.
추상화 및 하드웨어
컴퓨터 엔지니어가 "추상화"라는 개념을 통해 이러한 문제에 집중할 수있는 한 가지 방법입니다. 하드웨어 엔지니어가 특정 목적을 위해 특정 부품을 개발하는 동안 이러한 부품은 내부 작업을 "추상화"하여 다양한 용도로 사용할 수 있습니다. 즉, 컴퓨터 엔지니어는 하드웨어가 무엇을하는지, 무엇을 사용하는지 등 하드웨어에 대한 구체적인 정보 만 알면됩니다. 그런 다음 컴퓨터 엔지니어는 해당 하드웨어를 적절한 시스템에 구현할 수 있습니다.
임베디드 시스템
많은 컴퓨터 엔지니어가 임베디드 시스템 영역에서 일합니다. "내장형"시스템은 기존 컴퓨터의 형태를 취하지 않고 대신 다른 장치 내에서 작동하여 특정 작업을 수행하는 컴퓨터 시스템입니다. 임베디드 시스템은 신호등 시스템, 텔레비전, 라디오, 심지어 주방 기기에서도 발견됩니다. 컴퓨터 엔지니어는 시간 유지 또는 구성 값 저장과 같은 특정 작업을 수행하기 위해 장치에 어떤 컴퓨터 하드웨어를 넣을 수 있는지 파악합니다. 그런 다음 장치 내에서 해당 설정을 구현하는 방법을 알아냅니다.