
What is Computer Engineering?
Computer Engineering is a field of study and work in which real world problems
are solved using computers. The solution of the real world problems requires
that the computer engineers develop computer systems which consist of computer
hardware, computer software and computer networks that solve the problems in an
economical, user-friendly, reliable and demonstrable way. Based on this
definition, the department has focused its undergraduate and graduate programmes
of study towards computer software, computer networking and computer
architecture/hardware.
1. The following definition of what constitutes computer engineering was prepared by a panel of subject advisers and circulated to all heads of computer science departments in July 1997. The criteria describe attributes and activities associated with high cost provision that are believed to be equivalent in cost terms to other engineering activities. The range and depth of the student experience on those courses which are to be classified as computer engineering must satisfy both the qualitative and quantitative criteria described below.
Computer engineering
2. The engineer in any aspect of computing is concerned with the specification, design, implementation, maintenance and testing of a package, language or system, rather than the mere use of it. The engineer works to professional standards and within a code of ethics. The engineer is concerned with how things work ‘behind’ the interface, and how they can be made to work more cheaply, reliably and effectively. While the academic engineer uses multiple applications, his or her aim is to abstract and experiment with the general principles which transcend all of them.
Funding computer engineering as a laboratory subject
3. The following are criteria which enable computer science departments to be funded as group B (laboratory-based science, engineering and technology disciplines). Such departments will submit a return to HESA under cost centre 20 (Electrical, Electronic and Computer Engineering) or cost centre 39 (Computer Software Engineering). Departments whose activities do not meet these criteria will continue to be funded as group C (part-laboratory disciplines), and should submit a return to HESA under cost centre 25 (Information Technology and Systems Sciences).
4. Departments funded as group B must have at least two-thirds of their teaching activity in a broad range of engineering-type computer science. Teaching activity should be measured in terms of FTE load; a ‘broad range’ is defined as at least seven of the categories listed below. The following list of topics is part of the wider definition of computer engineering, when taken in the context of the above statements and supported by laboratory work.
a. Computer hardware.
Specification, design (via CAD), simulation, verification, construction
and testing of the hardware of computer systems using logic, memory and
interconnection technologies. (Simulation is a vital tool of every practicing
engineer; it is taught in all engineering departments and has a significant
laboratory basis. However, not all simulation is engineering.)
b. Computer architectures.
The attributes of individual computer systems as seen by software; the design, organization and operation of the component parts of a computer system (including real time systems); hardware/software trade-offs; multiple processor systems; models of computation; techniques to enhance performance; performance estimation and measurement.
c. Computer communications, networks and distributed systems.
Network protocols, protocol stacks, client-server models, authentication, authorization, compression, quality of service, security systems, error handling and fault tolerance, encryption, signaling and switching, distributed object systems, enterprise systems, network administration and management, that is running servers.
d. Distributed, parallel and high performance computing.
System architectures, processor interconnect systems, concurrency control mechanisms, application decomposition, resource management, performance measurement, algorithms.
e. Design and implementation of systems software.
Operating systems (including real-time systems), configuration management, software for concurrent computing, programming language design and implementation, modeling and simulation.
f. Software and systems engineering to cover the whole of the system life
cycle.
CASE tools, formal methods, requirements analysis and specification, design (including architectural design), implementation, programming paradigms, programming models, tools for programming, software re-use, verification, assessment and evaluation, software and data re-engineering, performance evaluation and software metrics, evolution, maintenance, project management.
g. Algorithms, data structures and data management in the context of
software engineering as laboratory-based experimental programming.
Design, analysis, complexity, efficiency.
h. Logical and semantical foundations of computation, theory of
concurrency, Petri nets.
Only if computing-intensive tools are used to animate the theory, such as
the concurrency workbench, theorem provers and model checkers. (Animation, in
this sense , is graphical simulation to support and refine analysis, which may
be linked to code template generation.)
i. Artificial intelligence and cognitive science.
Computer vision, speech and natural language processing, automated
reasoning, machine learning, adaptive systems, cognitive modelling, knowledge
engineering, design and implementation of knowledge-based systems, modelling
and development of knowledge-based systems applications, constraint handling,
heuristics, case-based reasoning.
j. Computational Intelligence
Neural computing, genetic algorithms, fuzzy computing.
k. Intelligent robots, control systems, real time systems and experimental engineering applications.
l. Design and implementation of graphical and sound systems.
Computer graphics, image processing, large scale visualization, sound
analysis and synthesis and virtual reality systems, digital signal processing,
animation.
m. Human computer interaction engineering.
User interface design, construction and evaluation, interactive systems design, computer supported co-operative work, multi-media, input/output devices, process visualisation, usability analysis.
n. Design and implementation of databases and information storage and
retrieval systems, modelling and implementation of databases, and information
storage and retrieval systems applications.
Only where this involves some or all of the following features: large
scale data, efficiency considerations, evaluation of underlying techniques,
support for a variety of data types, distributed databases, database
architectures, continuous operation, security and recovery of information,
storage of temporal and spatial data, concurrent access, controlled access,
data mining, design and implementation of systems to process electronic
documents and hypermedia.
o. Dependable computing, software reliability, safety critical and security systems, cryptography.
©Copyright 2001.All rights reserved by www.ceuet.com.