Embedded processing, where computers are used to monitor and control dedicated hardware, is a growing presence within mainstream computer science. Network processing, where embedded processors monitor and control communication networks, is a premier example of embedded processing. There is a growing need for undergraduate students to understand software-hardware co-design concepts and to acquire practical experience in embedded processing. Network processing and network processor architecture provide an ideal context in which to teach software-hardware co-design at the advanced undergraduate level in Computer Science and Engineering.
This project develops an advanced undergraduate course in network processing that includes: 1) a project-based introduction to embedded processing in an application area, network processing, where there is increasing demand for skills and for which we anticipate substantial advances in technology, 2) a strengthening of ties between academic study of network processing and industrial practice in the field, given the fact that most advances in network processor architectures to date have been made in industry, and 3) growing the pool of advanced undergraduates and subsequent graduate students with the skills for advancing this field via research.
Materials are being adapting from Dr. Comer's graduate-level course on network processors into an undergraduate-level course on network processing and processors. All developed course materials, including course notes and laboratory exercises will be freely available on the Internet to academic institutions teaching similar software-hardware co-design courses. The lab exercises are fitted to the Comer-Peterson text, and cross-linked the text's web site.