Asee peer logo

Learning Materials for Introductory Embedded Systems Programming Using a Model-Based Discipline

Download Paper |

Conference

2016 ASEE Annual Conference & Exposition

Location

New Orleans, Louisiana

Publication Date

June 26, 2016

Start Date

June 26, 2016

End Date

August 28, 2016

ISBN

978-0-692-68565-5

ISSN

2153-5965

Conference Session

Software and Programming

Tagged Division

Computers in Education

Page Count

15

DOI

10.18260/p.27324

Permanent URL

https://peer.asee.org/27324

Download Count

213

Request a correction

Paper Authors

biography

Frank Vahid University of California - Riverside

visit author page

Frank Vahid is a Professor of Computer Science and Engineering at the Univ. of California, Riverside. His research interests include embedded systems design, and engineering education. He is a co-founder of zyBooks.com.

visit author page

biography

Alex Daniel Edgcomb Zybooks

visit author page

Alex Edgcomb finished his PhD in computer science at UC Riverside in 2014. Alex works with zyBooks.com, a startup that develops interactive, web-native textbooks in STEM. Alex has also continued working as a research specialist at UC Riverside with his PhD advisor, studying the efficacy of web-native content for STEM education.

visit author page

biography

Bailey Alan Miller Zyante Inc.

visit author page

Bailey Miller is a software engineer at Zyante Inc., and formerly worked as a software engineer at Space Exploration Technologies Corporation (SpaceX). He received his B.S. in Computer Engineering, and his M.S and Ph.D. in Computer Science, from the University of California, Riverside in 2009, 2011, and 2014, respectively. His dissertation research focused on embedded systems design and novel highly-parallel many-core computer architectures. He has published more than 10 research papers, and served as a university lecturer in computer science.

visit author page

biography

Tony Givargis University of California - Irvine

visit author page

Tony Givargis is a Professor of Computer Science and Associate Dean in the School of Information and Computer Sciences at the University of California, Irvine. He received his B.S. and Ph.D. in Computer Science from the University of California, Riverside in 1997 and 2001, respectively. He conducts research in the area of embedded systems with an emphasis on embedded systems and software and has authored over 90 peer reviewed papers. He is a named inventor on 11 U.S. patents and has co-authored two popular textbooks on embedded system design. Professor Givargis has received numerous teaching, service, and research awards, including the Frederick Emmons Terman Award, presented annually to an outstanding young electrical engineering educator by the Electrical and Computer Engineering Division of the American Society for Engineering Education.

visit author page

Download Paper |

Abstract

Embedded systems have changed dramatically in recent decades. At their start in the 1970's and growth in the 1980's, embedded systems consisted of relatively simple microcontroller hardware, often programmed in low-level assembly language, to configure a few peripherals and interact with a few input/output pins. Today, improvements in speed, memory size, and power have changed the emphasis from hardware to software, with microcontrollers supporting tens of thousands of lines of code, perhaps programmed in C, often with concurrent tasks, interacting with dozens of peripherals and potentially hundreds of input/output pins in time-multiplexed manner, and dynamically changing among numerous power states. Yet, many university embedded systems courses and textbooks still look similar to those in the 1980's, emphasizing low-level programming of hardware. Little guidance is provided to teach students in a first course how to program using disciplined methods. The result is an improper foundation and perspective, leading to ad hoc unstructured code, or over-reliance and inefficient use of real-time operating systems. To remedy the situation, we describe a model-based discipline for introductory embedded systems courses, developed over the past decade at the University of California, Riverside and at UC Irvine. The discipline has students describing desired behavior using synchronous state machines, and capturing those state machine using standard C templates. As such, students develop software paying strict attention to timing issues, and create their own C-based task scheduler, leading to a solid understanding of concurrency and RTOS functionality. This paper highlights that discipline, and describes new web-based interactive learning material emphasizing the discipline, which is best used for the lecture portion of a course with an accompanying microcontroller lab. The paper also introduces web-based tools that support the discipline.

Vahid, F., & Edgcomb, A. D., & Miller, B. A., & Givargis, T. (2016, June), Learning Materials for Introductory Embedded Systems Programming Using a Model-Based Discipline Paper presented at 2016 ASEE Annual Conference & Exposition, New Orleans, Louisiana. 10.18260/p.27324

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2016 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015