2021-07-09
|
30
|
Open Office Hours
|
-
Have a great summer break!
|
2021-07-07
|
29
|
Ethics in Software Development
ACM Code of Ethics and Professional Conduct
|
-
Readings:
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-07-05
|
28
|
Ethics in Software Development
ACM Code of Ethics and Professional Conduct
|
-
Readings:
-
Hawkins—Industry Guest Written Summary (Gradescope)
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-07-02
|
27
|
No Class — Happy Independence Day!
|
-
Readings:
-
Hawkins—Industry Guest Written Summary (Gradescope)
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-30
|
26
|
Industry Guest
Will Hawkins (U. of Cincinnati)
|
-
Readings:
-
Dorn—Industry Guest Written Summary (Gradescope)
-
Hawkins—Industry Guest Written Summary (Gradescope)
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-28
|
25
|
Software Design
Design Patterns Part 3
Project Work Time
|
-
Readings:
-
Industry Guest Written Summary (Gradescope)
-
Project 4 due by class June 30
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-25
|
24
|
Industry Guest
Jonathan Dorn (Grammatech)
|
-
Readings:
-
Industry Guest Written Summary (Gradescope)
-
Project 4 due by class June 30
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-23
|
23
|
Software Design
Design Patterns Part 2
|
-
Readings:
-
Industry Guest Written Summary (Gradescope)
-
Project 4 due by class June 30
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-21
|
22
|
Software Design
Design Patterns Part 1
|
-
Readings:
-
Industry Guest Written Summary (Gradescope)
-
Project 4 due by class June 30
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-18
|
21
|
Industry Guest
Samyukta Jadhwani (Microsoft)
|
-
Industry Guest Written Summary (Gradescope)
-
Readings:
-
Project 4 due by class June 30
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-16
|
20
|
Delta Debugging Conclusion
Project Work Time
|
-
Project 4 due by class June 30 (start early!)
-
Readings:
-
"An Overview of Test Case Reduction" by Donaldson and MacIver (Perusall—Lecture 20 Reading)
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-14
|
19
|
Debugging as Hypothesis Testing
Delta Debugging
Git Bisect Example
|
-
Readings:
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-11
|
18
|
Fault Localization
Debugging as Hypothesis Testing
Fault Localization Exercise Bug Information
Bisection Exercise Information
|
-
Readings:
-
Project 3 due by class June 14
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-09
|
17
|
Fault Localization
Codebases (Millions of lines of code)
Fault Localization Exercise Bug Information
|
-
Readings:
-
Project 3 due by class June 14
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-07
|
16
|
Defect Reports and Triage
Bug Life Cycle
Bug Life Cycle (alternate)
|
-
Readings:
-
"Bug Tracking System" from Wikipedia
-
"What Makes a Good Bug Report?" by Bettenburg et al.
-
Complete your annotations to these using Perusall—Lecture 16 Reading
-
Project 3 due by class June 14
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-04
|
15
|
No class — reading day
|
-
Project 3 due by class June 14
(start early!)
-
Readings:
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-06-02
|
14
|
Quality Assurance Review
Project Work Day
|
-
Project 3 due by class June 14
(start early!)
-
Bonus:
Submit P3A and/or P3B to Gradescope and receive non-zero points
-
Readings:
-
None
-
Bonus:
-
"The Oracle Problem in Software Testing: A Survey" by Barr et al.
(Perusall—Lecture 13 Bonus)
-
Ten (10) annotations are required for full bonus point credit
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-05-31
|
13
|
Test Input Generation
The Oracle Problem
invariants.py
|
-
Project 3 due by class June 14
(start early!)
-
Readings:
-
"Fuzzing: Breaking Things with Random Inputs" by Zeller (Perusall—Lecture 13 Reading)
-
Bonus:
-
"The Oracle Problem in Software Testing: A Survey" by Barr et al.
(Perusall—Lecture 13 Bonus)
-
Ten (10) annotations are required for full bonus point credit
-
Project 2
-
Keep up with PRs!
-
Final submission due by last day of class
|
2021-05-28
|
12
|
Mutation Testing
Test input generation
|
-
Project 2 released
-
Finish the checkpoint if you haven't already
-
Final submission due by last day of class
-
Review these tips for reading research papers
before completing the reading.
-
Readings:
-
"Test Generation" from Wikipedia
-
"Pex-White Box Test Generation for .NET" by Tillmann and de Halleux
-
Complete your annotations to these using Perusall—Lecture 12 Reading
-
Catch up on any assignments you haven't finished
|
2021-05-26
|
11
|
Test Suite Quality Metrics
Testing as Sampling
|
-
Project 2 released
-
Checkpoint due by class 2021-05-28
-
Final submission due by last day of class
-
Readings:
-
"Mutation Testing" from Wikipedia (Perusall—Lecture 11 Reading)
-
Optional:
|
2021-05-24
|
10
|
Quality Assurance and Testing
Unit testing
Test Suite Quality Metrics
|
-
Project 2 released
-
Checkpoint due by class 2021-05-28
-
Final submission due by last day of class
-
Readings:
-
"Code Coverage" from Wikipedia (Perusall—Lecture 10 Reading)
-
Optional:
|
2021-05-21
|
9
|
Quality Assurance and Testing
|
-
Project 2 released
-
Checkpoint due by class 2021-05-28
-
Final submission due by last day of class
-
Readings:
-
Sections 2.0–2.5 of Henderson's Software Engineering at Google for Monday (Perusall—Lecture 8 Reading)
-
Quality Assurance and Software Testing on Wikipedia (Perusall—Lecture 9 Reading)
-
Do something fun this weekend (e.g., watch Eurovision)
|
2021-05-19
|
8
|
Git: Workflows
Quality Assurance and Testing
|
-
Bonus: Complete the
remaining Learn Git Branching levels for bonus points (one point per level — row of challenges).
You can earn up to four bonus points.
-
Readings:
-
"Git Branching", "Distributed Git", and "Interactive Staging" from "Pro Git" for Friday (Perusall—Lecture 7 Reading)
-
Sections 2.0–2.5 of Henderson's Software Engineering at Google for Monday (Perusall—Lecture 8 Reading)
|
2021-05-17
|
7
|
Git: Branching
Commit Messages
Remote Repositories
|
-
Complete level 1 of the
Remote tab (Push & Pull -- Git Remotes!) on Learn Git Branching
-
There are eight challenges to complete; a check mark will appear over each once you finish
-
Upload a selfie showing your completed challenges to Gradescope
-
Note that you can open the levels window by typing
levels in the prompt
-
Bonus: Complete the
remaining levels for bonus points (one point per level — row of challenges).
You can earn up to four bonus points.
-
Readings:
-
"Git Branching", "Distributed Git", and "Interactive Staging" from "Pro Git" (Perusall—Lecture 7 Reading)
|
2021-05-14
|
6
|
Version Control Systems
Git / GitHub
|
-
Complete level 2 (Ramping Up) on Learn Git Branching
-
There are four challenges to complete; a check mark will appear over each once you finish
-
Upload a selfie showing your completed challenges to Gradescope
-
Note that you can open the levels window by typing
levels in the prompt
-
Readings:
-
Project 1 due by class Monday May 17 (Gradescope)
|
2021-05-12
|
5
|
Shell scripting
Version Control Systems
|
-
Complete level 1 (Introduction Sequence) on Learn Git Branching
-
There are four challenges to complete; a check mark will appear over each once you finish
-
Upload a selfie showing your completed challenges to Gradescope
-
Note that you can open the levels window by typing
levels in the prompt
-
Readings:
-
"Getting Started" and "Git Basics" from "Pro Git" (Perusall—Lecture 5 Reading)
-
Project 1 due by class Monday May 17 (Gradescope)
-
Make sure you have a GitHub account and have signed
up for the Student Developer Pack
|
2021-05-10
|
4
|
Shell scripting
Editors
|
-
Project 1 due by class Monday May 17 (Gradescope)
-
Make sure your computer is set up with
Visual Studio Code
and the SSH plugin
-
Readings:
|
2021-05-07
|
3
|
Command-line utilities
Random file system
|
-
Day 2/3 Exercises due by class Monday (Gradescope)
-
Readings:
-
Do something fun this weekend!
|
2021-05-05
|
2
|
Linux
Command-line utilities
Random file system
|
|
2021-05-03
|
1
|
First Class
What is software engineering?
Command-line interfaces
|
-
Install Git
for Windows (or have a Linux distribution configured under WSL) if
you plan to use a Windows system for class.
-
Readings:
-
Chapter 1 of "What Is Software Engineering? - Software Engineering at Google"
(Perusall—Lecture 1 Reading)
|