Lectures

Date Lecture Topic(s) Homework (for next class)
2026-03-18 19 Fuzzing
Defect Reports and Triage
Bug Life Cycle
Bug Life Cycle (alternative)
  • Project 3 due Friday, April 3 11:59 PM Eastern
  • Readings:
    • None
  • BONUS: Attend π-athlon on Wednesday, March 18 from 4:30–5:15pm in PQRC Lounge and take selfie
2026-03-16 18 Fuzzing
Defect Reports and Triage
Bug Life Cycle
Bug Life Cycle (alternative)
2026-03-11 17 CI/CD
Test Input Generation
2026-03-09 16 CI/CD
Java HTML Parser
2026-03-04 15 Testing as Sampling (continued)
Mutation Testing
CI/CD
2026-03-02 14 Test Suite Quality Metrics
Testing as Sampling
2026-02-25 13 Exam 1
  • Project 2
    • Checkpoint 1 due Friday, February 27 11:59 PM Eastern (GitHub)
    • Checkpoint 2 due Friday, March 6 11:59 PM Eastern (GitHub) UPDATED
    • Final submission due Wednesday, March 11 11:59 PM Eastern (Gradescope)
  • Readings:
    • Code Coverage on Wikipedia
    • Reading Quiz (Gradescope) due next Monday
2026-02-23 12 Test Suite Quality
Exam Preparation
  • Study for Exam 1
    • Prepare 1-page reference sheet for exam
  • Project 2
    • Checkpoint 1 due Friday, February 27 11:59 PM Eastern (GitHub)
    • Checkpoint 2 due Wednesday, March 4 11:59 PM Eastern (GitHub)
    • Final submission due Wednesday, March 11 11:59 PM Eastern (Gradescope)
  • Readings:
    • Code Coverage on Wikipedia
    • Reading Quiz (Gradescope) due next Monday
2026-02-18 11 Unit Testing
CPython Implementation
  • Project 2
    • Checkpoint 1 due Friday, February 27 11:59 PM Eastern (GitHub)
    • Checkpoint 2 due Wednesday, March 4 11:59 PM Eastern (GitHub)
    • Final submission due Wednesday, March 11 11:59 PM Eastern (Gradescope)
  • Readings:
2026-02-16 10 Quality Assurance and Testing
  • Project 2
    • Checkpoint 1 due Friday, February 27 11:59 PM Eastern (GitHub)
    • Checkpoint 2 due Wednesday, March 4 11:59 PM Eastern (GitHub)
    • Final submission due Wednesday, March 11 11:59 PM Eastern (Gradescope)
  • 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:
2026-02-11 9 Remote Repositories
Pull Requests
Practice
CS340-S26-Repo on Github
  • Project 1 due Wednesday, February 11 11:59 PM Eastern (Gradescope)
  • Complete Level 1, Challenges 5-8 of the Remote tab (Push & Pull -- Git Remotes!) 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:
    • "Distributed Git" up to "Private Small Team" and "Interactive Staging" from Pro Git by Chacon and Strub (Pages 126–131, 226-230)
    • Reading Quiz (Gradescope)
2026-02-09 8 Commit Messages
Remote Repositories
  • Project 1 due Wednesday, February 11 11:59 PM Eastern (Gradescope)
  • Complete Level 1, Challenges 1-4 of the Remote tab (Push & Pull -- Git Remotes!) 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:
    • "Git Branching" from Pro Git by Chacon and Strub (Pages 63–104)
    • Reading Quiz (Gradescope)
2026-02-04 7 Git: Branching
Commit Messages
Branching Exercise
  • Project 1 due Wednesday, February 11 11:59 PM Eastern (Gradescope)
  • 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:
    • "Git Basics" from Pro Git by Chacon and Strub (Pages 26–62)
  • BONUS: Attend Q-Club on Thursday, February 6 at 12pm in Bloomer Auditorium and upload a selfie to Gradescope
2026-02-02 6 Version Control Systems
Git
  • Project 1 due Wednesday, February 11 11:59 PM Eastern (Gradescope)
  • 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" from Pro Git by Chacon and Strub (Pages 8–25)
      • Note that you should already have git installed on your personal machine and the GCP server
    • Reading Quiz (Gradescope)
  • Make sure you have a GitHub account and have signed up for the Student Developer Pack. Submit a screenshot on Gradescope showing you have done so.
2026-01-28 5 Shell scripting
Gapminder Population Data
Hate Crimes by County and Bias Type: Beginning 2010
  • Project 1 due Wednesday, February 11 11:59 PM Eastern (Gradescope)
  • Readings:
    • None
  • Make sure you have a GitHub account and have signed up for the Student Developer Pack. Submit a screenshot on Gradescope showing you have done so.
2026-01-26 4 Command Line Utilities Conclusion
Terminal Multiplexers
Editors
Shell scripting
Gapminder Population Data
Hate Crimes by County and Bias Type: Beginning 2010
2026-01-21 3 Command-Line Utilities
Random File System
2026-01-19 2 What is Software Engineering?
Google Cloud Platform
( Console)
Linux
Command-Line Utilities
2026-01-14 1 First Class
What is software engineering?
Software Engineering Disasters
  • Install Git for Windows (or have a Linux distribution configured under WSL) if you plan to use a Windows system for class.
  • Install Homebrew if you plan to use a Mac system for class.
  • Redeem your Google Cloud Platform coupon by following the instructions posted in an announcement on Canvas. Submit a screenshot on Gradescope.
  • If you do not have Google Gemini Pro, sign up for the free pro plan for students here. Submit a screenshot on Gradescope showing you have the pro plan.
  • Readings: