Computer science and engineering




Computer science deals with the theoretical foundations of computation and software design. Computer engineering focuses on hardware design and hardware-software integration.



Computer Science & Engineering is an academic program at some universities that integrates the fields of computer engineering and computer science, providing knowledge of computing systems in both hardware and software design. The study program is modeled on German technical universities, where CS, CE and IT are treated as respectively the theoretical, technical and practical part of one field called "Informatik", which compromises scientific and engineering aspects of computing.

Overview

Courses include computer architecture, processor design, operating systems, computer networks, parallel processing, embedded systems, circuit analysis, analog and digital electronics, computer graphics, cloud, web and mobile computing, software engineering, database systems, digital signal processing, virtualization, computer simulations and games programming. CSE programs also include core subjects of theoretical computer science such as theory of computation, design and analysis of algorithms, data structures, numerical analysis, machine learning, information theory, programming language theory and paradigms. The program aims at designing, developing and troubleshooting computing devices and systems, focusing the underlying fundamental issues in the most efficient and effective way. Emerging computing technologies like image processing, artificial intelligence, deep learning and data science are also covered under these programs. Most of the above CSE areas require initial mathematical knowledge, hence the first year of study is dominated by mathematical courses, primarily discrete mathematics, mathematical analysis, linear algebra, probability theory and statistics, as well as the basics of physics - field theory and electromagnetism.
Pure computer science programs lectured on non-technical universities typically centers primarily around theory and software, with only some hardware; upper division courses tend to allow much freedom to specialize in software and theory related areas. In contrast, pure computer engineering programs tend to resemble computer science at the lower division with similar introductory programming and math courses, but diverges from computer science at the upper division with heavy electrical engineering requirements. Despite the overlap with computer science at the lower division level, computer engineering skews much more heavily toward the electronics side that it has more in common with electrical engineering. Computer Science & Engineering program integrates all of the above and is intended to develop a solid understanding of the entire machine. The higher unit count required to complete the program often means that a CSE student will need to spend an extra year in university.
Although Computer Science and Engineering is the common designation for the combined program, some universities call their program Electrical Engineering and Computer Science. Furthermore, there are some universities that named their department EECS and the program housed within CSE. In Germany and many European countries, similar programs are taught by technical universities and are called "Technische Informatik" or generally "Informatik".