CSCI C421 Digital Design Teaching/Learning Goals
The Who and What of C421
Who - Anyone with an interest in understanding digital design and
how digital hardware works. As computer hardware is more easily designed
and constructed it has become more specialized and available, it has become
pratical to construct one of a kind devices for unique applications. It
has become more important that computer professionals understand the limitations
and potential of hardware. Background for the course includes discrete
mathematics (C251) and a computer structures course (C335), no background
in electronics is required.
What - The lecture topics cover the theoretical elements of digital
design but the focus is mainly on current design methods, design of common
digital devices, and common technologies. Standard design tools common
to industry are used in weekly exercises that closely complement lecture
topics. The exercises rely heavily upon the use current design tools for
development of digital designs to test one's understanding of concepts
discussed in lecture. The purpose of the course is not to train digital
designers but is designed to develop an understanding of hardware potential
and limitations through active learning. In digital design that translates
into designing and implementing hardware. Due to recent technology developments,
hardware construction has become highly generalized and automated, allowing
students to develop and implement far more complex designs than practical
just several years ago. More specific information can be obtained by reading
the following discussion of course goals or by examining exercises listed
as home works on the course syllabus.
CSCI C421 Learning Goals
The learning goals of each computer science course strive to capture
intended learning outcomes. The goals are expressed using the terms that
follow. These terms describe the level of familiarity (most to least) with
respect to various kinds of material and procedures.
-
Mastery means the student will be able to exhibit knowledge of the
material and/or skill with the procedure, in a new but appropriate context,
even when not instructed to do so.
-
Familiarity means the student will be able to answer questions about
the material and/or to use the procedure, in a new but appropriate context,
when instructed to do do.
-
Exposure means the student will have heard the term and/or seen
the procedure, but may not be able to discuss or use it effectively without
further instruction.
The C421 learning goals cover important areas recommended jointly in a
report by the Association of Computing Machinery (ACM) and the Computer
Society of the IEEE in 1991 for university computing curricula. These international
organizations were established to promote academic and professional excellence
in the computer sciences. The complete baccalaureate curricula list consists
of nine subject areas, of which a portion are covered in this course, primarily
those areas which better prepare the student to succeed in subsequent Indiana
University Southeast computer science courses and as professional computer
scientists. Several supplementary areas are covered that have developed
since publication of the curricula report. Many of these subjects listed
below will often recur in subsequent courses and at a level requiring further
understanding.
-
Mastery
-
AR1 - Basic logic elements and switching theory; minimization and implementation
of functions. 2 hrs.
-
AR1 - Devices (demultiplexers, multiplexers, decoders, encoders, adders,
subtractors, registers, counters). 4 hrs.
-
AR1 - Analysis and synthesis of synchronous circuits, asynchronous vs.
synchronous. 2 hrs.
-
AR2 - Algorithmic state machines. 3 hrs.
-
AR2 - Block diagrams, timing diagrams. 2 hrs.
-
Familiarity
-
AR1 - Propagation delays and hazards. 1 hrs.
-
AR1 - Technologies; device types; flipflops. 1 hrs.
-
AR1 - Memories (ROM, EPROM, RAM). 1 hrs.
-
AR2 - Tristates and bus structures. 2 hrs.
-
Exposure
-
AR2 - Register transfer notation, conditional and unconditional. 1 hrs.
-
AR2 - Iteration, top down/bottom up, divide and conquer. 1 hrs.
-
AR2 - Decomposition, trade-offs, economics. 1 hrs.
Design of C421 to Achieve These Goals
Computer science demands competency in a range of skills. Therefore,
students benefit from the guided practice in the environment of a university
class. To facilitate this, C421 includes the following:
-
Students complete weekly programming assignments aimed at developing the
foundational skills and exposure to digital design methods and technologies.
-
Current design methods and technologies using VHDL (Very large-scale integrated
circuit Hardware Description Language) for design development and FPGA's
(Field Programmable Logic Arrays) are employed for assignments allowing
rapid development of complex designs.
-
Class time is divided between instructor lecture, discussion, and class
assignments. Students work in small teams during class to analyze and explain
design behavior, suggest improvements, and discuss alternative implementations.
Individual student questions serve to guide the class discussion.
-
Laboratory exercises are available as Web-pages and are discussed in class
when assigned using the pages available to the student.
-
Most questions arise when students are working on exercises outside of
class. Students are encouraged to contact the instructor directly or by
emailing their questions and design for guidance.
-
In recognition that problem solving is often an iterative process, assignments
that are less than perfect can be submitted for instructor evaluation,
refined and resubmitted for additional credit.
Document last modified: