The difference between computer programming, computer engineering, software engineering, computer science, electrical engineering, and IT, and any overlapping between any/all of them.

845 views

The difference between computer programming, computer engineering, software engineering, computer science, electrical engineering, and IT, and any overlapping between any/all of them.

In: Technology

4 Answers

Anonymous 0 Comments

IT is the overarching term for all that stuff.

Computer programming is creating the programs that your computer uses.

Computer engineering is building the hardware that your computer uses.

Software engineering is studying and building new software for use in a wide variety of applications

Electrical engineering is the study of and construction of electrical networks (these don’t need computers can just be like lighting).

You forgot network engineering, which is designed, building, and maintaining the networks that allow computers to communicate with each other.

Anonymous 0 Comments

Some of these are more nuanced than others, some are used more broadly but can have specific definitions:

IT: Information Technology. This one is a touch tricky because sometimes it’s used to refer to the whole field and sometimes it’s used more specifically for hardware related fields like networking and support (troubleshooting and repair).

Computer Science: Likewise, this is often used to refer to the whole field, but it’s specifically more focused on the theory of computation and all the abstract stuff more than applied technology concepts. For example, formal logic in binary, logic gates, language semantics, algorithms, all the high level stuff. Typically if your university doesn’t offer more specific majors, you just get a major in computer science if you want to be in any tech related field.

Programming: Is simply writing code. A programmer might be someone who doesn’t make decisions on what is done (e.g. features, bugs to fix, etc.), they just do what they’re told and implement solutions in code. Often, even if you have more responsibilities, it’s easy to describe yourself as a programmer to people less familiar with all these nuanced terms.

Engineering: It’s worth defining what “engineering” is generally. It’s solving problems within a field, coming up with theoretical solutions to real life problems that they may or may not implement directly themselves, but someone will surely implement their solutions.

Software Engineering: In contrast to programming, software engineering is the greater process of developing software: what problems should be addressed, what technologies do we utilize, how a UI should be laid out, etc. They often do programming as well, but they play a much more involved role in planning out tasks. (This is what I am)

Electrical engineering: Basically, the broad field of planning electrical circuits and networks and can involve anything from computer circuit design to power grid design to home wiring layouts. This isn’t to be confused with an electrician who does actual wiring. Since it’s a broad field, you’ll often have more specific titles and subfields.

Computer engineering: You probably get the pattern by now. It’s roughly a mix of software and electrical engineering, designing low level software, firmware, and computer components that tie everything together, involved in the abstract topics of computer use and their roles in any given situation. E.g. what’s a server? What should a server have that a personal computer doesn’t? How might their power requirements differ? Truth be told, I’m least familiar with this field, so perhaps someone could give more realistic examples.

Anonymous 0 Comments

Computer science: The field that concerns itself with the theoretical aspects of how idealized computers,software, and algorithms work. The mathematical side of abstract computing, and the theory of programming languages.

Computer engineering: The field that concerns itself with how actual, physical computers function and are built, what is happening near the metal and silicone.

Software engineering: The field that concerns itself with how to design, create, and utilize software – especially in a professional capacity.

electrical engineering: The field that concerns itself with electricity and how to design, build, and utilize electrical systems. This includes computers, but also everything else that needs electricity.

Information Technology: The field that concerns itself with how to store, parse, transmit, manipulate, and manage information and digital data.

Computer programming: The actual act of writing programs for the computer to execute.

There is a lot of overlap between the fields about where you’d expect them, but each of them is focused on a specialized aspect of how computers work.

Anonymous 0 Comments

Computer programming: Writing commands which the computer is told to execute, like “show a cat video” or “play this MP3 file” (well, programming languages usually don’t contain such high level commands, but…)

Software engineering: Being an engineer for computer programs, rather than its hardware.

Computer science: Simply the science of All Things Computer, although some might use it to refer to a subset of that only.

IT: information technology, which can be taken at face value.

Overlapping: A lot 😉