Some students proceed through their majors by taking courses one by one in a robot-like manner. Although this approach often suffices for students to obtain their diplomas, these students in many senses remain illiterate in their fields of claimed expertise. This section points out the pitfalls of such an approach and the interrelationships among topics in what at first might seem disparate courses.
The term “computer revolution”, coined in the 1980s, was not a hyperbole; the changes were indeed revolutionary. Computers have evolved from being mysterious, unseen behemoths to household items. Applications have changed from primarily numerical to newer areas such as word processing, controllers for cameras, and on-line library card catalogs. Most of the new applications are input/output intensive, consisting of heavy use of graphics display monitors, mice and especially computer networks.
A top-to-bottom view of computer science might consist of the following levels, with typical questions from each:
The CSE and CS majors include theory, software and hardware and in addition the CSE major includes electronics. Individual courses can be categorized as follows:
|Pure theory||ECS 20, 120, 122A|
|Theory & software||ECS 60, 122B, 132|
|Pure software||ECS 30, 40, 140A/B, 145, 153, 160, 170|
|Mainly software, some hardware||ECS 142, 150, 152B, 163, 165A/B, 175, 177, 178|
|Equally software & hardware||ECS 50, 158, EEC 172|
|Mainly hardware, some software||ECS 152A, 152C|
|Hardware||ECS 154A/B, EEC 180A|
|Electronics||EEC 100, 180B|
|Heavily mathematical||ECS 130, 175, 177, 178|
As in the computer industry, the interactions between software and hardware are very strong in the CS and CSE majors. For example, hardware designers must understand software well and vice versa.
A very commonly-asked question is “From a career point of view, which major is better, Computer Science or Computer Science and Engineering?” The answer is, “It makes almost no difference.” Graduates of the two majors tend to get the same kinds of jobs, so the choice of major has virtually no impact. The factors which do have a major impact are:
A related question concerns double majors. We have a firm, no-exceptions policy to disallow double majors between CSE and EE, CSE and CE, and CSE and CS. Having a double major in two similar fields like this would increase time to degree, and more importantly, would generally lead to the student spreading him/herself too thin. The student would simply be too busy to develop penetrating insight into the field, and again, good grades do NOT imply good insight.
On the other hand, given the emergence of “hybrid” careers (see Preparing for a Career), a double major with a very different field may be worthwhile, such as CS and math, CS and biology, or CS and economics. The CS degree, with its large number of unrestricted electives, makes such a double major attainable without undue risk to the development of insight. By contrast, the CSE degree has so few unrestricted electives that such a double major, say CSE and economics, would be difficult to complete, and would almost certainly result in reduced insight.