
Ask HN: Why are some CS and EE programs co-located in the same department? - ZanyProgrammer
Why do some colleges have EE and CS programs in the same department? Like Berkeley for example (though I think they have a liberal arts CS program as well)?
Or Northwestern http:&#x2F;&#x2F;www.mccormick.northwestern.edu&#x2F;eecs&#x2F;
======
rt2016
A lot of it is for historical reasons, CS basically developed as the
intersection of 2 disciplines - EE and math.

Back when computers were large electrical behemoths they took a ton of
hardware/electrical skills to program and use. Then, when higher-level
programming started becoming popular (languages like B and C, etc.)
universities started offering classes in programming out of the EE departments
since there weren't enough programming classes to create a new department for
CS.

On the other hand, there were many mathematicians from the late 1800s through
the 1950s who were developing mathematical algorithms before "computers" were
widely used. Many of these algorithms are now widely used by computer
scientists and programmers to solve incredibly complex problems.

Currently there are two main "flavors" of CS. Some universities like UC
Berkeley and MIT maintain joint EE and CS departments while others like
Stanford and Harvard have CS departments that are more closely related to
math.

TL; DR: it comes from the history of how CS developed out of EE (computing
machines) and math (algorithms).

------
lollipop25
Because electrical engineering and math. It's like a spectrum:

Math [Uhm...math] <-> Computer Science [algorithms] <-> Computer Engineering
[robotics] <-> Electrical Engineering [electronics]

It's even fun to think about if you involve communications. It becomes a
three-way.

(Between CS and CE) -> Communications Engineering [radios] -> Network
Engineering [protocols, wifi] -> IT/DBA/Web [closer to web]

------
brianchu
UC Berkeley only has a single EECS department. The department offers an EECS
degree and a CS degree, but that is very misleading because the EECS degree
only requires 2 EE classes while the CS degree only requires 1 EE class. Their
curricula are essentially the same, the naming difference is mostly due to
historical reasons.

There is a tremendous amount of overlap between the fields. Areas of
especially large overlap: computer vision, machine learning, robotics,
communication (compression and error correction), networking, computer
architecture, etc.

