This paper gives an account of a graduate course in advanced building simulation. It discusses the level of understanding and confidence that students acquire by developing their own building simulation kernel in a programming language of choice and using their program to solve a research oriented assignment. The objective of the course is to make students familiar with state of the art techniques in Building Simulation, with emphasis on making adequate modeling assumptions, deriving the correct system equations, and solving them with computational elegance. It prepares students to understand the underlying principles of existing commercial packages like EnergyPlus, eQuest, DOE-2 and ESP-r (DOE) and use them judiciously for problems they were designed to solve.