Fall 2021 | Prof.
Philip Koopman
Carnegie Mellon University,
ECE Department
Fall 2022 Notes: Class weekly Thursday 6:30-9:20 PM US ET; delivery mode is In Person Expectation (IPE); fully inverted mode (primary lectures pre-recorded; weekly class meeting is for discussion and special presentations). Synchronous attendance at the weekly class meeting is required even if some or all students are remote due to special circumstances. Class meetings will not be recorded under any circumstance. Syllabus information is tentative and subject to change before classes begin. The syllabus below on this web page will be updated by the first day of class, but is not expected to vary dramatically other than different guest speakers.
Fall 2022 Wait List: There is a wait list for the course. We'll resolve the wait list based on availability of TAs and classroom size, with the process typically taking place in the first week or two of class meetings. Please note that your position on the wait list is not your order of admission because of department policies (for example, grad students in relevant degree programs are admitted before undergrads even if the undergrads have an earlier wait list position). Please respond to any course instructor e-mails regarding the wait list promptly to help us enroll as many students as possible within the course carrying capacity limits.
[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. Syllabus is subject to change as the instructor deems necessary based on resource limitations and schedule disruptions caused by the ongoing COVID-19 pandemic.
2021 syllabus is below -- subject to change for 2022.
Fall 2021 Lecture Date |
Lect. # |
Lecture Slides For reference |
Video Lectures Due on Wednesday night; (AV lectures due Sunday night) |
Homeworks Due on Following Monday Night |
Group Exercise Due on Following Tuesday Night |
Project Due on Following Friday Night |
Monday 30-Aug-2021 |
Classes Start | Project 1 intro video is playable on Canvas assignment page. | Proj #1 (Startup) Due Fri 3-Sep-2021 |
|||
Thursday 2-Sep-2021 Week 1 |
1 | Course Topics Overview | Embedded Software Code Quality, Safety, Security (44 min) |
HW #01 Self Intro (DUE Wed 1-Sep-2021) |
Proj #2 (Initial
Cleanup) Due Fri 10-Sep-2021 |
|
2 | Admin Info | Course Overview & Administrative Matters (Video on Canvas only) (40 min) |
HW #02 Computer Safety Literacy Stories; slide & video (DUE Tue 7-Sep-2021) |
|||
100 | (No slides) | AV:
Look Who's
Driving (54 min) (PBS Nova) |
||||
120 | Overview of
Automated Vehicle Terminology and J3016 Levels OPTIONAL Background Info (No quiz on Canvas) |
AV: Overview of
Automated Vehicle Terminology and J3016 Levels (20 min) |
||||
Live: | Discuss: Q&A on course policy & content | Discuss: Self-intro Part 1 (HW #1) | Fill out weekly survey after class each week. | |||
Mon 6-Sep |
Labor Day No office hours |
|||||
Thu. 9-Sep Week 2 |
3 | SW Process | SW Process (49 min) |
HW #03 | Proj #3 (Code Style) Due 17-Sep-2021 |
|
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 |
|||
Live: | 6:30 PM Guest: Junko Yoshida, Business & Technology Journalist |
Finish Self-Intro/ Peer Review Exercise |
7:30 PM Guest: Alex Roy, Argo AI |
|||
Thu. 16-Sep Week 3 |
7 | Requirements | Requirements (24 min) |
HW #7 | GP #07 Alarm Clock Requirements |
Proj #4 (Group Peer
Review & Display Change) Due 24-Sep-2021 |
8 | Global Variables | Globals (13 min) |
||||
9 | Spaghetti Code | Spaghetti (18 min) |
HW #9 | |||
10 | Toyota UA Case Study | Toyota UA (60 min) |
HW #10 | |||
Live: | Guest: 6:30 PM Ben Bauchwitz, Duke Univ. (Tesla Testing) |
Discuss: HW #3, HW #4 | Guest: 7:30 PM Shelly Van Dyke & Antoine Dubois, NXP |
Discuss: HW #2 (failure stories) | ||
Thu. 23-Sep Week 4 |
11 | Stack Overflow | Stack Overflow (8 min + optional videos) |
Proj #5 (Refactor &
Design) Due 1-Oct-2021 |
||
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) |
||||
101 | AV: Software Safety for Vehicle Automation -- Intro | AV: Software Safety for
Vehicle Automation -- Intro (10 min) |
||||
Live: | Guest 6:30 PM: Dr. Beth Osyk Seegrid Technology |
Discuss: HW #9 | Guest 7:30 PM Jack Weast, Intel/Mobileye |
|||
Thu. 30-Sep Week 5 |
15 | Testing Overview | Testing
Overview (20 min) |
GP #16: Alarm clock Statechart |
Proj #6 (Redesign SD and
Requirements) Due 8-Oct-2021 |
|
16 | Unit Testing | Unit Testing (18 min) |
HW #16 | |||
17 | Integration Testing | Integration
Testing (15 min) |
||||
18 | System Level Test | System Level
Test (18 min) |
||||
102 | AV: Validating Machine Learning-Based Systems | AV: Validating Machine
Learning-Based Systems (30 min) |
||||
Live: | 6:30 PM Guest: Deborah Prince, Underwriters Laboratories |
7:30 PM Guest: Dr. Charles Shelton, Bosch |
Discuss: GP #12 | |||
Thu. 7-Oct Week 6 |
19 | Race Conditions | Concurrency & Race
Conditions (21 min) |
GP #p05 Peer Review Proj 5 | Proj #7 (Redesign
Statechart and Code) Due 22-Oct-2021 |
|
20 | SQA Isn't Testing | SQA Isn't
Testing (13 min) |
||||
21 | Lifcycle & CM | Lifecycle &
CM (19 min) |
||||
22 | Software Maintenance | Software Maintenance
(15 min) |
HW #22
Mid-Semester Cumulative Review HW (Start early! Due in two weeks) |
|||
103 | AV: SOTIF and Edge Cases | AV: SOTIF and Edge
Cases (31 min) |
||||
Live: | Guest 6:30 PM Michael Lucido, GM |
Discuss: GP #16 | Guest 7:30 PM Finch Fulton, Locomation |
|||
Thu. 14-Oct Week 7 |
No Class Mid-semester break No office Hours |
Good week to get ahead on lectures and homeworks if you have the time to do so. | ||||
Mid-semester decompression week | No lectures/no quizzes | HW #24 Time Stories (due in 2 weeks) | GP #p06 Peer Review of Proj 6 | Continue to work on Proj #7 | ||
Thu. 21-Oct Week 8 |
23 | Key Metrics | Key Metrics (13 min) |
Proj #8 (Static Analysis, Build) Due 29-Oct-2021 |
||
24 | Date & Time | Date & Time (26 min) |
||||
25 | Floating Point Pitfalls | Floating Point
Pitfalls (17 min) |
HW #25 Floating Point | |||
26 | Safety Overview | Software Safety
Overview (16 min) |
||||
Live: | Retrospective Q&A | 7:30PM Guest: Dr. Qi Hommes, Zoox |
||||
Thu. 28-Oct Week 9 |
27 | Dependability | Dependability (19 min) |
HW #27 Dependability | GP #p07 Peer Review of Proj 7 | Proj #9 (Unit Test part
1) Due 5-Nov-2021 |
28 | Critical Systems | Critical
Systems (21 min) |
||||
29 | Safety Plans | Safety Plan (26 min) |
||||
30 | Single Points of Failure | Single Points of
Failure (17 min) |
||||
104 | AV: Implications of Removing the Human Driver | AV: Implications of
Removing the Human Driver (32 min) |
||||
Live: | Guest: 6:30 PM Nat Beuse, Aurora |
Guest 7:30 PM: Reilly Brennan, Trucks.VC |
||||
Thu. 4-Nov Week 10 |
31 | Safety Requirements | Safety
Requirements (17 min) |
HW #38 Security Stories 1 | GP #p08 Peer Review of Proj 8 | Proj #10 (Unit Test part
2 & Runtime Monitor part 1) Due 12-Nov-2021 |
32 | Critical System Isolation | Critical System
Isolation (17 min) |
||||
33 | Redundancy Managment | Redundancy
Management (20 min) |
||||
105 | AV: Safety Architectures | AV: Safety
Architectures (28 min) |
||||
Live: | Guest 6:30 PM: Jackie Erickson, Optimus Ride |
NTSB Hearing Intro
(6 min) Discuss: Time stories |
Guest: 7:30 PM Dr. Ensar Becic, NTSB |
|||
Fri 5-Nov | Community Engagement Day No office hours |
Free one-day extension for Project due today. | ||||
Thu. 11-Nov Week 11 |
34 | Safety Architecture Patterns | Safety Architecture
Patterns (42 min) |
HW #39 Security Stories 2 | GP #P09 Peer Review of Proj 9 | Proj #11 (Runtime Monitor
part 2) Due TUESDAY 23-Nov-2021 |
35 | Data Integrity | Data Integrity (29 min) |
||||
106 | AV: How Safe Is Safe Enough? | AV: How Safe Is Safe
Enough? (21 min) |
||||
Live: | Guest 6:30 PM: Dr. Kim Wasson, Joby Aviation |
Discuss: Security stories | Guest 7:30 PM: Dr. Barbara Czerny, Aptiv |
|||
Thu. 18-Nov Week 12 |
36 | Cryptography | Cryptography (33 min) |
HW #41 End of Semester
Cumulative Review (Must be completed -- two weeks) |
GP #P10 Peer Review of Proj 10 | Proj #12 (Final
Hand-in) COUNTS DOUBLE Due 6-Dec-2021 |
37 | Security Plans | Security Plan (29 min) |
||||
38 | Security Threats | Security Threats (24 min) |
||||
107 | AV: Building Trust | AV: Building
Trust (14 min) |
||||
108 | AV: Getting to Deployed + Safe | AV: Getting to Deployed
+ Safe (14 min) |
||||
Live: | Guest 6:30 PM: Dr. Mallory Graydon, NASA |
Discuss: Security Stories | Guest 7:30 PM: Dr. Sagar Behere, Aurora |
|||
Thu. 25-Nov Week 13 |
No Class Meeting | Thanksgiving Break | GP #P11 Peer Review of Proj 11
Due 3-Dec-2021 |
|||
Do yourself a favor and finish rest of course lectures THIS week. | Work on HW #41 this week. | Continue Working on Proj #12 | ||||
24-26 Nov | No Office Hours Wed-Fri this week | Thanksgiving Break | ||||
Thu. 2-Dec Week 14 |
39 | Security Vulnerabilities | Security
Vulnerabilities (29 min) |
Continue Working on Proj #12 | ||
40 | Security Mitigation & Validation | Security Mitigation
& Validation (34 min) |
||||
41 | Security Pitfalls | Security
Pitfalls (24 min) (This includes a review of previous concepts) |
||||
109 | AV: UL 4600 | AV: UL 4600 (20 min) (Due with other lectures Wed night) |
||||
Live: | Guest: TBD | 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 MONDAY 6-Dec-2021 |
|||
Mon 13-Dec-2021 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. |
Supplemental materials: