Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Undergraduate embedded system education at Carnegie Mellon

Published: 01 August 2005 Publication History

Abstract

Embedded systems encompass a wide range of applications, technologies, and disciplines, necessitating a broad approach to education. We describe embedded system coursework during the first 4 years of university education (the U.S. undergraduate level). Embedded application curriculum areas include: small and single-microcontroller applications, control systems, distributed embedded control, system-on-chip, networking, embedded PCs, critical systems, robotics, computer peripherals, wireless data systems, signal processing, and command and control. Additional cross-cutting skills that are important to embedded system designers include: security, dependability, energy-aware computing, software/systems engineering, real-time computing, and human--computer interaction. We describe lessons learned from teaching courses in many of these areas, as well as general skills taught and approaches used, including a heavy emphasis on course projects to teach system skills.

References

[1]
Abet Accreditation Committee. 2004. Criteria for Accrediting Engineering Programs. November 1.
[2]
Amon, C. H., Finger, S., Siewiorek, D. P., and Smailagic, A. 1995. Integration of design education, research and practice at Carnegie Mellon University: A multi-disciplinary course in wearable computer design. Frontiers in Education Conference, 1--4 Nov. Vol. 2, pp. 4a1.14--4a1.22.
[3]
Artist Project. 2003. Guidelines for a Graduate Curriculum on Embedded Software and Systems, Project IST-2001-34820 report, review version, May 6. Accessed at http://www.artist-embedded.org/Education/Education.pdf on August 28, 2004.
[4]
Austin, T., Blaauw, D., Mahlke, S., Mudge, T., Chakrabarti, C., and Wolf, W. 2004. Mobile supercomputers. IEEE Computer, May 2004, 81--83.
[5]
Benini, L. and De Micheli, G. 2002. Networks on chips: a new SoC paradigm. IEEE Computer, January 2002, 70--78.
[6]
Berger, A. 2002. Embedded Systems Design: An Introduction to Processes, Tools and Techniques. CMP Books, Manhassett, NY.
[7]
Bergstrom, P., Driscoll, K., and Kimball, J. 2001. Making home automation communications secure. Computer, October 2001, 50--56.
[8]
Bosch, Robert Gmbh. 1991. CAN Specification, Version 2.
[9]
Burns, A. and Wellings, A. 2001. Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX (3rd Edition), Addison Wesley, Reading, MA.
[10]
Catsoulis, J. 2003. Designing Embedded Hardware, O'Reilly, Sebastopol, CA.
[11]
CMP 2005. CMP Media Publication Information, accessed at http://www.cmp.com/pubinfo/?pubID=50 on February 14, 2005.
[12]
Cooling, J. 2003. Software Engineering For Real-Time Systems. Addison Wesley, Reading, MA.
[13]
Director, S. W., Khosla, P. K., Rohrer, R. A., and Rutenbar, R. A. 1995. Reengineering the curriculum: Design and analysis of a new undergraduate Electrical and Computer Engineering degree at Carnegie Mellon University. Proceedings of the IEEE 83, 9(Sep.), 1246--1269.
[14]
Embedded Systems Conferences. 2004. Embedded Systems Conferences home page, http://www.esconline.com/ accessed August 28, 2004.
[15]
Estrin, D., Borriello, G., Colwell, R., Fiddler, J., Horowitz, M., Kaiser, W., Leveson, N., Liskov, B., Lucas, P., Maher, D., Mankiewich, P. L., Taylor, R., and Waldo, J. 2001. Embedded Everywhere: A Research Agenda for Networked Systems of Embedded Computers. National Academy Press, Washington, DC.
[16]
Ford, G. and Gibbs, N. 1989. A Master of software engineering curriculum: recommendations from the Software Engineering Institute. Computer 22, 9 (Sep.), 59--71.
[17]
Ganssle, J. and Barr, M. 2003. Embedded Systems Dictionary, CMP Books.
[18]
Grason, J. and Siewiorek, D. 1975. Teaching with a hierarchically structured digital systems laboratory. IEEE Computer, December 1975, 73--81.
[19]
IEEE 2004. Advertise in Computer, accessed at http://www.computer.org/computer/ad.htm on August 18, 2004.
[20]
Hemingway, B., Brunette, W., Anderl, T., and Borriello, G. 2004. The Flock: Mote Sensors Sing in Undergraduate Curriculum. IEEE Computer, August 2004, 72--78.
[21]
Jerraya, A. and Wolf, W., Eds. 2005. Multiprocessor Systems-on-Chips. Morgan Kaufmann, San Francisco, CA.
[22]
Klein, M., Ralya T., Pollak B., Obenza R., and Harbour M. 1993. A Practitioner's Handbook for Real-Time Analysis. Kluwer Academic Publ., Boston, MA.
[23]
Koopman, P. 2004. Embedded system security. IEEE Computer, July 2004, 95--97.
[24]
Kopetz, H. 1997. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Acadimic Publ., Boston, MA.
[25]
Kopetz, H. and Bauer, G. 2003. The time-triggered architecture. Proceedings of the IEEE 91, 1 (Jan.), 112--126.
[26]
Leen, G. and Heffernan, D. 2002. Expanding automotive electronic systems. IEEE Computer, January 2002, 88--93.
[27]
Lewis, D. 2001. Fundamentals of Embedded Software: Where C and Assembly Meet. Prentice Hall, New York.
[28]
Liu, J. 2000. Real-Time Systems, Prentice Hall, New York.
[29]
Melhem, R., and Graybill, R., Eds. 2002. Power Aware Computing, Kluwer Academic Publ., Boston, MA.
[30]
Motus, L. 1998. Teaching software-intensive embedded systems at Tallinn Technical University, Proceedings of Real-Time Systems Education III. Poznan, Poland, 30--35.
[31]
Neilsen, M., Lenher, D., Mizunol, M., Singh, G, Zhang, N., and Gross, A. 2002. An interdisciplinary curriculum on real-time embedded systems. In Proceedings of the 2002 American Society for Engineering Education Annual Conference & Exposition, session 1526.
[32]
Pedram, M., and Rabaey, J., Eds. 2002. Power Aware Design Methodologies, Kluwer Academic Publ., Boston, MA.
[33]
Pri-tal, S., Robertson, J., and Huey, B. 2001. An Arizona ecosystem for embedded systems. In 20th IEEE International Performance, Computing, and Communications Conference (IPCCC 2001). Phoenix AZ, April 4--6, 131--134.
[34]
Rabaey, J., and Pedram, M., Eds. 1996. Low Power Design Methodologies, Kluwer Academic Publ., Boston, MA.
[35]
Object Management Group. 2002. Real-Time CORBA, CORBA 2.0 Specification, accessed at http://www.omg.org.
[36]
RTJ 2000. JSR-000001, The Real-Time Specification for Java, accessed at http://www.rtj.org
[37]
Siewiorek, D. P., Smailagic, A., and Lee, J. C. 1994. An interdisciplinary concurrent design methodology as applied to the Navigator wearable computer system. Journal of Computer and Software Engineering. 2, 3, 259--292.
[38]
Siewiorek, D. P., Smailagic, A. et al. 1998. Adtranz: a mobile computing system for maintenance and collaboration. Proceedings of The Second IEEE International Symposium on Wearable Computers, IEEE Computer Society Press. 25--32.
[39]
Smailagic, A., Siewiorek, D. P. et al. 1995. Benchmarking an interdisciplinary concurrent design methodology for electronic/mechanical design. Proc. ACM/IEEE Design Automation Conference. 514--519.
[40]
Smailagic, A., Siewiorek, D.P., Stivoric, J., and Martin, R. 1998. Very rapid prototyping of wearable computers: a case study of custom versus off-the-shelf design methodologies, Journal on Design Automation for Embedded Systems 3, 217--230.
[41]
Sha, L., Rajkumar, R., and Lehoczky, J. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Transactions on Computers. 39, 9, 1175--1185.
[42]
Simon, D. 1999. An Embedded Software Primer, Addison-Wesley, Reading, MA.
[43]
Steenkiste, P. 2003. A network project course based on network processors. ACM Technical Symposium on Computer Science Education (SIGCSE 2003). Reno, Feb. 9--23, 262--266.
[44]
Storey, N. 1996. Safety-Critical Computer Systems, Addison-Wesley, Reading, MA.
[45]
Tempelmeier, T. 1998. “Embedding practical real-time education in a computer science curriculum. In Proceedings of the 3rd IEEE Real-Time Systems Education Workshop. Poznan Poland, 21 November, 149--153.
[46]
Turley, J. 2002. Embedded processors (Parts 1--3), January 2002. Accessed at http://www.extremetech.com on August 18, 2004.
[47]
Vahid, F. 2003. Embedded system design: UCR's undergraduate three-course sequence. Proceedings of the 2003 IEEE International Conference on Microelectronic Systems Education (MSE'03). 72--73.
[48]
Wolf, W. and Madsen, J. 2000. Embedded systems education for the future. Proceedings of the IEEE 88, 1, (Jan.), 23--30.
[49]
Wolf, W. 2001. Computers as Components: Principles of Embedded Computing System Design. Morgan Kaufmann. San Francisco, CA.
[50]
Wolf, W. 2003. How many system architectures? IEEE Computer, March 2003, 93--95.

Cited By

View all
  • (2024)Development of a Low Cost Poultry Egg Incubation SystemEuropean Journal of Theoretical and Applied Sciences10.59324/ejtas.2024.2(3).372:3(483-493)Online publication date: 1-May-2024
  • (2024)Exploring and Characterizing Large Language Models for Embedded System Development and DebuggingExtended Abstracts of the CHI Conference on Human Factors in Computing Systems10.1145/3613905.3650764(1-9)Online publication date: 11-May-2024
  • (2023)A Synthesis-Based Stateful Approach for Guiding Design Thinking in Embedded System DevelopmentSoftware10.3390/software20300162:3(332-349)Online publication date: 12-Aug-2023
  • Show More Cited By

Recommendations

Reviews

Bayard Kohlhepp

Embedded systems courses have grown organically and abundantly at Carnegie Mellon for 30 years, and now cover a broad spectrum of topics. The authors mine this catalog to try to find order and reason, and to draw conclusions for future course planning. The course taxonomy they use to structure their reporting is valuable in itself, even if you don't read the details. Embedded systems are split into 11 different categories, spanned by six different crosscutting skills. For anyone describing an embedded system, building a formal ontology, creating project plans (such as a work breakdown chart), or even just hiring a new embedded systems programmer, this categorization is an effective way to describe the depth and breadth of embedded development. For each of the 17 categories mentioned above, the authors discuss several attributes: distinguishing features of the category, key skills and principles taught for that category, the teaching methods used to best engage students, and challenges particular to that category. These are the details you are likely to skip as you look for conclusions (unless you are an educator looking for advice on creating embedded systems courses, in which case you'll love this section). Some of the paper's conclusions are not surprising: students like outside speakers, small groups require less teaching overhead than large groups, and knowledge retention is better when working with actual implementations. Other conclusions might be very surprising; for instance, they find that experience with nonembedded systems frequently has to be unlearned in order to succeed at embedded design. And, in the end, it's decided that organic growth through informal networking might just produce better courses and topical coverage than centrally planned growth. I love happy endings! Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 4, Issue 3
August 2005
238 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/1086519
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Journal Family

Publication History

Published: 01 August 2005
Published in TECS Volume 4, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Embedded systems education
  2. curriculum

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)42
  • Downloads (Last 6 weeks)6
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Development of a Low Cost Poultry Egg Incubation SystemEuropean Journal of Theoretical and Applied Sciences10.59324/ejtas.2024.2(3).372:3(483-493)Online publication date: 1-May-2024
  • (2024)Exploring and Characterizing Large Language Models for Embedded System Development and DebuggingExtended Abstracts of the CHI Conference on Human Factors in Computing Systems10.1145/3613905.3650764(1-9)Online publication date: 11-May-2024
  • (2023)A Synthesis-Based Stateful Approach for Guiding Design Thinking in Embedded System DevelopmentSoftware10.3390/software20300162:3(332-349)Online publication date: 12-Aug-2023
  • (2023)Improving learning experience to teach FPGA design at scaleProceedings of the 16th Annual ACM India Compute Conference10.1145/3627217.3627225(31-36)Online publication date: 9-Dec-2023
  • (2021)Digital Teaching an Embedded Systems Course by Using Simulators2021 ACM/IEEE Workshop on Computer Architecture Education (WCAE)10.1109/WCAE53984.2021.9707146(1-7)Online publication date: 17-Jun-2021
  • (2021)Egocentric abstractions for modeling and safety verification of distributed cyber-physical systems2021 IEEE Security and Privacy Workshops (SPW)10.1109/SPW53761.2021.00046(268-276)Online publication date: May-2021
  • (2020)Survey on Education for Cyber-Physical SystemsIEEE Design & Test10.1109/MDAT.2020.300961337:6(56-70)Online publication date: Dec-2020
  • (2019)Extending Student Labs with SMT Circuit ImplementationProceedings of the 2019 Great Lakes Symposium on VLSI10.1145/3299874.3317968(231-236)Online publication date: 13-May-2019
  • (2019)FPGA Based Big Data Accelerator Design in Teaching Computer Architecture and OrganizationCyber Physical Systems. Design, Modeling, and Evaluation10.1007/978-3-030-17910-6_11(145-158)Online publication date: 13-Apr-2019
  • (2018)Embedded Systems Security for Cyber-Physical SystemsCyber Security for Cyber Physical Systems10.1007/978-3-319-75880-0_6(115-140)Online publication date: 7-Mar-2018
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media