Fall 2020 | Prof.
Philip Koopman
Carnegie Mellon University,
ECE Department
[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 2020 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. 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 |
Lect. # |
Lecture Slides For reference |
Video Lectures Due on Wednesday Night |
Homeworks Due on Following Monday Night |
Group Exercise Due on Following Tuesday Night |
Project Due on 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 |
Guest: Michael Lucido Sr. Staff Engineer at General Motors |
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 | 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 | ||||
22-Oct 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 | ||||
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 |
Guest: Jack Weast Sr. Principal Engineer, Intel & Vice President, Mobileye |
||||
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 |
|||
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 | ||||
12-Nov 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 | ||||
19-Nov 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) COUNTS DOUBLE 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 | ||||
3-Dec 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 | ||||
10-Dec 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) COUNTS DOUBLE 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. |