IJMECS Template
IJMECS Template
IJMECS Template
Yimin Xie
Department of Electronic Engineering, Macquarie University, North Ryde, NSW, Australia
Email: [email protected]
Abstract—A sequence of professional courses of study in lists of abilities they wanted their engineers to possess
Computer Engineering at the authors’ university was (e.g. Boeing's Desired Attributes of an Engineer).
initiated. These included Digital Fundamentals, A CDIO (conceive-design-implement-operate)
Programmable Logic Design, Computer Hardware and program [2] is based on the principle that product and
Digital Systems Design. This paper presents a study on how
the problem based learning has been used for these courses.
system lifecycle development and deployment are the
It also describes how CDIO (Conceive, Design, Implement, appropriate context for engineering education. The CDIO
Operate) concepts have been applied with an overview of all concepts, which basically are a model of the entire
the hardware resources necessary to support the degree. product cycle, form a worldwide initiative in Engineering
Education. CDIO is considered the context for
Index Terms—Computer Engineering, Engineering engineering education in that it is the cultural framework,
Education, Problem Based Learning, CDIO, Digital or environment, in which technical knowledge and other
Systems. skills are taught, practiced and learned.
B. The Computer Engineering Degree
I. INTRODUCTION There are several basic courses that are common to all
the Engineering degrees at the Department of Electronic
The Problem Based Learning (PBL) approach has been Engineering at the authors’ university. Apart from them,
used in the development of a sequence of professional there are four specialized professinal courses compulsory
courses for the degree of Computer Engineering at the for the Computer Engineering Degree: Digital
authors’ university [1]. Team-based projects form major Fundamentals (in the first year), Programmable Logic
components of these courses. All the projects follow the Design (in the second year) and Computer Hardware and
CDIO (Conceive, Design, Implement, Operate) context Digital Systems Design (in the third year). The scope of
of engineering education that is being adopted by the topics covered in the four courses is represented by
considerable computer and engineering departments the content of the textbooks and references shown below
world-wide. in Table I.
A. CDIO Concepts
Engineering education has evolved into the teaching of II. DIGITAL FUNDAMENTALS
engineering science where teaching engineering practice Digital Fundamentals is the fundamental course for
was increasingly de-emphasized. Industry in recent years Computer Engineering as well as a few other Engineering
has found that graduating students, while technically degrees. Enrolments have been over 150 since 2008.
adept, lack many abilities required in real-world
engineering situations. Hence, major companies created
TABLE I.
AUTHOR(S) OF TEXT/REFERENCE BOOKS
Text/Reference
Course Author
Book
Digital Fundamentals T. Floyd Text [3]
Digital Fundamentals R. J. Tocci, N. S. Widmer and G. L. Moss Reference [4]
Programmable Logic Design T. Floyd Reference [5]
Computer Hardware P. Spasov Text [6]
Computer Hardware R. J. Dirkman and J. Leonard Reference [7]
Copyright © 2010 MECS I.J.Modern Education and Computer Science, 2010, 1, 1-8
I.J.Modern Education and Computer Science, 2010, 1, 1-8
Published Online November 2010 in MECS (http://www.mecs-press.org/)
Copyright © 2010 MECS I.J.Modern Education and Computer Science, 2010, 1, 1-8
Professional Courses for Computer Engineering Education 3
B. CDIO Stages for a Traffic-Light Controller alerted to this possibility. In 2010, most of the teams took
The documentation of the project identifies about thirty this “hint”, and were able to complete the project on time.
problems classified under the conceive, design, Take the issue of hierarchical design as an example.
implement and operating issues of the project. Examples Six traffic flows of the intersection are usually identified
of the problems of each of the conceive, design, at the top hierarchical level of design as shown in Fig. 4.
implement and operate issues are listed in Table II. Each flow has its own operating features which turn out
to be the second level of design, and each operation has
TABLE II. its own combination of states of traffic lights to be
EXAMPLES OF CDIO ISSUES FOR A TRAFFIC LIGHT designed at the bottom level.
CONTROLLER IN PROGRAMMABLE LOGIC DESIGN Further details of each of the 30 issues are given in the
CDIO Stage Problem Area student documentation. A standard tabular form is used.
Conceive Inputs and Outputs for Digital Control References to text/reference books are sometimes given.
Conceive Simplification of Controller An example is given in Table III.
Specifications In the implement stage, the hardware implementation
for preliminary development in order tools using FPGA technology are illustrated in Fig. 5.
to establish the design procedure The operate stage also uses the hardware models of the
before the final design is initiated intersection shown in Fig. 5.
Conceive Control Algorithms
Design Hierarchical Design C. Documentation
Design FSM (Finite State Machine) State A standard format (in an A4-size sheet) has been used
Coding for the documentation of each issue. This documentation
Design One-Hot Encoding is included in the notes that are available at the beginning
Design Synchronous Delay Circuit of the semester before the start of the team project. The
Design Design for Testability documentation gives students some background or insight
Implement FPGA to the CDIO issues and suggests meaningful activities.
Implement VHDL [11] Table II and Table III are both typical examples of
Operate Testing the documentation.
Operate Real-time Operation
IV. COMPUTER HARDWARE
In the first Conceive stage, the customer needs are Computer Hardware is a third-year course teaching the
defined and the technology to be used is determined from principle and applications of microcontrollers. A special
the technology taught in this course: Field Programmable microcontroller trainer was developed for this course.
Gate Arrays (FPGAs). The detailed specification of the Microcontroller trainers have hardware and software
controller is considered a “conceive” issue, and the resources that give students the experience of exercising
documentation points out that optimization of the and developing microcontroller-based systems.
controller design may be achieved at the initial systems- Microcontroller interfacing is important and experiments
specification stage of the project. should cover parallel ports, serial ports, interrupts, timing
The design stage of the project is, by far, the most and digital/analogue inputs/outputs. As bit-level
difficult, and about 20 issues are documented. The issues manipulation is required, especially for a memory-
of “hierarchical design”, “one-hot encoding” and mapped input/output architecture (such as that of the
“synchronous delay circuit” were central to an effective Motorola 68HC11 microcontroller), some experience
approach to design. After a period of about two weeks with assembler coding is required. The microcontroller
into the seven-week period for the project, the teams were
Professional Courses for Computer Engineering Education 3
Figure 4. Six traffic flows at the top level design of the traffic intersection in Programmable Logic Design
Figure 5. The FPGA implementation of the traffic controller in Programmable Logic Design
TABLE III. EXAMPLE OF THE DOCUMENTATION OF A CDIO ISSUE FOR THE PROJECT IN PROGRAMMABLE LOGIC
DESIGN
List inputs
List outputs
6 Professional Courses for Computer Engineering Education
Address Address
Data
Bus Bus
Bus
High Low
R
RAM
256 × 4
P
Program Counter
O
Op Code
N
Nibble Two
B
Nibble Three
ArithmeticLogicShift
Unit (ALSU) and A
Z C A
Zero Carry Accumulator
S
Switch
X Y M
Start Stop Mode
R
RAM
256 × 4
TABLE IV.
EXAMPLES OF CDIO ISSUES FOR A BUS-STRUCTURED
COMPUTER IN DIGITAL SYSTEMS DESIGN
CDIO Problem Area projects have been provided.
P Class surveys have given
Program Counter
Stage encouraging, supportive feedback and the authors are of
Design Hierarchical Design the view that the application of CDIO concepts to team
Design Expandable Design based projects is an effective approach to engineering
Design Bus education. The initial success with the CDIO approach
O
Operate Computer Programs for Testing also been presented.Nibble TwoConcept-specific and general-
TABLE V. S
Switch
EXAMPLES OF THE DOCUMENTATION OF A CDIO ISSUE FOR A BUS-STRUCTURED COMPUTER IN DIGITAL SYSTEMS
DESIGN
Design X Hierarchical
Y Design M
Problem Area Start Stop Mode
Problem A hierarchical design approach is invariably used for the design of complex systems. The problem
is how to partition the system so that it may be represented by a multi-level structure of blocks that
support “top-down” specification and “bottom-up” implementation.
Proposed At all levels of the hierarchy, focus on inputs to blocks and outputs from blocks. Identify the
problem- functionality of important signals interconnecting blocks. Attempt to use some blocks a number of
solving times. Try to “parameterise” blocks (e.g. a MOD-n counter with n as a parameter). Build
approach “expandable” blocks (such as “cascadable” counters).
Notes/Solution Some advantages of hierarchy in Digital Systems Design are:
modular (division of the system into functional blocks)
multi-level (ability to specify modules in terms of library components or
previously defined modules)
simplifies system specification (as details of each module are defined only once),
and eliminates repetitious detail
facilitates understanding of the functionality of each module
highlights the interconnections between (functional) modules (i.e. highlights the
functionality of signals that interconnect the modules)
simplifies "design", "simulation", "implementation" and "testing" phases
facilitates systems documentation
highlights module inputs and outputs (and hence highlights signal
“dependencies”)
Make notes on how you will proceed with the hierarchical design approach.
Professional Courses for Computer Engineering Education 7
8 Professional Courses for Computer Engineering Education