0% found this document useful (0 votes)
207 views

Computer Engineering As A Discipline

This document provides an overview of the key knowledge areas and units that make up the body of knowledge for computer engineering. It lists 13 major knowledge areas such as algorithms and complexity, computer architecture and organization, circuits and signals, and digital logic. Each knowledge area contains multiple units that delve deeper into the core topics within that area. The knowledge areas and units are meant to outline the essential theoretical and practical concepts that computer engineering graduates should master in order to work in the field.

Uploaded by

Zaiyan Gaming
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
207 views

Computer Engineering As A Discipline

This document provides an overview of the key knowledge areas and units that make up the body of knowledge for computer engineering. It lists 13 major knowledge areas such as algorithms and complexity, computer architecture and organization, circuits and signals, and digital logic. Each knowledge area contains multiple units that delve deeper into the core topics within that area. The knowledge areas and units are meant to outline the essential theoretical and practical concepts that computer engineering graduates should master in order to work in the field.

Uploaded by

Zaiyan Gaming
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Computing Curriculum – Computer Engineering Curriculum Report

Ironman Draft 2004June8

Chapter 2

Computer Engineering as a Discipline

T his chapter presents some of the characteristics that distinguish computer engineering from other computing
disciplines. It provides some background of the field and shows how it evolved over time. It also highlights
some of the characteristics expected from its graduates, preparation for entering the curriculum, and student
outcomes and assessment. The chapter also highlights the importance of graduates to have a proper sense of
professionalism to ensure a proper perspective in the practice of computer engineering.

2.1 Background

Computer engineering embodies the science and technology of design, construction, implementation, and
maintenance of software and hardware components of modern computing systems and computer-controlled
equipment. Computer engineering has traditionally been viewed as a combination of both computer science (CS)
and electrical engineering (EE). It has evolved over the past three decades as a separate, although intimately related,
discipline. Computer engineering is solidly grounded in the theories and principles of computing, mathematics,
science, and engineering and it applies these theories and principles to solve technical problems through the design
of computing hardware, software, networks, and processes.

Historically, the field of computer engineering has been widely viewed as “designing computers.” In reality,
the design of computers themselves has been the province of relatively few highly skilled engineers whose goal was
to push forward the limits of computer and microelectronics technology. The successful miniaturization of silicon
devices and their increased reliability as system building blocks has created an environment in which computers
have replaced the more conventional electronic devices. These applications manifest themselves in the proliferation
of mobile telephones, personal digital assistants, location-aware devices, digital cameras, and similar products. It
also reveals itself in the myriad of applications involving embedded systems, namely those computing systems that
appear in applications such as automobiles, large-scale electronic devices, and major appliances.

Increasingly, computer engineers are involved in the design of computer-based systems to address highly
specialized and specific application needs. Computer engineers work in most industries, including the computer,
aerospace, telecommunications, power production, manufacturing, defense, and electronics industries. They design
high-tech devices ranging from tiny microelectronic integrated-circuit chips, to powerful systems that utilize those
chips and efficient telecommunication systems that interconnect those systems. Applications include consumer
electronics (CD and DVD players, televisions, stereos, microwaves, gaming devices) and advanced microprocessors,
peripheral equipment, systems for portable, desktop and client/server computing, and communications devices
(cellular phones, pagers, personal digital assistants). It also includes distributed computing environments (local and
wide area networks, wireless networks, internets, intranets), and embedded computer systems (such as aircraft,
spacecraft, and automobile control systems in which computers are embedded to perform various functions). A
wide array of complex technological systems, such as power generation and distribution systems and modern
processing and manufacturing plants, rely on computer systems developed and designed by computer engineers.

Technological advances and innovation continue to drive computer engineering. There is now a convergence of
several established technologies (such as television, computer, and networking technologies) resulting in widespread
and ready access to information on an enormous scale. This has created many opportunities and challenges for
computer engineers. This convergence of technologies and the associated innovation lie at the heart of economic
development and the future of many organizations. The situation bodes well for a successful career in computer
engineering.

Page 9
Computing Curriculum – Computer Engineering Curriculum Report
Ironman Draft 2004June8

2.3 Characteristics of Computer Engineering Graduates

With the ubiquity of computers and computer-based systems in the world today,
computer engineers must be versatile in the knowledge drawn from standard topics in
computer science and electrical engineering as well as the foundations in mathematics
and sciences. Because of the rapid pace of change in the computing field, computer
engineers must be life-long learners to maintain their knowledge and skills within their
chosen discipline.

2.3.1 Distinctions

An important distinction should be made between computer engineers, electrical


engineers, other computer professionals, and engineering technologists. While such
distinctions are sometimes ambiguous, computer engineers generally should satisfy the
following three characteristics.

1. Possess the ability to design computer systems that include both hardware and
software to solve novel engineering problems, subject to trade-offs involving a
set of competing goals and constraints. In this context, “design” refers to a level
of ability beyond “assembling” or “configuring” systems.

2. Have a breadth of knowledge in mathematics and engineering sciences,


associated with the broader scope of engineering and beyond that narrowly
required for the field.

3. Acquire and maintain a preparation for professional practice in engineering.

In contrast, electrical engineers concern themselves mostly with the physical aspects
of electronics including circuits, signal analysis, and microelectronic devices. Computer
scientists concern themselves primarily with the theoretical and algorithmic aspects of
computing with a focus on the theoretical underpinnings of computing. Software
engineers have a focus on the principles underlying the development and maintenance of
correct (large-scale) software throughout its lifecycle. Information systems specialists
encompass the acquisition, deployment, and management of information resources for
use in organizational processes. Information technology specialists would focus on
meeting the needs of users within an organizational and societal context through the
selection, creation, application, integration, and administration of computing
technologies. Computer engineering technologists concern themselves with making
computer-based products work properly and in the maintenance of those products.
Computing Curricula - Computer Engineering Appendix A - Body of Knowledge
Ironman Draft 2004June8

Table A-1 The Computer Engineering Body of Knowledge


Computer Engineering Knowledge Areas and Units
CE-ALG Algorithms and Complexity [30 core hours] CE-CAO Computer Architecture and Organization [63 core
CE-ALG0 History and overview [1] hours]
CE-ALG1 Basic algorithmic analysis [4] CE-CAO0 History and overview [1]
CE-ALG2 Algorithmic strategies [8] CE-CAO1 Fundamentals of computer architecture [10]
CE-ALG3 Computing algorithms [12] CE-CAO2 Computer arithmetic [3]
CE-ALG4 Distributed algorithms [3] CE-CAO3 Memory system organization and architecture [8]
CE-ALG5 Algorithmic complexity [2] CE-CAO4 Interfacing and communication [10]
CE-ALG6 Basic computability theory CE-CAO5 Device subsystems [5]
CE-CAO6 Processor systems design [10]
CE-CAO7 Organization of the CPU [10]
CE-CAO8 Performance [3]
CE-CAO9 Distributed system models [3]
CE-CAO10 Performance enhancements
CE-CSE Computer Systems Engineering [18 core hours] CE-CSG Circuits and Signals [43 core hours]
CE-CSE0 History and overview [1] CE-CSG0 History and overview [1]
CE-CSE1 Life cycle [2] CE-CSG1 Electrical Quantities [3]
CE-CSE2 Requirements analysis and elicitation [2] CE-CSG2 Resistive Circuits and Networks [9]
CE-CSE3 Specification [2] CE-CSG3 Reactive Circuits and Networks [12]
CE-CSE4 Architectural design [3] CE-CSG4 Frequency Response [9]
CE-CSE5 Testing [2] CE-CSG5 Sinusoidal Analysis [6]
CE-CSE6 Maintenance [2] CE-CSG6 Convolution [3]
CE-CSE7 Project management [2] CE-CSG7 Fourier Analysis
CE-CSE8 Concurrent (hardware/software) design [2] CE-CSG8 Filters
CE-CSE9 Implementation CE-CSG9 Laplace Transforms
CE-CSE10 Specialized systems
CE-CSE11 Reliability and fault tolerance
CE-DBS Database Systems [5 core hours] CE-DIG Digital Logic [57 core hours]
CE-DBS0 History and overview [1] CE-DIG0 History and overview [1]
CE-DBS1 Database systems [2] CE-DIG1 Switching theory [6]
CE-DBS2 Data modeling [2] CE-DIG2 Combinational logic circuits [4]
CE-DBS3 Relational databases CE-DIG3 Modular design of combinational circuits [6]
CE-DBS4 Database query languages CE-DIG4 Memory elements [3]
CE-DBS5 Relational database design CE-DIG5 Sequential logic circuits [10]
CE-DBS6 Transaction processing CE-DIG6 Digital systems design [12]
CE-DBS7 Distributed databases CE-DIG7 Modeling and simulation [5]
CE-DBS8 Physical database design CE-DIG8 Formal verification [5]
CE-DIG9 Fault models and testing [5]
CE-DIG10 Design for testability
CE-DSP Digital Signal Processing [17 core hours] CE-ELE Electronics [40 core hours]
CE-DSP0 History and overview [1] CE-ELE0 History and overview [1]
CE-DSP1 Theories and concepts [3] CE-ELE1 Electronic properties of materials [3]
CE-DSP2 Digital spectra analysis [1] CE-ELE2 Diodes and diode circuits [5]
CE-DSP3 Discrete Fourier transform [7] CE-ELE3 MOS transistors and biasing [3]
CE-DSP4 Sampling [2] CE-ELE4 MOS logic families [7]
CE-DSP5 Transforms [2] CE-ELE5 Bipolar transistors and logic families [4]
CE-DSP6 Digital filters [1] CE-ELE6 Design parameters and issues [4]
CE-DSP7 Discrete time signals CE-ELE7 Storage elements [3]
CE-DSP8 Window functions CE-ELE8 Interfacing logic families and standard buses [3]
CE-DSP9 Convolution CE-ELE9 Operational amplifiers [4]
CE-DSP10 Audio processing CE-ELE10 Circuit modeling and simulation [3]
CE-DSP11 Image processing CE-ELE11 Data conversion circuits
CE-ELE12 Electronic voltage and current sources
CE-ELE13 Amplifier design
CE-ELE14 Integrated circuit building blocks
CE-ESY Embedded Systems [20 core hours] CE-HCI Human-Computer Interaction [8 core hours]
CE-ESY0 History and overview [1] CE-HCI0 History and overview [1]
CE-ESY1 Embedded microcontrollers [6] CE-HCI1 Foundations of human-computer interaction [2]
CE-ESY2 Embedded programs [3] CE-HCI2 Graphical user interface [2]
CE-ESY3 Real-time operating systems [3] CE-HCI3 I/O technologies [1]
CE-ESY4 Low-power computing [2] CE-HCI4 Intelligent systems [2]
CE-ESY5 Reliable system design [2] CE-HCI5 Human-centered software evaluation
CE-ESY6 Design methodologies [3] CE-HCI6 Human-centered software development
CE-ESY7 Tool support CE-HCI7 Interactive graphical user-interface design
CE-ESY8 Embedded multiprocessors CE-HCI8 Graphical user-interface programming
CE-ESY9 Networked embedded systems CE-HCI9 Graphics and visualization
CE-ESY10 Interfacing and mixed-signal systems CE-HCI10 Multimedia systems
Computing Curricula - Computer Engineering Appendix A - Body of Knowledge
Ironman Draft 2004June8

CE-NWK Computer Networks [21 core hours] CE-OPS Operating Systems [20 core hours]
CE-NWK0 History and overview [1] CE-OPS0 History and overview [1]
CE-NWK1 Communications network architecture [3] CE-OPS1 Design principles [5]
CE-NWK2 Communications network protocols [4] CE-OPS2 Concurrency [6]
CE-NWK3 Local and wide area networks [4] CE-OPS3 Scheduling and dispatch [3]
CE-NWK4 Client-server computing [3] CE-OPS4 Memory management [5]
CE-NWK5 Data security and integrity [4] CE-OPS5 Device management
CE-NWK6 Wireless and mobile computing [2] CE-OPS6 Security and protection
CE-NWK7 Performance evaluation CE-OPS7 File systems
CE-NWK8 Data communications CE-OPS8 System performance evaluation
CE-NWK9 Network management
CE-NWK10 Compression and decompression
CE-PRF Programming Fundamentals [39 core hours] CE-SPR Social and Professional Issues [16 core hours]
CE-PRF0 History and overview [1] CE-SPR0 History and overview [1]
CE-PRF1 Programming Paradigms [5] CE-SPR1 Public policy [2]
CE-PRF2 Programming constructs [7] CE-SPR2 Methods and tools of analysis [2]
CE-PRF3 Algorithms and problem-solving [8] CE-SPR3 Professional and ethical responsibilities [2]
CE-PRF4 Data structures [13] CE-SPR4 Risks and liabilities [2]
CE-PRF5 Recursion [5] CE-SPR5 Intellectual property [2]
CE-PRF6 Object-oriented programming CE-SPR6 Privacy and civil liberties [2]
CE-PRF7 Event-driven and concurrent programming CE-SPR7 Computer crime [1]
CE-PRF8 Using APIs CE-SPR8 Economic issues in computing [2]
CE-SPR9 Philosophical frameworks
CE-SWE Software Engineering [13 core hours] CE-VLS VLSI Design and Fabrication [10 core hours]
CE-SWE0 History and overview [1] CE-VLS0 History and overview [1]
CE-SWE1 Software processes [2] CE-VLS1 Electronic properties of materials [2]
CE-SWE2 Software requirements and specifications [2] CE-VLS2 Function of the basic inverter structure [3]
CE-SWE3 Software design [2] CE-VLS3 Combinational logic structures [1]
CE-SWE4 Software testing and validation [2] CE-VLS4 Sequential logic structures [1]
CE-SWE5 Software evolution [2] CE-VLS5 Semiconductor memories and array structures [2]
CE-SWE6 Software tools and environments [2] CE-VLS6 Chip input/output circuits
CE-SWE7 Language translation CE-VLS7 Processing and layout
CE-SWE8 Software project management CE-VLS8 Circuit characterization and performance
CE-SWE9 Software fault tolerance CE-VLS9 Alternative circuit structures/low power design
CE-VLS10 Semi-custom design technologies
CE-VLS11 ASIC design methodology

Mathematics Knowledge Areas and Units


CE-DSC Discrete Structures [33 core hours] CE-PRS Probability and Statistics [33 core hours]
CE-DSC0 History and overview [1] CE-PRS0 History and overview [1]
CE-DSC1 Functions, relations, and sets [6] CE-PRS1 Discrete probability [6]
CE-DSC2 Basic logic [10] CE-PRS2 Continuous probability [6]
CE-DSC3 Proof techniques [6] CE-PRS3 Expectation [4]
CE-DSC4 Basics of counting [4] CE-PRS4 Stochastic Processes [6]
CE-DSC5 Graphs and trees [4] CE-PRS5 Sampling distributions [4]
CE-DSC6 Recursion [2] CE-PRS6 Estimation [4]
CE-PRS7 Hypothesis tests [2]
CE-PRS8 Correlation and regression
http://www.ieeeusa.org/careers/yourcareer.html

Typical College Curriculum to Prepare for Your Career


Engineering Bachelor's Degree Programs
Computer Engineering

Courses % time
Math 14
Physics or Chem. 13
Intro. Computing 5
Computer Hardware & Microcomputers 7
Software Engineering 7
Lab & Design Work 9
Electrical engineering electives 9
Other technical electives 9
Oral/Written Communications 5
Social Science/Humanities 13
Other electives* 9

*Electives may include additional technical courses in Semiconductor Device


Construction, Advanced Topics in Computer Languages, Computer Architecture,
Computer Construction, Communications, Microwaves, etc., depending on the
interests and the size of the faculty. Topics in business and arts and
sciences may also be included.

You might also like