This document introduces probabilistic programming and model-based machine learning. It provides an example case study of using these approaches to analyze the daily travel times of a bicyclist. The key steps are: (1) defining the variables and their relationships using a probabilistic graphical model, (2) specifying the joint distribution as the product of priors and likelihoods, (3) choosing appropriate distributions for the average travel time and uncertainty, and (4) using conjugate priors and normal likelihoods for inference. The goal is to learn the distributions of average travel time and day-to-day variability from real travel time data.