We discuss a software development project named Chorale Composer that seeks to create a cohesive student environment for learning techniques in harmonic analysis and counterpoint. Through the use of sophisticated four-part algorithmic analysis, student-input music is immediately scanned for anomalous voice leading and chord construction. The algorithms employed are rigorously model-based and do not employ heuristic patterns or statistical guessing. The analytical engine can detect and generate figured bass, sonority, and roman numeral analyses, and can identify keys (and therefore modulations) by examining leading-tone and bass line resolutions. The software can also be used to analyze existing literature such as the Bach Chorales and to detect stylistic points of interest where the music appears to deviate from the pedagogical "rules of counterpoint." The software is ideal for classroom discussion and practice. It can also assign generative homework exercises to test student comprehension of relevant concepts. The software aims to supplement college-level tonal music theory curricula.