18-642 Embedded System Software Engineering

{642 Banner Image}

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

Fall 2024 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.

SCHEDULE IS PRELIMINARY // Final schedule will be confirmed at the FIRST CLASS MEETING

Fall 2024
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
26-Aug-2023
  Classes Start Project 1 intro video is playable on Canvas assignment page.     Proj #1 (Startup)
Due Fri 30-Aug-2024
Thursday
29-Aug-2023
Week 1
1 Course Topics Overview Embedded Software
Code Quality,
Safety, Security

(44 min)
HW #01
Self Intro
(DUE Wed 28-Aug-2024)
  Proj #2 (Initial Cleanup)
Due Fri 6-Sep-2024
  2 Admin Info Course Overview & Administrative Matters
(Video on Canvas only)
(40 min)
HW #02
Computer Safety Literacy Stories; slide & video
(DUE Tue 3-Sep-2024)
   
  3 SW Process SW Process
(49 min)
HW #03 Software Process
Due Wed 11-Sep-2024
   
  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
2-Sep
  Labor Day
No office hours
       
 Thu.
5-Sep
Week 2
4 Code Style for Humans Code Style for Humans
(15 min)
    Proj #3 (Code Style)
Due 13-Sep-2024
  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(Normal due date: Monday 9-Sep-2024)    
  Live: Guest: 6:00 PM: Finish Self-Intro/
Peer Review Exercise
     
Thu.
12-Sep
Week 3
8 Global Variables Globals
(13 min)
    Proj #4 (Group Peer Review & Display Change)
Due 20-Sep-2024
  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:
Discuss: HW #3, HW #7 Discuss: HW #2 (failure stories)  
Thu.
19-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 27-Sep-2024
  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:
Discuss: HW #9    
Thu.
26-Sep
Week 5
15 Testing Overview Testing Overview
(20 min)
  GP Ex #16: Alarm clock
Statechart
Proj #6 (Redesign SD and Requirements)
Due 4-Oct-2024
  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:
Discuss: GP #12    
Thu.
3-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 25-Oct-2024
  20 Race Conditions Concurrency & Race Conditions
(21 min)
HW #20 Mid-Semester Cumulative Review HW
(Start early! Due after break on MONDAY 21-Oct-2024)
   
  21 SQA Isn't Testing SQA Isn't Testing
(13 min)
     
  22 Software Maintenance Software Maintenance
(15 min)
     
  Live: 6:00 PM Guest:
Discuss: GP #16    
Thu.
10-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 on Tuesday 22-Oct-2024)    
  102 AV: Validating Machine Learning-Based Systems AV: Validating Machine Learning-Based Systems
(30 min)
     
  Live:    
Thu.
17-Oct
  No Class
Mid-semester break
No office Hours all week
     
Thu.
24-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 1-Nov-2024
  27 Dependability Dependability
(19 min)
     
  28 Critical Systems Critical Systems
(21 min)
     
  29 Safety Plans Safety Plan
(26 min)
     
  Live: Guest 7:00 PM:
Retrospective Q&A      
Thu.
31-Oct
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 8-Nov-2024
  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 5-Nov   Democracy Day
Contact instructor for flexibility due to civic involvement on this day.
Assignment due dates remain unchanged.      
Thu.
7-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 15-Nov-2024
  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:
Discuss: Security stories       
Thu.
14-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 Proj #11 (Runtime Monitor part 2)
Due Tuesday 26 Nov-2024
36 Security Plans Security Plan
(29 min)
     
  37 Security Threats Security Threats
(24 min)
     
  Live: Guest 6:00 PM:
Discuss: Security Stories Guest 7:00 PM:
Ensar Becic, NTSB
   
Thu.
21-Nov
Week 12
38 Security Vulnerabilities Security Vulnerabilities
(29 min)
  GP #P11 Peer Review of Proj 11
Due Tue. 03-Dec-2024
Proj #12 (Final Hand-in)
COUNTS DOUBLE
Due Sun. 8-Dec-2024
  39 Security Mitigation & Validation Security Mitigation & Validation
(34 min)
     
  40 Security Pitfalls Security Pitfalls
(24 min)
(This includes a review of previous concepts)
Work on HW #40 this week.    
  Live: Guest 6:00 PM:
     
25-26 Nov   University is in session Monday & Tuesday this week, including office hours Do yourself a favor and finish rest of course lectures THIS week.      
Thu.
28-Nov
Week 13
  No Class Meeting Thanksgiving Break     Continue Working on Proj #12
27-29 Nov   No Office Hours Wed-Fri this week Thanksgiving Break      
Thu.
5-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 SUNDAY
8-Dec-2024
Sat14-Dec-2023   Last day to hand in late assignments. No extensions past this date if you want a Fall 2024 course grade.      
Supplemental lectures (optional enrichment material):

Supplemental materials: