Området for computerudvikling har flere grene, hvor hver gren svarer til et andet teoretisk eller praktisk fokus. Computer engineering låner fra elektroteknik og computerprogrammering for at fokusere på at opbygge forskellige computerkonfigurationer til forskellige applikationer. For at forstå, hvordan dette sker, er det vigtigt at forstå det grundlæggende i computerhardware og -software, hardware-abstraktion, og hvordan computerteknik låner fra begge disse til at opbygge computersystemer såsom indlejrede enheder.
Software Engineering og hardware engineering
I computer design er der to generelle kategorier af bekymring: oprettelse af hardware og oprettelse af software. Hardware (eller elektriske) ingeniører opretter de fysiske dele af computeren, inklusive chips og kredsløb. Softwareingeniører bygger applikationer, der kører på computerhardwaren. Softwareingeniører er ikke kun computerprogrammerere. I stedet arbejder softwareingeniører med at få store softwareprojekter til at fungere korrekt på tværs af forskellige platforme.
Computerteknik og hardware / software
Computer engineering låner fra både software og hardware engineering. Computeringeniører beskæftiger sig med opbygningen af computere fra komponentdele, og hvordan disse computere fungerer inden for større systemer. Det betyder, at computeringeniører arbejder mere på computerens "systemer", og hvordan forskellige computerkomponenter fungerer i disse systemer. Desuden vil en computeringeniør undersøge, hvordan forskellige situationer vil kræve specifikke implementeringer af computerhardware og -software. Dette kan omfatte systemer til trafikkontrol eller sensorer inden for robotteknologi.
Abstraktion og hardware
En måde en computeringeniør kan fokusere på disse problemer gennem begrebet "abstraktion". Mens hardwareingeniører udvikler specifikke dele til bestemte formål, kan disse dele bruges til en række forskellige anvendelser ved at "abstrahere" deres interne funktion. Dette betyder, at computeringeniøren kun behøver at vide specifikke ting om hardwaren for at bruge den, som hvad den gør, eller hvad den fungerer med. Derefter kan computeringeniøren implementere den hardware i passende systemer.
Indlejrede systemer
Mange computeringeniører arbejder inden for indlejrede systemer. "Indlejrede" systemer er computersystemer, der ikke har form af en traditionel computer, men i stedet fungerer inden for en anden enhed til at udføre en bestemt opgave. Indlejrede systemer findes i trafiklyssystemer, fjernsyn, radioer og endda køkkenapparater. Computeringeniøren regner ud, hvordan computerhardware kan placeres i en enhed til at udføre en bestemt opgave, såsom at holde tid eller gemme konfigurationsværdier. Derefter finder han ud af, hvordan han implementerer denne opsætning i enheden.