18-642 Embedded System Software Engineering

Fall 2020
Carnegie Mellon University, ECE Department

Prof. Philip Koopman

Lectures: Thu 7:30 PM - 9:30 PM US ET held via Zoom
Office Hours: as scheduled on Canvas; held via Zoom

[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 limitations 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
Lect.
#
Lecture Slides
For reference
Video Lectures
Due Wednesday Night
Homeworks
Due FollowingMonday Night
Group Exercise
Due FollowingTuesday Night
Project
Due Following Friday Night
Monday
31-Aug-2020
Classes Start   Project 1 intro video is playable on Canvas     Proj #1 (Startup)
Due Fri 4-Sep-2020
Thursday
3-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)      
10-Sep
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)    
17-Sep
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      
24-Sep
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      
1-Oct
Week 5
15 Software Testing Overview Software Testing Overview
(20 min)
     
  16 Unit Testing Unit Testing
(18 min)
HW #16 GP #16: Alarm clock
Statechart
 
  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
Discuss: GP #12      
8-Oct
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)
Due THURSDAY 22-Oct
  Live: Guest: Sagar Behere
Director of Systems and Safety Engineering at Aurora Innovation
Discuss: GP #16      
15-Oct
Week 7
-- Mid-semester decompression week No preview lectures/no quizzes Continue to work on HW #21 No Group Work.
Mid-semester catch-up Week
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 Meetings CMU Community Engagement Day      
22-Oct
Week 8
23 Maintenance Maintenance
(15 min)
  GP #p06 Peer Review of Proj 6
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 Meetings Mid-Semester Break      
29-Oct
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
Discuss: Time stories      
5-Nov
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 (PUT IN a little more runtime monitor; emphasize handing package
31 Single Points of Failure Single Points of Failure --  
  Live: Guest: John Maddox
Senior Director, Autonomous Safety and Compliance at Lyft
Discuss: Safety Stories Discuss: floating point HW     
12-Nov
Week 11
32 Safety Requirements Safety Requirements Security stories 1 Peer Review of Proj 9  
33 SIL Isolation SIL Isolation --    
34 Redundancy Managment Redundancy Management -- Proj #11 (Runtime Monitor part 2)
Due TUESDAY 24-Nov
  Live: Guest: Kim Wasson
Principal at Federated Safety
Discuss: Safety Stories Discuss: dependability HW     
19-Nov
Week 12
35 Safety Architecture Patterns Safety Architecture Patterns Security stories 2  
36 Data Integrity Data Integrity Peer Review of Proj 10   Proj #12 (Final Hand-in)
Due Fri11-Dec
COUNTS DOUBLE
  Live: Guest: Mallory Graydon
Research Computer Scientist at NASA
 Discuss: Security Stories      
26-Nov   No Lecture / catch up week Thanksgiving Break      
27-Nov   No Meetings Thanksgiving Break      
3-Dec
Week 13
37 Cryptography Cryptography Peer Review of Proj 11  
38 Security Plan Security Plan Project Retrospective
(Must be completed)
   
  39 Security Threats Security Threats End of Semester Retrospective
(Must be completed)
   
  Live: Guest: Ensar Becic
Human Performance Investigator at National Transportation Safety Board
Discuss: Security Stories       
10-Dec
Week 14
40 Security Vulnerabilities Security Vulnerabilities    
41 Security Mitigation & Validation Security Mitigation & Validation      
42 Security Pitfalls Security Pitfalls
(This includes a review of previous concepts)
    Project 12 due Fri 11-Dec
  Live: Guest: Victoria Nneji
Lead Engineer & Innovation Strategist at Edge Case Research
Retrospective Q&A      
Fri 17-Dec Last day to hand in late assignments or request Incomplete course grade. Absolutely no extensions past this date.