How Do Programming Students Use Generative AI?