תחום פיתוח המחשבים כולל מספר ענפים, שכל ענף מתאים למיקוד תיאורטי או מעשי שונה. הנדסת מחשבים שואלת מהנדסת חשמל ותכנות מחשבים כדי להתמקד בבניית תצורות מחשב שונות ליישומים שונים. כדי להבין כיצד זה קורה, חשוב להבין את יסודות חומרת המחשב והתוכנה, הפשטת חומרה וכיצד הנדסת מחשבים לווה משני אלה לבניית מערכות מחשב כגון התקנים משובצים.
הנדסת תוכנה והנדסת חומרה
בעיצוב מחשבים, ישנן שתי קטגוריות דאגתיות כלליות: יצירת חומרה ויצירת תוכנה. מהנדסי חומרה (או חשמל) יוצרים את החלקים הפיזיים של המחשב, כולל שבבים ומעגלים. מהנדסי תוכנה בונים יישומים הפועלים על חומרת המחשב. מהנדסי תוכנה הם לא רק מתכנתים למחשבים. במקום זאת, מהנדסי תוכנה עובדים על ביצוע פרויקטים גדולים של תוכנה לתפקוד תקין בפלטפורמות שונות.
הנדסת מחשבים וחומרה / תוכנה
הנדסת מחשבים לווה הן מהנדסת תוכנה והן מהנדסת חומרה. מהנדסי מחשבים עוסקים בבניית מחשבים מחלקי רכיבים וכיצד מחשבים אלה יפעלו במערכות גדולות יותר. המשמעות היא שמהנדסי מחשבים עובדים יותר על "מערכות" מחשבים וכיצד רכיבי מחשב שונים יעבדו באותן מערכות. יתר על כן, מהנדס מחשבים ילמד כיצד מצבים שונים יקראו ליישומים ספציפיים של חומרת תוכנה ותוכנה. זה יכול לכלול מערכות לבקרת תנועה או חיישנים ברובוטיקה.
הפשטה וחומרה
דרך אחת מהנדס מחשבים יכול להתמקד בבעיות אלה באמצעות המושג "הפשטה". בעוד שמהנדסי חומרה מפתחים חלקים ספציפיים למטרות ספציפיות, ניתן להשתמש בחלקים אלה במגוון שימושים על ידי "הפשטת" פעולתם הפנימית. המשמעות היא שמהנדס המחשבים צריך לדעת רק דברים ספציפיים על החומרה כדי להשתמש בה, כמו מה היא עושה או עם מה היא עובדת. ואז מהנדס המחשבים יכול ליישם את החומרה במערכות מתאימות.
מערכות מוטמעות
מהנדסי מחשבים רבים עובדים בתחום מערכות משובצות. מערכות "מוטבעות" הן מערכות מחשב שאינן לובשות צורה של מחשב מסורתי, אלא מתפקדות בתוך מכשיר אחר לביצוע משימה מסוימת. מערכות משובצות נמצאות במערכות רמזור, טלוויזיות, מכשירי קשר ואפילו מכשירי מטבח. מהנדס המחשבים מבין כיצד ניתן להכניס איזו חומרת מחשב בהתקן לביצוע חובה מסוימת, כגון שמירת זמן או שמירת ערכי תצורה. לאחר מכן, הוא או היא מבינים כיצד ליישם התקנה זו במכשיר.