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).