These problem sets are constructed using Jupyter Notebooks, and serve the dual roles of: 1) getting students familiar with some basic programming tools (for loops, while loops, if-else selection, user defined functions), and 2) introducing foundational geochronometric systems (Rb/Sr, Sm/Nd, U/Pb, Ar/Ar, U-Th/He, radiocarbon, U-series) and data reduction techniques (isochrons, concordia diagrams, Arrhenius plots, Ar/Ar age spectra). I have assumed some (but minimal) previous programming experience in the beginning of the problem set sequence, with the objective that the student gradually does more and more of the nuts and bolts programming by the time they get to the last problem set in the sequence.
The majority of these specific questions and problems were adapted from the geochronology course taught at University of Arizona by Peter Reiners circa 2010. The course at UIUC, as well as the course at Arizona, are broad surveys that highlight a number of different geochronometric systems, and are aimed at an advanced undergraduate/graduate level. Although I haven't altered the subject matter too much, I hope you find the updates here to a python framework useful.