Students' Perceptions and Use of Generative AI Tools for Programming Across Different Computing Courses