Title: Introduction to Embedded Systems
Credits: 4 (4 hours lecture; 1 hour lab)
Coordinator: Shwetak Patel, Professor, Computer Science and Engineering / Electrical and Computer Engineering
Goals: To provide a detailed understanding of the specification, design, implementation, and test of the software side of real-time embedded microcomputer systems.
Learning Objectives: At the end of this course, students will be able to:
Textbook: James K. Peckol, Embedded Systems - A Contemporary Design Tool. John Wiley & Sons, 2008.
Prerequisites by Topic:
Course Structure: The class meets for two lectures a week, each consisting of 2-hour meetings. There is a lab recitation to practice programming on the embedded platform and for time to work on assignments. Laboratory work constitutes a significant focus of the class and is organized into projects, typically groups of 3-4 students. There are 4-6 project assignments that build on each other for the final project. There are also two written exams.
Computer Resources: Extensive use of interactive systems for C language program development; use of tools for source level program debug. Embedded development boards are provided and used in the course.
Laboratory Resources: The main electronics laboratory includes benches equipped with oscilloscopes, power supplies, function generators, digital multimeters, test leads, and computers installed with a C integrated development environment. Each team is also assigned an embedded development board for use for the quarter.
Laboratory Structure: The laboratory consists of 4-6 design project assignments that build on each other, culminating in the final project. Examples of labs goals include:
Grading: Course grades are based on laboratory assignments, a final project, and a midterm exam.
ABET Student Outcome Coverage: This course addresses the following outcomes:
H = high relevance, M = medium relevance, L = low relevance to course.
(1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics (H) The laboratories require the student to assess and analyze the assignment, then apply basic engineering knowledge to either solve the problem or state why (based upon their analysis) they are unable to fully satisfy the requirements.
(2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors (M) The laboratories assign a particular design problem to be solved. The final project brings all of the concepts together through the development of a (simplified) real world project. Each of the design projects provides a high-level requirements specification and a design specification for the problem that must be solved and each student must think about the broader implications of their designs. For the final project, the students are given only a set of requirements and they must interpret the requirements and implement the design specification.
(4) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts (M) Ethics and professional behavior are strongly stressed throughout the course. Students will discuss the societal and ethical impacts of developing embedded systems for consumer products, including safety, privacy, security, and reliability. Also considered are issues such as copyrights, national and international patents, licensed material, intellectual property, plagiarism, citing sources for material or idea, and using published algorithms and designs.
(6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions (M) The project assignments routinely require the use of contemporary software engineering tools and techniques. The projects inherently include the collection and interpretation of signals and data from a sensor or a collection of sensors.
Preparer: James K. Peckol, Shwetak Patel, Bruce Hemingway
Last revised: 05/03/2019 by Shwetak Patel