18-642 Embedded System Software Engineering

{642 Banner Image}

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

[Main Course Page] | [FAQ] | [Policies]
Please read the FAQ before e-mailing the instructor!

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 limi tations and schedule disruptions caused by the ongoing COVID-19 pandemic.

Gray boxes and un-linked assignments are works in progress; check back later.

Fall 2020
Lecture Date
Lecture Slides
For reference
Video Lectures
Due on Wednesday Night
Due on Following Monday Night
Group Exercise
Due on Following Tuesday Night
Due on Following Friday Night
Classes Start   Project 1 intro video is playable on Canvas     Proj #1 (Startup)
Due Fri 4-Sep-2020
Week 1
1 Course Topics Overview Embedded Software
Code Quality,
Safety, Security

(44 min)
HW #01
Self Intro
(DUE Wed 2-Sep-2020)
2 Admin Info Live lecture during meeting time
(Complete Quiz after live meeting; due Mon 7-Sep-2020)
HW #02
Failure Stories
Due Mon 7-Sep-2020
  Proj #2 (Initial Cleanup)
Due 11-Sep-2020
  Live: Admin lecture #2 Discuss: Self-intro Part 1 (HW #1)      
Week 2
3 SW Process SW Process
(49 min)
HW #03    
  4 Code Style for Humans Code Style for Humans
(15 min)
HW #04    
  5 Code Style for Compilers Code Style for Compilers
(21 min)
  6 Peer Reviews Peer Reviews
(33 min)
  GP #06
Peer Review Exercise
Proj #3 (Code Style)
Due 18-Sep-2020
  Live: Finish Self-Intro Peer Review Exercise Discuss: HW #2 (failure stories)    
Week 3
7 Requirements Requirements
(24 min)
HW #7 GP #07
Alarm Clock Requirements
  8 Global Variables Globals
(13 min)
  9 Spaghetti Code Spaghetti
(18 min)
HW #8    
  10 Toyota UA Case Study Toyota UA
(60 min)
HW #9   Proj #4 (Group Peer Review & Display Change)
Due 25-Sep-2020
  Live: Guest: Beth Osyk
Lead Engineer at Edge Case Research
Discuss: HW #3, HW #4      
Week 4
11 Stack Overflow Stack Overflow
(8 min + optional videos)
  12 Software Architecture and HLD Software Architecture and HLD
(15 min)
  GP #12: Alarm clock
Sequence Diagrams
  13 Statecharts Statecharts
(19 min)
HW #13
  14 Traceability Traceability
(11 min)
    Proj #5 (Refactor & Design)
Due 2-Oct-2020
  Live: Guest: Bill Milam
Ford Motor Company (retired)
HLD and architecture in the car industry
Discuss: HW #9      
Week 5
15 Software Testing Overview Software Testing Overview
(20 min)
  16 Unit Testing Unit Testing
(18 min)
HW #16 GP #16: Alarm clock
  17 Integration Testing Integration Testing
(15 min)
18 System Level Test System Level Test
(18 min)
     Proj #6 (Redesign SD and Requirements)
Due 9-Oct-2020
  Live: Guest: Simon Wang
Design and Development Computer Engineer at Lutron
Guest: Michael Lucido
Sr. Staff Engineer at General Motors
Discuss: GP #12    
Week 6
19 Race Conditions Concurrency & Race Conditions
(21 min)
  GP #p05 Peer Review Proj 5  
  20 SQA Isn't Testing SQA Isn't Testing
(13 min)
  21 Lifcycle & CM Lifecycle & CM
(19 min)
HW #21 Mid-Semester Review HW
(Start early)
  Proj #7 (Redesign Statechart and Code)
  Live: Guest: Sagar Behere
Director of Systems and Safety Engineering at Aurora Innovation
Discuss: GP #16      
Week 7
-- Mid-semester decompression week No preview lectures/no quizzes Continue to work on HW #21 GP #p06 Peer Review of Proj 6
Due in TWO weeks
Continue to work on Proj #7
22 (no slides; no quiz) Look Who's Driving (54 min)
NTSB Hearing Intro (6 min)
  Live: Guest: Qi Hommes
Head of System Safety at Waymo
Self-driving car safety discussion      
16-Oct   No office hours CMU Community Engagement Day      
Week 8
23 Maintenance Maintenance
(15 min)
24 Key Metrics Key Metrics
(13 min)
  25 Date & Time Date & Time
(26 min)
HW #25 Time Stories   Proj #8 (Static Analysis, Build)
Due 30-Oct
  Live: Guest: Reilly Brennan
General Partner at Trucks Venture Capital
Retrospective Q&A      
23-Oct   No office hours Mid-Semester Break      
Week 9
26 Floating Point Pitfalls Floating Point Pitfalls
(17 min)
HW #26 Floating Point GP #p07 Peer Review of Proj 7  
  27 Safety Overview Software Safety Overview
(16 min)
  28 Dependability Dependability
(19 min)
    Proj #9 (Unit Test part 1)
Due 6-Nov
  Live: Guest: Nat Beuse
Head of Safety, Uber Advanced Technologies Group
Guest: Jack Weast
Sr. Principal Engineer, Intel & Vice President, Mobileye
Week 10
29 Critical Systems Critical Systems
(21 min)
HW #28 Dependability GP #P08 Peer Review of Proj 8  
30 Safety Plans Safety Plan
(26 min)
    Proj #10 (Unit Test part 2 & Runtime Monitor part 1)
Due 13-Nov
31 Single Points of Failure Single Points of Failure
(17 min)
  Live: Guest: John Maddox
Senior Director, Autonomous Safety and Compliance at Lyft
Discuss: Time stories      
Week 11
32 Safety Requirements Safety Requirements
(17 min)
HW #38 Security Stories 1 GP #P09 Peer Review of Proj 9  
33 Critical System Isolation Critical System Isolation
(17 min)
34 Redundancy Managment Redundancy Management
(20 min)
    Proj #11 (Runtime Monitor part 2)
Due TUESDAY 24-Nov
  Live: Guest: Kim Wasson
Principal at Federated Safety
Discuss: Time stories      
Week 12
35 Safety Architecture Patterns Safety Architecture Patterns
(42 min)
HW #39 Security Stories 2 GP #P10 Peer Review of Proj 10  
36 Data Integrity Data Integrity
(29 min)
HW #42 End of Semester Retrospective
(Must be completed -- multi-week)
  Proj #12 (Final Hand-in)
Due 11-Dec
  Live: Guest: Mallory Graydon
Research Computer Scientist at NASA
Discuss: Security Stories      
26-Nov   No Lecture / catch up week Thanksgiving Break      
27-Nov   No Office Hours Wed-Fri this week Thanksgiving Break      
Week 13
37 Cryptography Cryptography
(33 min)
Continue work on HW #42 GP #P11 Peer Review of Proj 11 Continue working on Proj #12
38 Security Plans Security Plan
(29 min)
  39 Security Threats Security Threats
(24 min)
  Live: Guest: Ensar Becic
Human Performance Investigator at National Transportation Safety Board
Discuss: Security Stories      
Week 14
40 Security Vulnerabilities Security Vulnerabilities
(29 min)
41 Security Mitigation & Validation Security Mitigation & Validation
(34 min)
42 Security Pitfalls Security Pitfalls
(24 min)
(This includes a review of previous concepts)
    Proj #12 (Final Hand-in)
Due 11-Dec
  Live: Guest: Victoria Nneji
Lead Engineer & Innovation Strategist at Edge Case Research
Retrospective Q&A Please do end-of semester (W15) weekly survey after Project 12 hand-in.    
Mon 14-Dec at 4:00PM   Last day to hand in late assignments or request Incomplete course grade. No extensions past this date without an "Incomplete" grade request in writing.