Lectures

Date Lecture Topic(s) Homework (for next class)
2023-05-03 28 Concluding thoughts
Work on PRs
Final Presentations
  • Work on Final Presentations
    • Topics and Groups due by Wednesday, May 3
  • Project 2
    • Look for code review request
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-05-01 27 Evaluations
Final Presentations
  • Begin working on Final Presentations
    • Topics and Groups due by Wednesday, May 3
  • Project 2
    • Look for code review request
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-04-26 26 Exam 2
  • Industry Guest Response (Gradescope)
    • Due by Monday. 2-3 sentences per question are sufficient.
    • What is one thing that you learned?
    • What did you find most interesting or surprising?
    • How were the guest's answers similar/different to class material?
  • Project 2
    • Look for code review request
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-04-24 26 Industry Guest: Samyukta Jadhwani (Microsoft)
Exam Review
  • Study for Exam 2
  • Industry Guest Response (Gradescope)
    • Due by Monday. 2-3 sentences per question are sufficient.
    • What is one thing that you learned?
    • What did you find most interesting or surprising?
    • How were the guest's answers similar/different to class material?
  • Project 4 due April 28, 11:59 PM Eastern
  • Project 2
    • Look for code review request
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-04-19 25 Ethics in Software Development
2023-04-17 24 Design Patterns
2023-04-12 23 Git Bisect Warm-Up
Delta Debugging
  • Project 4 due April 28, 11:59 PM Eastern
  • Project 2
    • Don't forget about PRs!
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-04-10 22 Industry Guest: Jonathan Dorn (GrammaTech)
Debugging as Hypothesis Testing
Git Bisect Exercise Information
  • Industry Guest Response (Gradescope)
    • Due by next class. 2-3 sentences per question are sufficient.
    • What is one thing that you learned?
    • What did you find most interesting or surprising?
    • How were the guest's answers similar/different to class material?
  • Project 2
    • Don't forget about PRs!
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-04-05 21 Fault Localization
Fault Localization Exercise Bug Information Debugging as Hypothesis Testing
Git Bisect Exercise Information
2023-04-03 20 Fault Localization
Fault Localization Exercise Bug Information
  • Project 3 due Friday, April 7 11:59 PM Eastern
  • Project 2
    • Final submission due by final exam period (Gradescope)
  • Readings:
    • None
2023-03-29 19 Defect Reports and Triage
Fault Localization
Fault Localization Exercise Bug Information
2023-03-27 18 Defect Reports and Triage
Bug Life Cycle
Bug Life Cycle (alternative)
2023-03-15 17 CI/CD
Test Input Generation
  • Project 3 due Friday, April 7 11:59 PM Eastern
  • Project 2
    • Final submission due by final exam period (Gradescope)
  • Do something fun on break!
2023-03-13 16 CI/CD
Java HTML Parser
2023-03-08 15 Mutation Testing
CI/CD
2023-03-06 14 Test Suite Quality Metrics
Testing as Sampling
Mutation Testing
2023-03-01 13 Exam 1
2023-02-27 12 Test Suite Quality
Coverage Metrics
Exam Review
2023-02-22 11 Unit Testing
Test Suite Quality
CPython Implementation
  • Project 2 released
    • Checkpoint due by class 2023-03-06
    • Final submission due by final exam period (Gradescope)
  • Readings:
2023-02-20 10 Quality Assurance and Testing
Unit Testing
CPython Implementation
  • Project 2 released
    • Checkpoint due by class 2023-03-06
    • Final submission due by final exam period (Gradescope)
  • Readings:
2023-02-15 9 Quality Assurance and Testing
CS-340 Repo (GitHub)
CPython Implementation
  • Project 1 due Wednesdy, February 15 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.
  • Finish the warm-up to submit a PR
  • Readings:
    • Sections 2.0-2.5 of Pro Git by Henderson
    • Reading Quiz (Gradescope)
2023-02-13 8 Remote Repositories
Workflows
Quality Assurance and Testing
  • Project 1 due Wednesdy, February 15 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)
2023-02-08 7 Git: Branching
Commit Messages
Warm-Up Exercise
  • Project 1 due Wednesdy, February 15 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) Note: this might not get posted until the start of break
2023-02-06 6 Version Control Systems
Git
  • Project 1 due Wednesdy, February 15 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)
  • Make sure you have a GitHub account and have signed up for the Student Developer Pack
2023-02-01 5 Shell scripting
NYT COVID Data
Hate Crimes by County and Bias Type: Beginning 2010
Version Control Systems
  • Project 1 due Monday, February 13 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 cslinuxlab server
    • Reading Quiz (Gradescope)
  • Make sure you have a GitHub account and have signed up for the Student Developer Pack
2023-01-30 4 Terminal Multiplexers
Editors
Shell scripting
NYT COVID Data Hate Crimes by County and Bias Type: Beginning 2010
2023-01-25 3 Command-Line Utilities
Random File System
  • Day 3 Exercises due by class Monday (Gradescope)
  • Readings:
    • None
  • Do something fun this weekend!
2023-01-23 2 Software Engineering Disasters
Linux
Command-Line Utilities
Random File System
2023-01-18 1 First Class
What is software engineering?
  • 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.
  • Readings: