18-642 Embedded System Software Engineering

Fall 2019
Carnegie Mellon University, ECE Department

Prof. Philip Koopman

Lectures: Thu 5:30-9:20PM. Location: MM 103
Recitation: Friday Rec A: SH 214 12:30 PM / Rec B: SH 214 1:30 PM

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

Consult Canvas to determine when assignments are officially released. Shaded lectures are videos due BEFORE lecture. Links to materials will go live when updated on Canvas, so please don't worry about broken links until we get to that week.

Fall 2019
Lecture Date
Lect.
#
Lecture Slides
** is BEFORE class
Video
In-Class Exercise Homeworks
Due Following
Wednesday Night
Project
Due Following
Friday Night
29-Aug-2019 1 ** Course Topics Overview
View video & do canvas quiz
BEFORE class 30-Aug
Embedded Software
Code Quality,
Safety, Security
  HW #1
Due 4-Sep
Proj #1 (Startup)
Due 30-Aug
Week 1 2 Admin Info   C02: Self Intro
Complete in class 30-Aug
HW #2
Due 4-Sep
 
  3 SW Process     HW #3
Due 4-Sep
 
30-Aug   Recitation 1       Proj #2 (Initial Cleanup)
Due 6-Sep
5-Sep 4 ** Human Coding Style Code Style/Humans   HW #4  
Week 2 5 ** Coding Style for Compilers Code Style/Language   --  
  6 Peer Reviews Peer Reviews C06: Peer Review No HW #6  
  7 Requirements   C07: Requirements HW #7  
6-Sep   Recitation 2   Discuss HW #3, Lightning Round: HW #1   Proj #3 (Code Style)
Due 13-Sep
12-Sep 8 ** Toyota UA Case Study Toyota UA C08: Self Driving Car Safety HW #8  
Week 3 9 ** Spaghetti Code Spaghetti   HW #9  
  Dr. Beth Osyk, Edge Case Research Self Driving Car Safety
(Not testable material)
    ObXkcd  
13-Sep   Recitation 3   Lightning Round:
HW #4 Answers
  Proj #4 (Peer Review)
Due 20-Sep
19-Sep 10 ** Global Variables Globals   HW #10  
Week 4 11 ** Stack Overflow Stack Overflow   No HW  
  12 Unit Testing   C12: Test design HW #12  
  13 Statecharts   C13: Statechart HW #13  
  Guest: Simon Wang, Lutron          
20-Sep   Recitation 4   Lightning Round:
HW #8-4
  Proj #5 (Redesign)
Due 27-Sep
26-Sep 14 ** Testing & Quality Testing & Quality   HW #14  
Week 5 15 ** System Level Test System Level Test   No HW  
  16 HLD & Architecture   C16 Sequence Diagram HW #16  
  17 Integration Testing   C17 Another SD HW #17  
27-Sep   Recitation 5   Lightning Round:
HW #10-3; #11-2a&b
  Proj #6 (New Requirements)
Due 4-Oct
3-Oct 18 ** Traceability Traceability   HW #18 (Exam Prep)  
Week 6 19 ** Date & Time Date & Time C19 Counter Rollover HW #19
(Due week after exam)
 
  20 SQA Isn't Testing   C20 Quality Metrics --  
  21 Lifcycle & CM   C21 Version Proliferation --  
  2019: GM Visitor TBD          
4-Oct   Recitation 6   Discuss HWs #16-17  
10-Oct -- Exam Review (Lectures #2-20)
Based on HW #20 questions
    --  
Week 7 => Exam #1 <===== (Covers Lectures #1-20)    
11-Oct   Recitation 7       Proj #7 (Design Cycle)
Due 18-Oct & 25-Oct
17-Oct 22 ** Process Key Metrics Key Metrics --  
Week 8 23 ** Maintenance Maintenance   --  
  24 Floating Point Pitfalls   C24 NaN Handling Example HW #24  
  -- Date & Time Stories (HW #21)     --  
18-Oct   No Recitation Mid-Semester Break      
24-Oct 25 ** Safety Overview Software Safety Overview   --  
Week 9 26 ** Race Conditions Concurrency & Race Conditions   -- Proj #8 (Unit Test)
Due 1-Nov
  27 Dependability Dependability C27 Serial & Parallel Examples HW #27  
  28 Critical Systems Critical Systems C28 Critical Systems HW #28  
  Guest: Nat Beuse          
25-Oct   No Recitation CMU Community Engagement Day Discuss HW #22
(Skip for 2019)
   
31-Oct 29 ** Safety Plan & Standards Safety Plan C29 Safety Techniques --  
Week 10 30 ** Single Points of Failure Single Points of Failure   --  
  31 Safety Requirements Safety Requirements C31 Safety Reqts HW #31  
1-Nov   Recitation 10   Discuss HW #25, #26   Proj #9 (Runtime Monitor)
Due 8-Nov
7-Nov 32 ** SIL Isolation SIL Isolation   --  
Week 11 33 ** Redundancy Managment Redundancy Management   --  
  34 ** Safety Architecture Patterns Safety Architecture Patterns C34 Redundancy patterns --  
  35 ** Data Integrity
(presented in class)
TBD CRC Operation Video
(Watch before class)
C33 CRC Selection --  
8-Nov   Recitation 11   Discuss HW #31   Proj #10 (Final Hand-in)
Due TUE. 26-Nov
14-Nov 36 ** Cryptography Cryptography   --  
Week 12 37 ** Security Plan Security Plan   HW #37  
  38 Security Threats     --  
  39 Security Vulnerabilities   C39 Project Peer Reviews --  
15-Nov   Office Hours only / no recitation        
21-Nov 40 ** Security Pitfalls Security Pitfalls
(This includes a review of previous concepts)
  --  
Week 13 41 Security Mitigation & Validation     --  
  Security Failure Stories (HW #37)       HW #42
(Exam Prep)
 
22-Nov   Office Hours only / no recitation   Proj #10 Status Check    
28-Nov   No Lecture Thanksgiving Break      
29-Nov   No recitation Thanksgiving Break      
5-Dec   Exam Review (Lectures #21-41)
Based on HW #40 questions
    --  
Week 14 => Exam #2 <=====   --  
6-Dec   No Recitation        

* Videos Note:
Many videos ARE NOT IDENTICAL to the course lecture. Be SURE to look at the slide files for studying, and ask questions about anything you're unsure about in class. Always use the slide handouts to determine the lecture content. Many videos are YouTube playlists, so there are multiple video segments that should be watched in sequence. (You can get a pointer to a single video for each lecture in the Canvas quiz assignment for that lecture.)