18-642 Embedded System Software Engineering

{642 Banner Image}

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

Fall 2023 Notes: Class weekly Thursday 6:00-9:00 PM US ET; delivery mode is "Remote Only (REO)"; fully inverted model (primary lectures pre-recorded; weekly class meeting is for discussion and special presentations). Synchronous attendance at the on-line weekly class meeting is required for all class meetings. 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. Content and schedule subject to change until the Canvas link goes live. Syllabus is subject to change as the instructor deems necessary based on resource limitations and other conditions.

Fall 2023
Lecture Date
Lect.
#
Lecture Slides
For reference
Video Lectures
Due on Wednesday night
Homeworks
Due on Following Monday Night
Group Exercise
Due on Following Wednesday Night
Project
Due on Following Friday Night
Monday
28-Aug-2023
  Classes Start Project 1 intro video is playable on Canvas assignment page.     Proj #1 (Startup)
Due Fri 1-Sep-2023
Thursday
31-Aug-2023
Week 1
1 Course Topics Overview Embedded Software
Code Quality,
Safety, Security

(44 min)
HW #01
Self Intro
(DUE Wed 30-Aug-2023)
  Proj #2 (Initial Cleanup)
Due Fri 8-Sep-2023
  2 Admin Info Course Overview & Administrative Matters
(Video on Canvas only)
(40 min)
HW #02
Computer Safety Literacy Stories; slide & video
(DUE Tue 5-Sep-2023)
   
  3 SW Process SW Process
(49 min)
HW #03 Software Process
Due Thu 14-Sep-2023
   
  128 Autonomous Vehicles and Software Safety Engineering Autonomous Vehicles and Software Safety Engineering (41 min)      
  120 OPTIONAL
Overview of Automated Vehicle Terminology and J3016 Levels
(No quiz on Canvas)
OPTIONAL
AV: Overview of Automated Vehicle Terminology and J3016 Levels
(20 min)
     
  Live: Discuss: Q&A on course policy & content In-class video on self-driving cars Discuss: Self-intro Part 1 (HW #1) Fill out weekly survey after class each week.  
Mon
4-Sep
  Labor Day
No office hours
       
 Thu.
7-Sep
Week 2
4 Code Style for Humans Code Style for Humans
(15 min)
    Proj #3 (Code Style)
Due 15-Sep-2023
  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:00 PM Guest: Deborah Prince. ULSE Finish Self-Intro/
Peer Review Exercise
     
Thu.
14-Sep
Week 3
8 Global Variables Globals
(13 min)
    Proj #4 (Group Peer Review & Display Change)
Due 22-Sep-2023
  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    
  L131 OPTIONAL:
How Safe Is Safe Enough for Autonomous Vehicles?
No Quiz; strictly optional
OPTIONAL:
How Safe Is Safe Enough for Autonomous Vehicles?
(55 min)
     
  Live: Guest: 6:00 PM
Charles Shelton, Bosch
Discuss: HW #3, HW #7 Discuss: HW #2 (failure stories)  
Thu.
21-Sep
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 29-Sep-2023
  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:00 PM
Michael Lucido, General Motors
Discuss: HW #9    
Thu.
28-Sep
Week 5
15 Testing Overview Testing Overview
(20 min)
  GP Ex #16: Alarm clock
Statechart
Proj #6 (Redesign SD and Requirements)
Due 6-Oct-2023
  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:00 PM Guest:
Mallory Graydon, NASA
Discuss: GP #12    
Thu.
5-Oct
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-2023
  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: 6:00 PM Guest:
Nat Beuse, Aurora
Discuss: GP #16    
Thu.
12-Oct
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:    
Thu.
19-Oct
  No Class
Mid-semester break
No office Hours all week
     
Thu.
26-Oct
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 3-Nov-2023
  27 Dependability Dependability
(19 min)
     
  28 Critical Systems Critical Systems
(21 min)
     
  29 Safety Plans Safety Plan
(26 min)
     
  Live: Guest 7:00 PM:
Sagar Behere, Foretellix
Retrospective Q&A      
Thu.
2-Nov
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 10-Nov-2023
  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: Discuss: Time stories      
Tue 7-Nov   Democracy Day
(Policy will be announced)
Assignment due dates remain unchanged.      
Thu.
9-Nov
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 17-Nov-2023
  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)
     
  L123 OPTIONAL:

Trust Governance for Autonomous Vehicle Deployment
(No quiz)
OPTIONAL:
Trust Governance for Autonomous Vehicle Deployment 2022(33 min)
     
  Live: Guest 6:00 PM:
Finch Fulton, K&L Gates
Discuss: Security stories       
Thu.
16-Nov
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 Tuesday 28 Nov-2023
Proj #11 (Runtime Monitor part 2)
Due Wednesday 29 Nov-2023
36 Security Plans Security Plan
(29 min)
     
  37 Security Threats Security Threats
(24 min)
     
  Live: Guest 6:00 PM:
Vance Hilderman, Afuzion
Discuss: Security Stories Guest 7:00 PM:
Ensar Becic, NTSB
   
Thu.
23-Nov
Week 12
  No Class Meeting Thanksgiving Break   GP #P11 Peer Review of Proj 11
Due Tue. 05-Dec-2023
Proj #12 (Final Hand-in)
COUNTS DOUBLE
Due Mon. 11-Dec-2023
      Do yourself a favor and finish rest of course lectures THIS week. Work on HW #40 this week.    
22-24 Nov   No Office Hours Wed-Fri this week Thanksgiving Break      
Thu.
30-Nov
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:00 PM
Amitai Bin-Nun, Cruise
Guest 7:00 PM:
Stephen Thomas, NVIDIA
     
Thu.
7-Dec
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        
Week 15   FINALS WEEK
No Class Meeting
  Please do end-of semester (W15) weekly survey after Project 12 hand-in.   Proj #12 (Final Hand-in)
COUNTS DOUBLE
Due MONDAY
11-Dec-2023
Sat16-Dec-2023   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: