Sudden Impact Teaching Project
In collaboration with Prof Steve Leeb
at MIT (in
association with CMI
hardware, software, tutorials and laboratories were developed.
Below is the original project motivation, etc.
For many of our students, `hacking the web' has supplanted
`working on the Chevy.' The increasing complexity and monolithic
integration associated with modern commercial products have conspired
to eliminate many of the practical, hands-on experiences which
prepared past students for an engineering education. At the same time,
many of our classes have been refined to focus on the beauty and
technique of analytical methods and fundamental principles used in
design, perhaps increasingly without reference to the practical
physical systems for which these methods were developed. These trends
may account for our informal observation that some EECS students
appear increasingly disenfranchised with physics-related courses. A
balanced educational experience, which combines a good appreciation of
exciting, `computer age' methods and tools with the essential
ability to manipulate and understand the physical world, will enable a
student to combine new tools with classical methods to design real
systems. This ability should be the hallmark of an engineering
education. The breadth and immediacy of both of our undergraduate
programs would benefit from a concentrated effort to revise and expand
our laboratory offerings.
Students need to see, touch, design, and analyze practical,
illustrative systems in order to have any hope of understanding how
engineering science produces technological realities. An education
without these reinforcing physical experiences will fail to prepare
students to understand modern industrial problems. Hardware/software
codesign is vital to development of digital electronic systems (e.g.
communications, entertainment, transport, medical analysis, computers,
etc.). As a result, it is considered to be part of the core curriculum
(in one form or another) by many EE and CS departments.
Paradoxically, equipment required for laboratories to teach this
material is not readily available. In particular, evaluation boards
from manufactures of the key components required of such systems (e.g.
microprocessors and programmable logic devices) often focus on one
component (e.g. an ARM evaluation board focuses on the ARM
microprocessor) which would severely limit the scope of the material
which could be taught. Consequently, many institutions have developed
their own equipment; a costly and time consuming process.
Long term plan
This project will primarily focus on hardware/software co-design,
the practical component for courses like 6.115 Microcomputer Project
Laboratory at MIT, and at Cambridge: Electronic Computer Aided Design
(ECAD), Computer Architecture and System Level Programming. The
platform will also be used for project work at various levels (e.g.,
2nd year group projects in Computer Science and 3rd year projects in
Engineering) and could be used as a practical component for Network
and Operating Systems courses.
Materials to be produced
Various hardware subsystems will be produced to provide the
infrastructure required to improve the teaching laboratories. This
hardware will include components necessary to prototype embedded
devices, from robot controllers through to network
appliances. Components include microprocessors, field programmable
gate arrays (soft programmable digital chips), analogue/digital
converters, and industrial interfaces like Dallas 1-wire bus, CAN,
etc. Extensive design examples will be produced and documented to
provide a teaching framework. Where specific tools and languages
(e.g. Verilog/VHDL) need to be introduced, web based interactive
teaching material will be produced, building upon the very successful
6.001 Structure and Interpretation of Computer Programs course taught