Software Engineering And Computer Science: Similar, But Different

There is still much confusion among employers as well as universities regarding the precise definition of some technical degrees, including software engineering and computer science. These two specialties, as well as information systems, computer science engineering, and information technology, are relatively new. As such, what one employer or school considers a requirement of software engineering may be considered computer science by others.

Much overlap occurs between the majority of the computer technology areas. For example, both CS and SE majors typically are taught the theory of computers, program structure, and user expectations. However, software engineers are typically part of the school of engineering, while CS majors usually fall under the math department.

Early computers had their programs wired into their hardware. The user simply pushed a button or two, and the computer performed the limited function for which it had been built. The need to provide users with greater control led to compilers and languages that could translate commands between the user and the computer. Tapes or cards were punched to allow users to write routines. However, it was often a clerk or typist who did the keypunch. A missing bracket, transposition error, or misplaced period would crash the program. Finding the error meant poring over stacks of cards and the written program.

When the personal computer was introduced, it was necessary to make dramatic changes to how they were programmed. BASIC and other rudimentary languages allowed users to assume more control. A short period of time spent reading a book on the language allowed amateurs to write simple routines. However, ignorance about how the hardware worked often led to failure when requests were made that the computer simply could not handle. The need for a specialty that studied not only programming but also the physical limitations of the computer itself laid the groundwork for software engineers.

One method of examining the differences between software engineering and computer science is to consider how most printers were controlled by the first personal computers. In most cases, changing printer functions such as font size, number of copies, or paper size required entering the proper printer string in DOS. Today, these functions are controlled from an interface on the desktop. The user may enter the information in the software or in the printer dialog box. In a simplified statement, one might say that the creation of the dialog boxes and underlying code was provided by a software engineer. The ability of the printer to understand the commands and comply with them was provided by the computer scientist.

At its most basic definition, CS is more concerned with the circuitry, networking, and hardware needed than the programming. Software engineers usually focus on writing programs that utilize space efficiently, run quickly, and offer efficient interfaces for the user. There is, however, much that is shared between the two. A computer scientist, for example, cannot build an optimal computer without understanding the demands it must meet. A software engineer cannot write an efficient program without understanding memory requirements, compiler operation, and processing speeds.

There is so little standardization of degree requirements between schools that there is a great variance in the quality produced. Even today, there are colleges that introduce CS students to programming with Microsoft Office. Almost obscure languages such as RPG, COBOL, and Pascal may follow. The Visual Studio may be taught without any foundation in BASIC, C++, or Java. On the other hand, software engineers might not understand wireless technology. It may be preferable for potential students and employers to delve beyond the degree title and carefully examine the courses in the degree plan.

Not too many years ago, computer science positions were often filled by those with other degrees, such as electrical engineers. Software engineers were usually those with programming skills, many of whom held no degree at all but were self-taught. As technology became more complex, increased specialization followed. Only by considering the goal is it possible to differentiate between them. For example, if the goal is to produce the greatest game of all time, a Microsoft software engineer is likely to be the one to meet the challenge. If the goal is to produce the next generation of gaming systems, however, a computer scientist is probably going to make the greatest contribution.

Online discount computer software available online such as Microsoft, Adobe software, Corel and more. Maintaining the lowest prices on the internet for cheap software.

Filed under Software by .