Electrical Engineering in a nutshell (what I've studied for 4 years)..
Posted by ardianto86 at 06:33 AM on February 9, 2009.
When I was in my first year I was very ignorant, and curious just to understand a lot of things.. My passion was physics, mathematics, and those sort, however I ended up choosing electrical engineering as my major. I don't really know what electrical engineering is about. Certain and mostly earlier years are spent doing projects, attending classes, very hectic but aimless, knowing not what is going to be achieved in the end, and not able to see the big picture of it all. Only now when its towards the end of my final semester I finally got a grasp of the overall full view of electrical (and computer) engineering field. Well.. here it is:
This might found useful for those who wants to know what electrical engineering is about, just like me in my earlier days, and for those who are undecided to what course you are going to take for your degree, and for those who seeks to do streaming.
First of all, as for the big picture, I think electrical engineering afterall is about harnessing the physics (particularly the physics related to electricity and magnetism) found in nature to do lots of things, and solve problems and do humankind a favour. Sounds pretty simple? Not really.. In fact, electrical engineering is a very broad field, encompassing mathemathics, physics, computing, etc. (Afterall now i think it is ridiculous to make a rigid boundary between different faculties).
The study of electrical engineering ranges from the very 'low-level' studies, that is really close to physics (such as the solid-state physics, semiconductors, waves, etc). Furthermore, these studies that are close to physics phenomena will lead to subjects that can on its own be treated deeply and many courses can be spend just studying a particular field. For example, communications engineers need to know about the physics of waves, the Maxwell's equations, solving boundary conditions of waves and its interaction with different kind of materials, etc. Electronics courses include a study of its devices which much include solid-state physics, the description of MOS operations. There are also some study on the electronic materials, mainly useful for the fabrication and manufacturing industry, as well as materials characterizations.
Electrical engineers, upon studying this low-level and close to physics phenomena, proceed on to make simple devices. Devices are abstractions, or 'layers', and it is defined such that it is easier to utilise the physics to turn it into something more useful. As I study more, it seems that engineers like to make use of abstractions. Now, the examples of devices are transistors. From semiconductor properties, they make a doped n-p-n and p-n-p semiconductor and develop a transistor. Likewise, from the physics of waves and its interaction with matters, they make abstractions such as waveguides, connectors, resonators, etc that define the 'building blocks' to make higher systems. These simple devices are after all just serves as 'building blocks' to build systems. Some systems have a lot of layers, and more abstractions are defined to cover up the small and low-level layer, while some systems only have a few layers of abstractions.
Finally, the aim of electrical engineer is to design a system. The system exploit the physics of nature by using the ways of abstractions. In certain level of abstraction, almost, there is an area of study that pops up. This is not so simple, since the number of layers are a lot. In the area of electronics for example, a lot of studies are done in the semiconductor properties of materials. Next, a different group will study on how to make a good trasistor (MOS, BJT, etc). Next, from transistors, there comes the abstraction of gates (AND, OR, XOR, NAND, NOR, NOT are the basic ones). These are the building block of digital electronics, whilst OP AMPs are the analog abstraction made by transistors for analog electronics. Sounds pretty fast, but gates are just the lowest level of digital electronics. From gates to ICs, and finally a mother board are vast number of steps. Visible steps are making gates into 'smaller systems', such as registers, memory, RAM, ROM, etc. But there involves a lot of other invisible steps, such as 'how to make things more efficient? How to use the least number of gates to implement those? Here, some branch of mathematics, perhaps algorithmic graph theory can prove useful. In analog electronics, OP AMPS are then used to make 'bigger' building blocks such as amplifiers, mixers, filters, etc.
A lot of studies are done on how to make those building blocks work together, till finally a computer was created. Thus a study of computer architecture arises. It basically defines what is the architecture of the computer, how are datas which is actually logic signals travels from respective 'sub-blocks', registers, memories, etc, such that it can act as a computer. Again, this is not easy as it is very meticulous and tedious, a lot of details is required.
The study of electrical engineering is not limited to just these. In the final and highest level is the programming level. If computer architecture defines the hardware, then software is made to interface with the hardware in order to be usable and interactive. We electrical engineers also study softwares, which in itself is not very easy. Operating systems (Windows, UNIX, Mac, etc) has its kernel and user space, and there are a lot of different operating systems architecture, all for the same aim : efficiency!. Of course engineering is not just about efficiency, but it has to weigh the cost and other factors. The study of programming itself ranges from Assembly language programming (which interface directly with the hardware, which is closest to the hardware only next to machine language), to high level programming such as C, C++, Java, VHDL, C#, Perl, Delphi, HDLs, etc.
Of course it would not be enough if the courses in the universities just teach these. A lot of softwares used in manufacturing, IC design industries, and others are taught too, such as PSpice, Matlab, LabView, etc. Perhaps not just softwares, but products that make IC design sysntesis makes easy such as Xilinx tools, FPGAs, are taught on a whole separate course.
Deeper on the programming level, still are a lot of things to be studied. There are courses on database systems, artificial intelligence, and computations (which are not close to electricity you might say), such as fuzzy logic, genetic algorithms, neural networks, etc. They are used for the 'higher' and top level system design, and not dealing with the routines of manufacturing, doing the physics kind of thing. There are also courses on image processing, computer vision and video processing, and we learn about media encoding standards, how to implement those on programming, what is reason behind the encoding, and how to make better ones. Of course, there are also a course of computer networks, which also covers the internet architecture with its another (not mentioned) seven layers.
Hm basically that's all about electrical engineering, at the least! There are definitely a lot of other areas still not covered in this short post. Anyway..phew! It is a tough major..