Master Course Description for EE-475 / CSE-475 (ABET sheet)

Title: Embedded Systems Capstone

Credits: 5 (4 lecture; 1 lab)

UW Course Catalog Description

Coordinator: James K. Peckol, Principal Lecturer, Electrical and Computer Engineering

Goals: Provide a team-based capstone experience in the development of complex, real-world embedded systems applications and guide students through the complete development life cycle from requirements specification to final system design, implementation, and test thereby giving students an appreciation of the design challenges in building hardware/software systems.

Learning Objectives:

At the end of this course, students will be able to:

  1. Introduce and explain in-depth embedded systems concepts, design principles, practices, and techniques, and then apply and practice such methods in real-world applications.
  2. Introduce the system design and development process and steps.
  3. Practice written and oral communications skills.
  4. Utilize concepts studied in the design and development of several real-world contemporary digital electronics, software, and computer systems projects then ultimately bringing together in the design and development of a self-proposed comprehensive capstone design project.

Textbook: John F. Wakerly, Digital Design Principles and Practices, Prentice-Hall, 4th. ed., 2006.


James K. Peckol, Embedded Systems - A Contemporary Design Tool

TTL, CMOS, PLD, memory and microprocessor data sheets

Prerequisites by Topic:

  1. Digital circuits and systems,
  2. Basics of embedded Systems, and
  3. Knowledge of the C language.


Course Structure: 4-5 hours/week lecture, weekly labs to work on projects, four homework assignments, weekly online lab book to document progress, and a paper and presentation related to the project.

Computer Resources: This class is supported by a laboratory that has multiple PCs and a variety of target and development machines and other electronic test and measurement instruments.

Laboratory: Examples of labs that might be used:

Design/Science Content: This course assumes that the fundamental science knowledge related to digital systems, embedded systems, and Verilog and C programming has been acquired in the earlier courses. The hardware design of digital systems is emphasized. There is significant practical hands-on experience gained through solving several open-ended design assignments and a significant final project. The user interface, robustness, design integrity, implementation, test, and ease-of-use of each student's solution are specifically evaluated.

Grading: Students will be evaluated based on their commitment to the project and the project outcome. The commitment to the project includes timely weekly project reports, showing effort, and peer evaluations. Project outcome will constitute the quality of your reports, deliverables, and demo. Thus, your grade will reflect the work perceived by the instructor, the TA, your fellow students (both within and outside your group), and any mentors. You will be constantly given feedback in the class as to your progress, so you will know where you stand.

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) These are all done as an integral and routine part of the material taught. Theory is presented as a standard part of the homeworks, exams, and laboratories in the context of its application to real-world problems and its limitations under real-world constraints. The laboratory exercises 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. For each of the lab projects, the student must analyze the requirements, then design, implement, and test a hardware/software system that meets the stated requirements. The student must then propose a test plan and demonstrate that their design meets the initial requirements. The final project requires the application of such knowledge to a project of the student's own choice.

(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 (H) Students design and implement two significant real world systems followed by a substantial final project. Each of the two laboratory projects provides a high-level requirements specification for the problem to be solved. For the final project, the students must develop their own requirements and design specifications.

(3) An ability to communicate effectively with a range of audiences (M) Teams must research, prepare a formal report on a topic of current interest, and present their report to the class. They must also prepare an oral presentation to the class describing their final project, discussing any problems and how they were solved, and proposing how they might alter their design should they begin again.

(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. (H) Ethics and professional behavior are strongly stressed throughout the course. Considered areas include copyrights, national and international patents, licensed material, intellectual property, plagiarism, citing sources for material or idea, and using published algorithms and designs. Projects, lab assignments, and research projects that do not cite sources are given failing marks. Lecture material routinely stresses the need for designs to consider international markets and the need to satisfy international standards, including those for safety and health.

(5) An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives. (M) Although not multidisciplinary since the class is in the student's selected major, the students work as members of 2-3 person teams to execute each of the labs and the final project.

(6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions. (H) Students will use modern computers, development tools and debugging techniques. A significant component of designing and developing a real world application is ensuring that one's system performs to specification in the intended environment. Such assurance can only be gained by testing the system in such a context then analyzing the results of those tests. Such a process is integral to this class, to each of the labs and to the final project.

(7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies. (M) Discussions of contemporary technologies, corporate needs and responsibilities, the legal impacts of designs, and the ever-evolving engineering discipline are an integral part of the lecture material. Lecture material continually emphasizes that today's technology is transitory and that the students must learn the basics so that these may form a foundation upon which they will build future technologies.

ABET Criterion 4 Considerations:

Engineering Standards - Students are provided with realistic specifications that must be satisfied by their lab projects as well as their final project. The standards are derived from acceptable industry practices and a government agency's good engineering practices. In addition, students are made aware that to sell into the commercial market, products must meet the standards specified by the agencies in specific countries such as the FCC, FDA, CSA, the German standards agencies, as well as international standards such as those set by the ISO. Lecture material includes a discussion of verification and validation testing to meet such requirements.

Realistic constraints - All of the design exercises must consider real world constraints and trade-offs including those on memory size, speed, algorithm efficiency, code size, system performance and capability. Often the constraints are intentionally conflicting.

Prepared By: James K. Peckol, Shwetak Patel, and Bruce Hemingway

Last Revised: James K. Peckol, 01/23/19