This page lists the material and assignments for each week in the semester. We update the contents on at least a weekly basis.

Sprint 5 : Apr 16 - May 04
Topic Sprint 5
Reading How does the 3-opt algorithm for TSP work?
A Guide to the Java ExecutorService
Perform N tasks in parallel
What is Code Review
Four Ways to a Practical Code Review
Proven Practices for Peer Review
Reviews; Walkthroughs; and Inspections
Java Code Review Checklist (Dalbey)
Java Inspection Checklist (Fox)
CMMI Quick Reference
Lectures Sprint 5
Peer Reviews
Final Exam Review
Activities Plan 5
Check 1 / Deploy 1
Interop / User Experience
Check 2 / Deploy 2
Demo 5
Reflection 5
Contrib 5
Project Sprint 5
Sprint 4 : Mar 24 - Apr 13
Topic Sprint 4
Reading User experience: Grommet; Learn; Ferret (demo)
Lectures Sprint 4
Systems Testing
User Experience
Activities Plan 4
Check 1 (adds deployment)
Check 2 (adds deployment)
Reflection 4
Contribution 4
Project Sprint 3: Worldwide Trips
Sprint 3 : Feb 26 - Mar 23
Topic Sprint 3; Midterm on Mar 6
Reading Clean Code; food for thought
Code Smells
Code Climate - Maintainability
IntelliJ IDEA Code Coverage
IntelliJ IDEA Code Coverage (video)
Statement Coverage
Control Flow Graphs
Branch Coverage
MariaDB; SQL
Heuristics for the Traveling Salesman Problem
Choosing an HTTP Status Code
REST API Error Codes 101
Lectures Sprint 3
Clean Code
White Box Testing and Code Coverage
Activities Midterm
Plan 3
Check 1
Check 2
Reflection 3
Contribution 3
Project Sprint 3: Shorter trips and more places to go!
Sprint 2 : Feb 05 - Feb 23
Topic Sprint 2; Test Driven Development; Black Box Testing; Continuous Integration
Reading Why Do We Test Software? from Introduction to Software Testing by Ammann & Offutt
Test Driven Development
The Art of Agile Development: Test-Driven Development
Junit 4 - Repos configured for version 4 rather than 5 (UPDATED 2/7)
Continuous Integration
Spark Framework for Web Applications in Java
Creating a REST API quickly using pure Java
Build Restful service with Java 8 in 5 minutes
ReactJS - Lifting State Up
Component Trees and Lifting State (ADDED 2/7)
Lectures Sprint 2
Test Driven Development
Black Box Testing
Continuous Integration
Activities Sprint 2 Plan
Reflection 2
Contribution 2
Project Sprint 2: A mobile responsive map and itinerary!
Week 3 : Jan 29 - Feb 02
Topic Project Management; Continuous Integration; Sprint 1 Demo ; Sprint 2 Backlog
Reading How the ZenHub team uses ZenHub
Zenhub: Tackling software estimates
Planning Poker FAQs
Google Java Style Guide
Lectures Project Management
Continuous Integration
Activities SP2: plan
Project Sprint 1 calc: Build a distance calculator single page web application
Sprint 2: A map and an itinerary on the web.
Week 2 : Jan 22 - Jan 26
Topic Web Development; Project Management
Reading Scrum Guide
Scrum Reference Card
Scrum Training Series
Check out the Course Resources for helpful videos and documentation.
Lectures Web Development
Project Management
CodePen Examples
Activities GH Redux: Sort the test data (Canvas)
Project Sprint 1 resume: Prepare an online resume (Canvas)
Sprint 1 calc: Build a distance calculator single page web application (Canvas)
Week 1 : Jan 15 – Jan 19
Topic Introduction; Configuration Management
Reading Developmental Sequence in Small Groups (Tuckman)
Coping with Hitchhikers and Couch Potatoes on Teams
Agile Manifesto
Beginner's Guide to Web Development
Bootstrap v4 (Home; Documentation; examples)
React (QUICK START topics)
GitHub tutorials (101; 102; 103; Merge Conflicts; )
Lectures Software Engineering
Configuration Management
Activities GH user : Submit your GitHub username (Canvas)
TW pair: Identify a team mate (Canvas)
TW skill: Submit your skill set (Canvas)
TW type: Submit your personality type (Canvas)
GH readme: Create the team's file (Canvas)
GH test: Let's crowdsource some test data (Canvas)
TW quest: Share your thoughts on working together with your teammates (Canvas)
Project Sprint 1 resume: Prepare an online resume (Canvas)
Sprint 1 calc: Build a distance calculator single page web application (Canvas)