18-642 Embedded System Software Engineering

{642 Banner Image}

Fall 2022 | Prof. Philip Koopman
Carnegie Mellon University, ECE Department

Fall 2022 Notes: Class weekly Thursday 6:30-9:20 PM US ET; delivery mode is "Remote Only (REO)"; fully inverted mode (primary lectures pre-recorded; weekly class meeting is for discussion and special presentations). Synchronous attendance at the on-line weekly class meeting is required. Class meetings will not be recorded under any circumstance.

[Main Course Page] | [FAQ] | [Policies]
Please read the FAQ before e-mailing the instructor!
Archive.org has a complete set of lectures and slides from Fall 2021 here: archive.org link

Consult Canvas to determine when assignments are officially released. Links to materials will go live when updated on Canvas, so please don't worry about broken links until we get to that week. Syllabus is subject to change as the instructor deems necessary based on resource limitations and other conditions.

Fall 2022
Lecture Date
Lecture Slides
For reference
Video Lectures
Due on Wednesday night;
(AV lectures due Sunday night)
Due on Following Monday Night
Group Exercise
Due on Following Wednesday Night
Due on Following Friday Night
  Classes Start Project 1 intro video is playable on Canvas assignment page.     Proj #1 (Startup)
Due Fri 2-Sep-2022
Week 1
1 Course Topics Overview Embedded Software
Code Quality,
Safety, Security

(44 min)
HW #01
Self Intro
(DUE Wed 31-Aug-2022)
  Proj #2 (Initial Cleanup)
Due Fri 9-Sep-2022
  2 Admin Info Course Overview & Administrative Matters
(Video on Canvas only)
(40 min)
HW #02
Computer Safety Literacy Stories; slide & video
(DUE Tue 6-Sep-2022)
  3 SW Process SW Process
(49 min)
HW #03 Software Process
Due Thu 12-Sep-2022
  100 (See Canvas for important information about this assignment) AV: Look Who's Driving
(54 min) (PBS Nova)
Overview of Automated Vehicle Terminology and J3016 Levels
(No quiz on Canvas)
AV: Overview of Automated Vehicle Terminology and J3016 Levels
(20 min)
  Live: Discuss: Q&A on course policy & content Discuss: Self-intro Part 1 (HW #1) Fill out weekly survey after class each week.    
  Labor Day
No office hours
Week 2
4 Code Style for Humans Code Style for Humans
(15 min)
    Proj #3 (Code Style)
Due 16-Sep-2022
5 Code Style for Compilers Code Style for Compilers
(21 min)
  6 Peer Reviews Peer Reviews
(33 min)
  GP Ex #06
Peer Review Exercise
  7 Spaghetti Code Spaghetti
(18 min)
HW #7 Spaghetti Code    
  Live: 6:30 PM Guest:
Jackie Erickson
Finish Self-Intro/
Peer Review Exercise
Week 3
8 Global Variables Globals
(13 min)
    Proj #4 (Group Peer Review & Display Change)
Due 23-Sep-2022
  9 Requirements Requirements
(24 min)
HW #9 Turtle Requirements GP Ex #09
Alarm Clock Requirements
  10 Stack Overflow Stack Overflow
(8 min + optional videos)
  11 Toyota UA Case Study Toyota UA
(60 min)
HW #11 Case Study    
  Live: Guest: 6:30 PM
Beth Osyk, Seegrid
Discuss: HW #3, HW #7 Guest 7:30 PM:
Charles Shelton, Bosch
Discuss: HW #2 (failure stories)  
Week 4
12 Software Architecture and HLD Software Architecture and HLD
(15 min)
  GP Ex #12: Alarm clock
Sequence Diagrams
Proj #5 (Refactor & Design)
Due 30-Sep-2022
  13 Statecharts Statecharts
(19 min)
HW #13 Turtle Robot Statechart    
  14 Traceability Traceability
(11 min)
  101 AV: Software Safety for Vehicle Automation -- Intro AV: Software Safety for Vehicle Automation -- Intro
(10 min)
  Live: Guest 6:30 PM
Christopher SanGiovanni, Joby Aviation
Discuss: HW #9 Guest 7:30 PM
Finch Fulton, Locomation
Week 5
15 Testing Overview Testing Overview
(20 min)
  GP Ex #16: Alarm clock
Proj #6 (Redesign SD and Requirements)
Due 7-Oct-2022
  16 Unit Testing Unit Testing
(18 min)
HW #16 Test Design    
  17 Integration Testing Integration Testing
(15 min)
18 System Level Test System Level Test
(18 min)
  Live: 6:30 PM Guest:
Michael Lucido, GM
Discuss: GP #12    
Week 6
19 Date & Time Date & Time
(26 min)
HW #19 Time Stories GP #p05 Peer Review Proj 5 Proj #7 (Redesign Statechart and Code)
Due 27-Oct-2022
  20 Race Conditions Concurrency & Race Conditions
(21 min)
HW #20 Mid-Semester Cumulative Review HW
(Start early! Due after break)
  21 SQA Isn't Testing SQA Isn't Testing
(13 min)
  22 Software Maintenance Software Maintenance
(15 min)
  Live:   Discuss: GP #16 Guest 7:30 PM
Reilly Brennan, Trucks.VC
Week 7
23 Key Metrics Key Metrics
(13 min)
  GP #p06 Peer Review of Proj 6
(due after break)
  24 Lifcycle & CM Lifecycle & CM
(19 min)
  25 Floating Point Pitfalls Floating Point Pitfalls
(17 min)
HW #25 Floating Point (due after break)    
  102 AV: Validating Machine Learning-Based Systems AV: Validating Machine Learning-Based Systems
(30 min)
  Live:   7:30PM Guest:
Sagar Behere, Foretellix
8:15 PM Guest:
Special Guest
  No Class
Mid-semester break
No office Hours all week
Week 8
26 Safety Overview Software Safety Overview
(16 min)
HW #27 Dependability GP #p07 Peer Review of Proj 7 Proj #8 (Static Analysis, Build)
Due 4-Nov-2022
  27 Dependability Dependability
(19 min)
  28 Critical Systems Critical Systems
(21 min)
  29 Safety Plans Safety Plan
(26 min)
  Live: Guest 6:30 PM:
Mallory Graydon, NASA LARC
Retrospective Q&A NTSB Hearing Intro (6 min)
Fri 28-Oct   Tartan Community Day
No office hours
      Free one-day extension for project (already included in Canvas due date)
Week 9
30 Single Points of Failure Single Points of Failure
(17 min)
HW #38 Security Stories 1 GP #p08 Peer Review of Proj 8 Proj #9 (Unit Test part 1)
Due 11-Nov-2022
  31 Safety Requirements Safety Requirements
(17 min)
  32 Critical System Isolation Critical System Isolation
(17 min)
  103 AV: SOTIF and Edge Cases AV: SOTIF and Edge Cases
(31 min)
  Live: Guest 6:30 PM:
Nat Beuse, Aurora
Discuss: Time stories      
Week 10
33 Redundancy Managment Redundancy Management
(20 min)
HW #39 Security Stories 2 GP #P09 Peer Review of Proj 9 Proj #10 (Unit Test part 2 & Runtime Monitor part 1)
Due 18-Nov-2022
  34 Data Integrity Data Integrity
(29 min)
  104 AV: Implications of Removing the Human Driver AV: Implications of Removing the Human Driver
(32 min)
  105 AV: Safety Architectures AV: Safety Architectures
(28 min)
  Live: Guest 6:30 PM:
Ensar Becic, NTSB
Discuss: Security stories  Guest 7:30 PM:
Amitai Bin-Nun, Motional
Week 11
35 Cryptography Cryptography
(33 min)
HW #40 End of Semester Cumulative Review
(Must be completed -- due last week of class)
GP #P10 Peer Review of Proj 10
Due Monday 28 Nov
Proj #11 (Runtime Monitor part 2)
Due Tuesday 29 Nov
36 Security Plans Security Plan
(29 min)
  37 Security Threats Security Threats
(24 min)
  Live: Guest 6:30 PM:
Deborah Prince, Underwriters Laboratories Standards & Engagement
Discuss: Security Stories Guest 7:30 PM:
Vance Hilderman, AFuzion
Week 12
  No Class Meeting Thanksgiving Break   GP #P11 Peer Review of Proj 11
Due Mon 05-Dec-2022
Proj #12 (Final Hand-in)
Due 12-Dec-2022
      Do yourself a favor and finish rest of course lectures THIS week. Work on HW #40 this week.    
24-26 Nov   No Office Hours Wed-Fri this week Thanksgiving Break      
Week 13
38 Security Vulnerabilities Security Vulnerabilities
(29 min)
    Continue Working on Proj #12
  39 Security Mitigation & Validation Security Mitigation & Validation
(34 min)
  40 Security Pitfalls Security Pitfalls
(24 min)
(This includes a review of previous concepts)
  Live: Guest 6:30 PM:
Stephen Thomas, NVIDIA
Guest 7:30 PM:
Barbara Czerny, Aptiv
Week 14
106 AV: How Safe Is Safe Enough? AV: How Safe Is Safe Enough?
(21 min)
    Continue Working on Proj #12
  107 AV: Building Trust AV: Building Trust
(14 min)
  108 AV: Getting to Deployed + Safe AV: Getting to Deployed + Safe
(14 min)
  Live: Retrospective Q&A        
No Class Meeting
  Please do end-of semester (W15) weekly survey after Project 12 hand-in.   Proj #12 (Final Hand-in)
Sat17-Dec-2022   Last day to hand in late assignments. No extensions past this date without an "Incomplete" grade request in writing.      
Supplemental lectures (optional enrichment material):

Supplemental materials: