This document discusses algorithmic music composition and computational musicology using Python. It introduces Music21, a Python toolkit for computational musicology that allows analyzing musical scores and corpora. It describes strategies for algorithmic composition, including data-driven approaches like Markov models and expert systems using genetic algorithms and formal grammars guided by musical rules. Markov models are discussed as a probabilistic method for generating music based on transitions between notes, rhythms, or sections in prior musical data. Expert systems are also covered for structuring musical form, transforming material, and determining musical preferences.