Electrical Engineering, Computer Engineering, Computer Science

tl;dr Computer Engineering \approx Electrical Engineering with Computer Science

Recently, I accepted an offer to join the department of Electrical and Computer Engineering (ECE) at the University of Illinois, Urbana-Champaign. While I am already an affiliate of the ECE department, I do not plan on teaching a course until Fall 2025. Tentatively, I am planning on teaching a topics course related to privacy/cryptography. (Will share more details on the planned topics course in a later post.)

I have gotten a few questions (especially from NaijaCoder students) concerning the differences between electrical engineering, computer science, and computer engineering. Let me try to explain what I think the key differences are.

Electrical Engineering (EE)

I see electrical engineering as the parent discipline of electronic and computing devices just as the parent discipline of EE is (probably) physics. EE includes the study of analog and digital devices used for various forms of computation and communication.

Computer Engineering (CE) and Computer Science (CS)

Computer Engineering, to me, is about computing aspects of electrical engineering. In fact, at Illinois, the major was called Electrical Engineering and Computer Science. This page states that in 1969, an electrical engineering/computer science curriculum was unveiled and that that year “An electrical engineering/computer science curriculum [was] established within the department. It will be replaced in 1973 by the computer engineering curriculum.”

So, Computer Engineering (CE) and Computer Science (CS) are closely related fields.

1. Focus of Study

  • Computer Engineering (CE):
    • Combines electrical engineering with computer science.
    • Focuses on hardware and software: how computers and devices are physically constructed and how software interacts with hardware.
    • Includes designing and analyzing microprocessors, circuit boards, and networks, as well as embedded systems like IoT (Internet of Things).
  • Computer Science (CS):
    • Primarily focused on software.
    • Emphasizes programming languages, software development, artificial intelligence, machine learning.

2. Core Curriculum

  • Computer Engineering:
    • Electrical circuits, digital design, microcontrollers, VLSI design (Very Large Scale Integration), robotics, signal processing, and computer architecture.
    • Emphasis on low-level programming that interacts with hardware.
  • Computer Science:
    • Software engineering, computer graphics, artificial intelligence, and machine learning.
    • Emphasis on high-level programming and the development of complex software systems.

3. Skills Developed

  • Computer Engineering:
    • Understanding of both hardware and software systems.
    • Skills in circuit design, chip fabrication, computer architecture, and low-level programming (like C, assembly).
  • Computer Science:
    • Problem-solving and analytical skills for software development.
    • Proficiency in programming languages (e.g., Python, Java, C++), software development life cycle, and working with large-scale systems.

Both fields share knowledge of programming and computer systems, and professionals in both disciplines work in industries like tech, telecommunications, healthcare, and aerospace. However, computer engineers have deeper knowledge of hardware, while computer scientists are more specialized in software development.

Leave a comment