1 Background of Cpr E 211 - Department of Computer Science and

advertisement
Curriculum Development for
Computer Engineering 211
(Cpr E 211)
http://class.ee.iastate.edu/cpre211
Aaron Striegel
Dept. of Electrical & Computer Engineering
Iowa State University
Ames, IA 50011
adstrieg@iastate.edu
Abstract
This paper discusses the changes introduced to the Computer Engineering 211
(Cpr E 211) curriculum. The paper details the changes through three phases of
curricular change, namely general course development, lab development, and distance
education development. Finally, several comments are included regarding future
curriculum changes for Cpr E 211.
August 10, 2001
Table of Contents
1
2
3
4
5
Background of Cpr E 211 ........................................................................................ 3
1.1
History of Cpr E 211......................................................................................... 3
1.1.1
Course Instructors .................................................................................... 4
1.1.2
Laboratory Equipment .............................................................................. 4
1.2
Motivation for Changes .................................................................................... 4
Adapting the Cpr E 211 Curriculum ......................................................................... 5
2.1
Phase I: Adapting for Student-Learning ........................................................... 5
2.1.1
Active Learning ........................................................................................ 5
2.1.2
Interactive Lecture Style ........................................................................... 6
2.1.3
Multiple Learning Styles ........................................................................... 6
2.1.4
Group Learning ........................................................................................ 7
2.1.5
Real-world Applicability ............................................................................ 7
2.1.6
Course Webpage ..................................................................................... 7
2.1.7
Thematic Labs ......................................................................................... 8
2.2
Phase II: Improvement of Facilities .................................................................. 8
2.2.2
Evaluation of Equipment ........................................................................ 10
2.2.3
Development of Equipment .................................................................... 11
2.2.4
Development of Software ....................................................................... 12
2.3
Phase III: Adaptation for Distance Learning ................................................... 12
2.3.1
Offering a Distance Education BS EE .................................................... 12
2.3.2
Impact on Cpr E 211 .............................................................................. 13
2.3.3
Initial Distance Education Offerings ........................................................ 14
2.3.4
Center-based distance education ........................................................... 14
2.3.5
Remote Solution..................................................................................... 14
Future Comments & Direction................................................................................ 15
3.1
Separate Course for EEs ............................................................................... 15
3.2
Balance of More Designs vs. Less ................................................................. 15
Summary of Curricular Impact ............................................................................... 15
Appendix A – Distance Education Challenges ....................................................... 16
1 Background of Cpr E 211
Computer Engineering 211 is a sophomore-level class designed to expose students to
the basic fundamentals of embedded systems programming. The course catalog is as
follows:
Computer Engineering 211: Digital Systems Design
(3-2) Cr. 4. F.S. Prereq: Cpr E 210, Com S 207 or 227.
Logic families. Documentation standards. Implementation and testing of
combinatorial and sequential systems and subsystems. Introduction to
microprocessors. Microprocessor registers, memory, and programmable
input/output devices. Interrupts. Single chip controllers. Design and testing of
software for microcontrollers. Hardware/software design tradeoffs and issues.
Individual design projects.
This course is required for both Computer Engineering and Electrical Engineering
majors. For computer engineers, the course is a fundamental step for future classes
and is taken typically in the second semester of the student’s sophomore year. For
electrical engineers, the course is a requirement to graduate but the course is not a
prerequisite for further required coursework.
The typical enrollment in the course consists of 100 on-campus students in the fall and
approximately 200 on-campus students in the spring semester. The makeup of course
is typically split between two-thirds computer engineering sophomores and one-third
electrical engineering majors. Since Cpr E 211 is not a requirement for future
coursework for electrical engineers, many students will typically save the course until
their senior year. This creates the potential for a large gap in student maturity
(sophomore vs. senior) and student interest (required course versus fundamental course
in major). Due to these gaps, the style and attitude of learners in the class can be
significantly varied, thus representing a major hurdle in order to effectively convey the
appropriate course information.
1.1 History of Cpr E 211
Computer Engineering 211 can be originally traced back to its original course, Computer
Engineering 281. As part of a sequence, Cpr E 280/281, the goal of the two courses
was to communicate the fundamental concepts of Computer Engineering to both
computer and electrical engineering majors. While Cpr E 210 (280) focused on the more
basic concepts (basic digital logic, digital operations, state machines), Cpr E 211 (281)
expanded upon the knowledge gained in Cpr E 210 by exposing the students to
programming via assembly language and C on a basic microcontroller. Whereas Cpr E
210 introduces students to more basic/theoretical concepts, Cpr E 211 maintains a focus
closer to implementation.
Both courses are laboratory intensive courses whereby topics covered in lecture are
investigated in the laboratory. This hands-on style of learning not only gains the
students in the class valuable experience but also works well with the typical learning
styles of engineers. As technology has evolved, both of the courses have evolved as
well incorporating new equipment.
1.1.1 Course Instructors
For the first several iterations of Cpr E 211, Dr. Richard Horton and Dr. Doug Jacobson
of the Iowa State Electrical & Computer Engineering department instructed the course.
Dr. Doug Jacobson was the course supervisor that entailed selecting the laboratory
equipment as well as supervising any course changes. The course was offered with
typically one section in the fall semester and two sections in the spring semester with the
two instructors equally distributing the course load.
Over time, Dr. Jacobson’s involvement with the Cpr E learning community and security
classes prevented him from being able to teach Cpr E 211. As a result, Dr. Horton
became the primary instructor for Cpr E 211 as it grew to two sections per semester and
also added a limited distance education component via Kirkwood Community College in
Cedar Rapids.
In the last few years, Dr. Horton has been engaged in phased retirement whereby he
only teaches in the fall and has the spring semester off. As a result of this void, a Ph.D
student, Aaron Striegel (myself), was given the task of teaching the course over several
summers and the spring semesters.
1.1.2 Laboratory Equipment
In order to select the lab equipment, two necessary components were required, namely
an adequate microcontroller solution and appropriate support tools. The microcontroller
provides an all-in-one solution (essentially a PC + RAM + input/output on a single chip)
that allows the laboratory to clearly illustrate the concepts covered in class. However,
since the departmental resources were limited, a cost-effective solution had to be
selected that was readily available.
In order to satisfy this constraint, the Motorola 68HC11 microcontroller was selected.
Since the 68HC11 was a fairly basic microcontroller, it provided a satisfactory platform
for the level of students being instructed. In addition, the 68HC11 was also a fairly
common microcontroller that made the course more relevant to the students’ future job
positions.
Second and perhaps more important, the 68HC11 already had readily available
educational tools. Since the department had limited resources (both in terms of
manpower and funding), the F1 board (a variation on the 68HC11) well suited the
current needs of the department. The F1 board cost approximately $150 fully tested and
provided the necessary functionality for the laboratory (LCD screen, keypad, digital
input/output). In addition, the F1 board had available an inexpensive set of supporting
software tools which was also critical to its use in the lab.
1.2 Motivation for Changes
As a result of my involvement as the course instructor for Cpr E 211, I felt this
represented an ideal time to incorporate changes into the Cpr E 211 curriculum. After
teaching the course in the summer of 1999, the spring 2000 sections of Cpr E 211
became the starting point for the changes. The reasoning for these changes arose
primarily from my experiences as a student and my experiences in industry. Based on
these experiences as well as those of my fellow students, I set out to change the Cpr E
211 curriculum for the better.
2 Adapting the Cpr E 211 Curriculum
The changes that have/are being incorporated into the Cpr E 211 curriculum can be
subdivided into three main phases. These phases include:



Adapting for student-learning
Improvement of facilities
Adapting for distance education
The phases follow the timescale whereby the changes have/will be introduced. Phase I
has already been introduced and Phase II will be introduced this fall (Fall 2001). Phase
III is still in the development process and will be decided over the next few months.
2.1 Phase I: Adapting for Student-Learning
As I began developing the course material for Cpr E 211 in the spring semester, I
outlined several changes that I would like to see in the course:







Active learning
Interactive lecture style
Multiple learning styles
Group learning
Real-world applicability
Course webpage
Thematic labs
Although these changes did represent a shift in the curriculum, the actual course content
did not change as a result. The shift represented more of a pedagogical shift and an
enhancement of student resources rather than a content-based shift.
2.1.1 Active Learning
As a result of my experiences as an undergraduate, I had been exposed to active
learning in Cpr E 308 taught by Dr. Jim Davis. Since this technique worked fairly well in
that class, I decided to adapt the technique for my class. The primary application of
active learning was for learning the various programming languages (C and Assembly).
Since proficiency in C and Assembly is a critical component of the class, the active
learning technique works extremely well in the class.
For example, the lecture notes include several group exercises that are discussed only
in class. The students are given a small problem (5-10 minutes) in C or Assembly and
are asked to write out the solution to the problem. After a few minutes have passed, the
students are asked to share their solution with students around them. While the
students are working the problem, I would move up and down the aisles to answer any
questions or to offer tips to students that are having trouble getting started. Once more
than 50% of the students have finished or enough time has passed, the solution is
discussed on the board along with my complete reasoning for the solution.
The active learning component was received quite well. Students mentioned that the inclass exercises were the primary source of helping them learn the material. In fact,
many of the students mentioned on their evaluations that they would like to see more inclass exercises. However, the type of material and time allotted make it difficult to
include more class exercises beyond the 1/lecture included during the C and Assembly
lectures.
2.1.2 Interactive Lecture Style
From my initial experience during the first summer lecture, I noticed one of the primary
problems was the lack of student questions. Although the students may be confused,
the maturity level of the students often kept the students from interrupting to ask
questions. Thus, I found that for such a class, it was often necessary to continually poll
the class for questions after each section of material. For the more difficult sections, I
found that having the students raise their hand for comprehension provided an even
more effective gauge.
Although such questions are typically welcome by instructors, I found that such an
environment was not encouraged nor introduced by instructors. Thus, with my class, I
encouraged the asking of questions from the very beginning of the semester with several
comments in the syllabus and throughout lecture. The varying level of attitude and
maturity coupled together with the large lecture size seemed to only exacerbate the lack
of questions. However, I found that by continually encouraging questions throughout the
semester, this trend could slowly be changed. Thus, hopefully the lecture would adapt
over the course of the semester from an instructor-driven lecture to a more interactivebased lecture.
2.1.3 Multiple Learning Styles
One of the areas I had also found that students had problems with was in the
understanding of key topics for the course. I discovered that the repetition of material
through multiple methods was often well worth my time in lecture. Although the more
advanced students could occasionally become bored by the repetition, the majority of
the students seemed to appreciate the multiple facets of the key concepts. This
adaptation for learning styles went beyond the verbal content of the lecture and also
covered the written materials of the course.
In order to assist students with note taking, I had made my notes available via the
course webpage. At first, the notes had been simply an outline of the topics that I was
going to cover. However, through student feedback, I adapted my notes from a coarse
HTML outline to in-depth Word notes. Rather than including only material from the
lecture, I began including multiple examples in the notes and various figures/drawings in
order to benefit visual learners as well.
One of the more recent changes has been the availability of course notes ahead of the
lecture. As a result of discussions with international students, several students had
mentioned that it was difficult to keep up with my speaking speed and take down notes.
Thus, I made my notes available ahead of time for students to download, print, and add
notes during class.
The inclusion of notes represented a tradeoff for the class. If the notes are given
verbatim on the webpage, students may not take any notes and thus may not fully
absorb the material. Since the typical engineering student learns by writing/listening
along with doing, this can represent a potential problem. However, if the notes are not
given until afterwards, those students for whom English is a second/third language or for
who do not absorb well through writing will suffer. As a compromise, I use the notes as
a guideline but will frequently work examples on the board with a different perspective or
will include additional material/examples during lecture.
2.1.4 Group Learning
In previous iterations of Cpr E 211, the only group work came from the laboratory work.
For the lab work, the students work in pairs whereas the course homework (if it is
assigned) is done individually. In the spring of 2000, I introduced group-based
homework to Cpr E 211 for the homework and programming projects. For the first
iteration, group-work was optional and incentives of extra credit were offered to
encourage group work. However, as the ABET 2000 criteria include group work as one
of its core criteria, I adapted the Cpr E 211 coursework to require group work via
assigned groups. In order to encourage group-wise studying beyond homework, a
bonus was offered if all group members receive over ninety percent on exams.
2.1.5 Real-world Applicability
One of the problems that arise with the typical lecture driven approach is that the typical
homework problems and exam problems are canned smaller problems. In order to
expose the students to larger problems that require group work, I introduced into the
coursework two programming projects.
The goal of the two programming projects is two-fold. First, the programming projects
expose the students to current topics or relevant projects. Although the students may
not have a complete understanding of the subject area, the projects are posed in such a
way that such knowledge is not required. By keeping the projects in a current topic or
related to laboratory, the student’s interest can be maintained. Second, the projects
represent a larger assignment for the students to work on. Rather than the smaller
canned homework problems, the projects represent actual real-world problems that
require a significant amount of work. Due to the amount of work involved, the students
are introduced to problems of a size/nature that they will see in the real world. In
addition, in order to feasibly accomplish the projects, it becomes highly advantageous for
the students to learn effective group skills.
2.1.6 Course Webpage
Since the Computer Engineering majors is inherently dependent upon technology, it
makes natural sense the Cpr E curriculum should take advantage of this technology. In
the past, Cpr E 211 had possessed a fairly limited webpage. The primary drive behind
the enhanced Cpr E 211 webpage was to provide a 24-hour resource for students. By
placing all of the course materials on-line (course notes, homework, lab assignments),
the students can use the webpage anytime. The medium represents an ideal method for
distributing course materials to students.
2.1.7 Thematic Labs
One of the more profound changes to the Cpr E 211 class has been the adaptation
towards thematic labs. As with most computer engineering laboratory courses, the labs
had consisted of several disjoint laboratories. Although the labs were coupled together
with the lecture material, each of the labs was entirely separate from other labs. This
approach allowed students to gain hands-on experience but did not truly cause the
students to learn the material as they could complete the labs and forget the labs.
The method to accomplish a thematic approach is to incorporate a final project into the
laboratory portion of course. The final project ties the labs together into a final theme
whereby each individual lab consisted of a portion of the final project. Thus, the
students would re-use individual labs by combining the labs into a larger final project.
Examples of previous projects have included an automobile controller and a digital alarm
system. Just as with the programming projects, the lab final projects allowed the
students to participate in a larger project that could be similar to what they would
experience in industry.
A recent variation to the final projects introduced an optional component whereby the
students can choose the amount of work they would like to do (70% required/30%
optional). This optional component allows all of the students to be challenged as the
specific components required for an ‘A’ grade are not specified. A list of potential
optional items is provided on the course webpage
The final project was clearly the best received adaptation for the class by the students.
On student evaluations, many students listed the final project as one of most time
consuming but also one of the most rewarding portions of the class. The quality of the
final projects was also quite excellent as the optional components caused several
students to go far beyond the listed components.
2.2 Phase II: Improvement of Facilities
During the fall of 2000, a senior design team began the investigation into a new platform
for the Cpr E 211 laboratory. Although the Cpr E 211 laboratory facilities were
adequate, the facilities themselves were limited and somewhat outdated. The goal of
the senior design team was to investigate potential platforms for Cpr E 211 that would
include both the hardware and software necessary for the lab.
The primary goal of the new platform was to enhance the Cpr E 211 curriculum through
better laboratory facilities. Whereas the lab facilities would change, the actual course
content and laboratory concepts would not change. The targeted benefits were as
follows:

Better debugging facilities



2.2.1.1
Expanded I/O options
More robust facilities
Enhanced processor
Better Debugging Facilities
The current environment being used in Cpr E 211 was significantly behind the current
technology being used in industry. Although the lab did possess an IDE (Integrated
Development Environment, essentially the compiler, editor, and debugging environment
all in one), the ICC11 IDE offered only minor debugging tools. The poor debugging
environment hindered student progress and caused student to oftentimes become
frustrated with lab.
Thus, the initial goal of the enhancement was to incorporate a more sophisticated
debugging environment. Ideally, the environment would support step-by-step
debugging, breakpoints, and viewing of system registers. Other features such as code
profiling and remote support were not required.
The change for an improved environment would also be reflected in the course
curriculum. With step-by-step debugging, it would be possible for the course instructor
to demonstrate coding examples in class. The group exercises from before could be
enhanced by an actual demonstration of the solution and a thorough trace of how the
code would behave. Second, the debugging would take a significant portion of ‘mystery’
out of programming. Rather than having to guess where the error in their code was at,
the students would be able to debug their code step-by-step and actually see where the
error was occurring. This feature would dramatically improve the student learning that
occurs in the laboratories and also reduce the frustration involved with debugging.
2.2.1.2
Expanded I/O Options
When developing the final projects, I noticed a profound limitation on the type and
number of I/O (input/output) options that were available. For both of the final projects
offered (alarm controller and automobile controller), the real-world problem had to be
significantly adapted due to the limited input/output available with the F1 board. Hence,
the second goal of the new platform was to create an I/O board that dramatically
increased the number of I/O ports available. Through this increase, future course
instructors would be able to offer significantly closer to real-world experiences for the
various laboratories in the course. In addition, the I/O board would also include features
previously not available on the F1 board that would also be useful (Timing I/O – Input
Timing, Output Waveforms, TPU, etc.)
2.2.1.3
More Robust Facilities
One of the other issues that arose with the F1 boards was the robustness of the F1
boards themselves. Since there was a fairly large enrollment in Cpr E 211, the boards
themselves suffered a significant amount of usage, which in turn introduced a significant
maintenance task. Over time, the F1 boards themselves were gradually improved via
additional work by departmental technicians but the boards themselves still required a
significant amount of maintenance. The maintenance typically included burnt out chips,
burnt out LCDs, incorrectly connected circuits, and other problems.
Thus, the third goal of the new platform was to significantly increase the robustness of
the facilities. The primary method for accomplishing this task was to include the actual
I/O components directly on the board rather than having the students wire their own I/O
circuits. The on-board circuits would be further supported through buffer protection as
well as protection from accidentally shorting to ground of the circuit.
2.2.1.4 Enhanced Processor
One of the difficulties in teaching the 68HC11 lies in the complexity of the addressing
modes associated with the processor. Since the 68HC11 is an accumulator-style
processor (few registers, many different addressing modes), the processor is more
difficult for students to learn than a general-purpose processor (many registers, fewer
instructions). Although the accumulator-style register is an excellent learning experience
for students as it is fairly common in industry, it presents a much larger learning curve
than an equivalent general-purpose processor. In addition, it is possible to teach
accumulator-style instructions on a general-purpose processor but not the other way
around.
Thus, the final goal was to select a processor that would present a better learning
processor. Since the basic concepts would not change (assembly programming,
registers, etc.), a more “modern” processor would present a less steep learning curve for
the students and allow the instructor to more effectively teach the material to the
students.
2.2.2 Evaluation of Equipment
Once the initial criterion for the new platform had been laid out, it was the responsibility
of the senior design team to investigate the various possibilities that existed. After a
thorough investigation of possibilities, the team came up with three candidate choices for
the platform:



Motorola 68332/68336 board
Motorola Power PC 604 w/embedded Linux
Motorola Power PC 555
2.2.2.1 Motorola 68332/68336
Cpr E 301, one of the other courses in the Cpr E curriculum, used an evaluation board
based on the Motorola 68332 microcontroller. The intention of the investigation into this
platform was to settle on a unified platform for several Cpr E classes, thus giving the
students a thorough experience with a single platform and set of development tools.
However, after further investigation, it was discovered that the 68332 was being
discontinued and new 68336 boards were being developed. Due to the time constraints
of the project, the investigation into the 68336 platform was discontinued.
2.2.2.2 Motorola Power PC 604 w/embedded Linux
The second solution came from a recent graduate of the Iowa State Computer
Engineering program. The student, Troy Bengardes, has been working at a company
that produces embedded Linux solutions. Although the initial target was a higher-level
class, the board was investigated for its applicability to Cpr E 211. This board could be
used for multiple levels of classes within the Cpr E curriculum as well. In addition, the
board contained an FPGA (Field Programmable Gate Array) that would tie in well with
Cpr E 211.
Unfortunately, the board lacked several key components that were critical to the content
of Cpr E 211. First, the internal processor was not a microcontroller, thus requiring all of
the I/O subsystems to be developed in separate hardware or via the FGPA. Second, the
board was significantly more costly, both in terms of cost as well as development and
setup time.
2.2.2.3 Motorola Power PC 555
The final solution considered for Cpr E 211 came as a result of searching for material for
the 68332/68336 platform. As a result, one of the team members located an educational
package on Metrowerks’ website. The package consisted of the IDE software, Power
PC 555 evaluation board, and documentation. However, the primary benefit of the
Power PC 555 was its feature set that was remarkably similar to the 68HC11. The
PowerPC possessed all of the I/O features as the 68HC11 as well as several other
features as well. These features included:







Dual serial ports – 1 for debugging, 1 for external I/O (LCD)
Queued A/D – 12 bit A/D capable of reading 64 channels of A/D input via
multiplexing
Timing Processing Unit (TPU) – Two TPUs (similar to 68332/68336)
Parallel Input/Output ports
Modular I/O subsystem (Output Compare, Input Capture, Pulse Accumulator,
Pulse Width Modulation)
Periodic Interrupt Timer (PIT)
Memory Management subsystem
As a result of these subsystems, many of the existing labs could be adapted and taught
in a similar fashion as before. Due to the cost/benefit of the board, the Power PC 555
board became the platform selected for the lab development.
2.2.3 Development of Equipment
For each of the boards, it was necessary to develop an I/O board to accompany the
board. This I/O breakout board would be responsible for providing the necessary
functionality for the students in the laboratory. The I/O board would be responsible for
providing more robust hardware as well as expanded I/O options. After consulting with
several interested faculty members, the following feature set was selected:




4 A/D inputs via POTs – Allow for multiple A/D inputs (i.e. temperature +
pressure)
2 8 bit digital inputs – Allow students to wire external circuits and attach them
2 8 bit digital outputs – Allow students to output to their custom circuits
2 built in bargraphs and LEDs – Provide the output rather than having the
students be required to construct their own





2 8 bit DIP switches – Allow for more complicated signaling
4 row LCD + Keypad input – Provide a better keypad as well as more room for
displaying information to the LCD screen
Keypad – Allow students to work with debouncing/etc.
TPU – Future coursework
Modular I/O – Allow students to drive stepper motors, read in waveforms, etc.
The key feature in the development was that the I/O components were included on the
board. Previously, students had been required to construct the LED bargraph that led to
frequent equipment failures (both of the students’ circuits and the F1 boards). By
including the circuits in the I/O board, the students could focus on programming, rather
than continually fixing their circuitry. However, the digital outputs would still allow an
instructor to require the students to build their own circuitry. The hardware board
essentially enhances upon the excellent base of the F1 board while providing many
other features that were not present as well as an additional level of robustness.
2.2.4 Development of Software
In addition to the hardware component, the software must also be developed to support
the board. Since the board was developed on top of the Axiom evaluation board from
Metrowerks, CodeWarrior provided full support via a BDM (Background Debugging
Monitor). The BDM provided quick and efficient debugging support for the board that
would provide step-by-step debugging, variable viewing, register viewing, as well as
several other features.
The software side of the development would be primarily responsible for the enhanced
debugging facilities. Through the BDM and CodeWarrior, the new lab platform will
provide a dramatically enhanced learning environment due to the advancement of the
tools being employed. Although the students will still be learning the same concepts, the
tools themselves will offer a much better insight for the students and should help rather
than hinder or frustrate the learning process as the previous setup had done before.
The software development process also involves more resource development than the
hardware side. Since the platform is an entirely new platform, new web resources would
have to be developed to support the platform. This includes tutorials as well as new
lectures and labs supporting the software components used in laboratory. As the course
continues, the software components will be refined to catch technical glitches as well as
to further streamline the process for the course.
2.3 Phase III: Adaptation for Distance Learning
One of the inherent problems that arise with any hands-on laboratory is the fact that it is
difficult to reproduce the entire lab experience for the distance education student.
Although simulation packages may exist, these packages are often extremely expensive
and also extremely time consuming to develop. Therefore, delivering a hands-on
laboratory for computer and electrical engineering is certainly not a trivial task.
2.3.1 Offering a Distance Education BS EE
Over the course of the past year, the Electrical and Computer Engineering program at
Iowa State University have been investigating the possibility of offering the a BS EE
major from Iowa State entirely via distance education. The distance education program
would be offered through National Technological University (NTU) and would have the
potential for up to 100 distance education students per year. The current driving forces
behind the program are coming both industry as well the distance education office.
Since NTU is primarily an education program geared towards the corporate
environment, oftentimes companies will fully reimburse the cost of tuition and course
related fees. This represents a potentially lucrative market on several fronts. First, since
companies will pay for 100 percent of the course tuition, the potential revenue stream is
significantly greater than the traditional student tuition associated with on campus
electrical and computer engineering students. Second, such a program would be the first
of its kind offered in the United States. By accelerating the deployment of such a
program, Iowa State would become the de facto leader in distance education for
electrical engineering for the near future and beyond.
2.3.2 Impact on Cpr E 211
Since Cpr E 211 is a required course for the electrical engineering majors, this could
have a potentially large impact on Cpr E 211 course curriculum. Progress has already
been completed for Cpr E 10 via distance education. Thus, the next emphasis will be on
developing the necessary facilities and curriculum to support Cpr E 211 via distance
education. However, while Cpr E 210 was a more theoretical based course, Cpr E 211
represents a significantly more difficult challenge for distance education and as it is
primarily a hands on laboratory. Whereas in Cpr E 210 several educational packages
had already been developed for teaching purposes, various industrial tools would need
to be adapted for Computer Engineering 211 for educational purposes. In addition,
these tools would also need a function either remotely or/and entirely via simulation.
Since the equipment be used in Computer Engineering 211 is extremely complex, the
cost of simulation and/or remote access becomes extremely high. The primary reason
for the extremely high cost is due to the fact that the required features (such as remote
access or simulation) typically exist in only in the extremely high-end products. For
previous iterations of Cpr E 211, the issue of cost was not a significant problem as
remote access/simulation was not required.
However, the cost of the equipment is not the only cost for adapting the laboratories. In
addition to the cost of the actual equipment itself, the cost of development and support
for such a distance education class is also and non-trivial amount as well. Cpr E 211
would be faced with not only the problem of maintaining the on-campus equipment, but
also providing support for technical issues that may arise due the student’s computer.
The issue of heterogeneous computing represents an entirely unknown quantity when it
comes to the amount of support that is required.
Therefore, if the current distance education development for Cpr E 211 has proceeded
at a brisk but cautious pace. The key principle behind this thought process is the
distance education students should not be exposed to untested software and technical
glitches should be minimized as much as possible.
2.3.3 Initial Distance Education Offerings
Currently, Cpr E 211 has been offered once as a distance education course and will be
offered as a distance education course in the fall of 2001. This represents a minor
dilemma, as the fall of 2001 will be the first time that the new laboratory equipment is
being applied for the course. Therefore, as a temporary measure, the distance
education students will use the old boards (shipped to them with a laptop) and receive
old videotapes from the Fall 2000 offering of Computer Engineering 211. Although this
offers a solution for the fall 2001 section of 6-8 distance education students, this method
does not solve the underlying problem of offering Cpr E 211 via distance education.
Therefore, several other alternatives are also being investigated and deployed.
2.3.4 Center-based distance education
For in-state distance education students, it is possible to offer distance education at
nearby community colleges. Iowa State would provide the lectures via distance
education (streaming video, ICN, videotapes) and would also set up a lab facility on-site
at the community college. For example, the last offering of Cpr E 211 was offered via a
community college in Cedar Rapids. A similar arrangement would be employed for
future Cpr E 211 offerings. The on-campus laboratory would have one or two labs
stations reproduced at various community colleges as per the enrollment demands from
the state of Iowa. A teaching assistant would then be assigned to the facility or a local
student who is on intern or co-op near the community college would be used.
Since this approach had been used previously for Cpr E 211, the budget for the new
laboratory equipment was appropriately enhanced in order to allow for distance
education students. However, this solution still does not solve the problem of delivering
Computer Engineering 211 on a national scale and to a larger group of students.
2.3.5 Remote Solution
Therefore, over the past few months, there has been an on-going investigation into
possibilities that could meet the needs of the course. After some searching, a company
was located, Wind River, that offered equipment that appears to meet the needs of the
course. Unfortunately, the cost of the equipment is extremely expensive. At roughly
$10,000 per license (can be shared by multiple students) and a large amount of
development time, the solution is a viable technical solution but may not fall within the
budgetary constraints. A facility such as this would need to be added in incrementally or
developed through funding of a large education grant (NSF, ASEE, etc.).
The Wind River solution would involve the students using the Internet to remotely access
the equipment located in Coover. The physical I/O components would be simulated
using a LabView based front-end and a digital/analog conversion board inside the
computer. Eventually, both the on-campus and off-campus students would be migrated
to the same set of tools. As with before, a teaching assistant or multiple teaching
assistants would be devoted to answering student questions.
The equipment itself would need to be developed from the Wind River components.
Although Wind River provides an open API for accessing their components (LabView,
Visual C++, etc.), the code would need to be developed to support the labs. Although a
generic lab version could be developed, the process itself would be extremely timeconsuming for both the lead instructor as well as the students working on the project.
Once the equipment was developed, it would need to be tested through a variety of
Internet connections and rolled out slowly to avoid over-commitment of the resources.
3 Future Comments & Direction
As the curriculum for Cpr E 211, several unanswered questions still remain. These
areas include concerns of faculty within the department as well as concerns regarding
the reasoning behind the course that are present in any curriculum.
3.1 Separate Course for EEs
Since electrical engineers at Iowa State follow an entirely separate track than computer
engineers, one of the suggestions for Cpr E 211 has been to split it up into two separate
sections. By splitting up the course, Cpr E 211 and its electrical engineering equivalent
could be better tailored to the students taking the course. For electrical engineers, the
course could focus on basic programming concepts as well as interacting with analog
signals. Conversely, for computer engineers, the architecture of the chip could be
examined in further detail along with real-world interfacing. By splitting up the course,
both of the respective versions of the course could also be tailored to the overall
curriculums as well.
However, a separate course does not come without a cost. First, the new course would
require faculty development as well as additional faculty resources to teach the course.
Second, the curriculum would need to be justified for the curriculum committee and third,
the course would remove another common step in the EE/Cpr E curriculums.
3.2 Balance of More Designs vs. Less
One of the other considerations while selecting a platform was the tradeoff of exposing
the students to more or less architectures. By exposing the students to fewer
architectures, the students would be able to do more involved projects, as they would be
exposed to the same architecture in multiple classes. However, in doing so, the
students would also have less of a variety to draw upon as industry employs a wide
variety of embedded solutions. This topic has also been a hot debate topic as there is
not a firm agreement on this subject within the department.
4 Summary of Curricular Impact
In summary, the impact of the proposed changes on the Cpr E 211 curriculum is quite
significant. Although the content of the course does not dramatically change, the
methods for teaching and learning will be dramatically enhanced by the changes. The
changes begin with teaching/learner-based development and are enhanced by
equipment development. Through these changes, I believe that the enhanced Cpr E
211 course will offer a significant improvement over the previous iterations of Cpr E 211.
This improvement will have an impact not only on the student’s learning but will also
offer a solid contribution to the overall Computer and Electrical Engineering curriculum
here at Iowa State.
5 Appendix A – Distance Education Challenges
In the following paper, the challenges for delivering hands-on laboratories via distance
education are discussed. This paper discusses the various issues, problems, and
potential solutions for distance education. This paper was submitted as part of a Faculty
Fellows grant for Frontiers in Education (FIE’2002).
Download