Institutes of higher learning are still not in consensus of what is meant by many technical degrees, such as software engineering and computer science. These fields, along with information technology, information systems, and computer science engineering, are simply too new. Therefore, what one school or employer perceives as a requirement of computer science may be interpreted by another as software engineering.
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.
In the early days, computers were hard-wired to perform a certain function. The user did little more than punch a button. Allowing greater user control led to the development of programming languages and compilers to translate “normal” language into computer language. Punched tapes or cards allowed the user to write his own routines. The actual keypunch was often performed by another, typically someone with clerical skills. A misplaced dot, missing bracket, or transposed letter meant that the entire program would fail. There was often no clue as to why, leaving the programmer to pore over the cards as well as his program.
The era of personal computers changed how programming was done. Simple languages like BASIC were introduced, allowing most people to use a reference book to write rudimentary routines. However, there was often a failure to understand just what a computer could do, leading to failure. The foundations were thus laid for the software engineer, who could understand not only programming language but the interaction and limitations of the hardware.
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.
With little standardization between universities, the quality of the degree can vary greatly. Some colleges require CS majors to take Microsoft Office as their first programming course. In some cases, this may be followed by Pascal, COBOL, or RPG, none of which are in high demand today. They may also teach Visual Basic, Visual C++ or Visual J without first teaching the underlying language. By the same token, software engineers may be graduated without a basic understanding of wireless technology. Those seeking a degree as well as employers might be better served by ignoring the title and examining the actual courses required.
As recently as two decades ago, electrical engineers held many positions that are now considered computer science. Programmers, some of whom taught themselves and never attended college, were recruited as software developers and engineers. Increasing complexity has led to greater specialization. Only by matching the position to the goal can one improve the chances of satisfaction. For instance, to make the best video game in history, a Microsoft software engineer is probably best suited to the challenge. To make the best video game system, however, will likely require a computer scientist.
Online discount computer software available online such as Microsoft, Adobe software, Corel and more. Maintaining the lowest prices on the internet for cheap software.
Recent Comments