CompSci 590
Spring 2026
Software Development Studio

Testing is valuable, but incrementally developing an optimal architecture as a side effect of testing is priceless. — Allen Holub

Date Resources Monday Wednesday Due
Week 1
Jan 7
Mental Health in Software Engineering
Clean Code
Code Smells
Coding and Coping with ChatGPT
NO CLASS Course Overview
Rules of Engagement
Example: Refactoring Bins
Fri: Survey
Week 2
Jan 12, 14
It's all connected in GitLab
Java Logging Best Practices
TDD Guided by ZOMBIES
JUnit Test Infected
Exercise: Install GIT and Merging Logging
Testing
Example: Testing Bins
Wed: Maze, Phase 1
Week 3
Jan 19, 21
Design by Contract
Model-View Separation Principle
How to Work Well on Teams
Markdown Guide
NO CLASS - MLK, Jr. Day Team Meeting Tue: Maze, Phase 2
Week 4
Jan 26, 28
Josh Bloch on API Design
Why Interfaces Are So Very Cool
Software Internationalization Best Practices
Using ChatGPT Prompts for Coding Tasks
NO CLASS - Ice Storm APIs
Internationalization and
Configuration
Wed: Interpreter, Phase 1
Week 5
Feb 2, 4
To Null, or Not to Null
Designing a Document Editor
Refactoring to Patterns
Foundation Patterns
NO CLASS - Snow Storm Exceptions
Design Patterns
Wed: Interpreter, Phase 2
Week 6
Feb 9, 11
Basics of Unix Philosophy
Learning the Shell
What is Docker?
Teamwork Is An Individual Skill
Command-line
Docker
Example: Docker
API and Install
Team Meeting
Example: Chatbot
Tue: Interpreter, Phase 3
Week 7
Feb 16, 18
Understanding Docker for DevOps
Ultimate Guide on DevOps
Automated Testing for CI/CD
Mastering Docker Logs
Deploying to Servers
GIT Workflow Strategies
CI Pipeline
Example: Pipeline
Wed: AI Assistant, Phase 1
Week 8 -
Feb 23, 25
      Wed: AI Assistant, Phase 2
Week 9
Mar 2, 4
      Wed: AI Assistant, Phase 3
10 - Mar 9, 11
SPRING BREAK NO CLASS NO CLASS  
Week 11
Mar 16, 18
    Team Meeting  
Week 12 -
Mar 23, 25
       
Week 13
Mar 30, Apr 1
       
Week 14
Apr 6, 8
       
Week 15
Apr 13, 15
       
16 - Apr 27