COSC 494/594: Software Development Tools

Spring 2021

Online
Tue/Thu 1:10pm-2:25pm
Instructor: Austin Henley (azh@utk.edu)

Syllabus


Schedule


Check frequently for updates.

Week 0 - 1/20 Introduction (slides)
Week 1 - 1/25 Project Details (slides)
Do Developers Discover New Tools On The Toilet? (paper)
Week 2 - 2/1 Overview of CPython Internals (slides)
Week 3 - 2/8 Feature request (document)
Team updates
pip (web), venv (web)
Week 4 - 2/15 Usability Engineering (slides part 1, part 2)
Bytes in the Machine: Inside the CPython interpreter (video)
Week 5 - 2/22 Usability Engineering
Dockerizme: Automatic Inference of Environment Dependencies for Python Code Snippets (paper)
Week 6 - 3/1 Guest lecture by Dr. Rhema Linder: Evaluation Methods (slides)
Programmers are Users Too: Human Centered Methods for Improving Tools for Programming (paper)
Week 7 - 3/8 Team updates
Evaluation Methods review
Week 8 - 3/15 Guest lecture by Ben Klein: Python's Most Underrated Feature: Decorators (slides, web)
Week 9 - 3/22 Chaos Engineering (web)
Why We Need More Chaos (video)
Software Testing (slides)
Week 10 - 3/29 Unit testing in Python (example code and tests)
CFar: A Tool to Increase Communication, Productivity, and Review Quality in Collaborative Code Review (paper)
Week 11 - 4/5 No class
Week 12 - 4/12 Debugging in Python
Profiling in Python
Week 13 - 4/19 Let's make a game
Week 14 - 4/26 Let's make a game