I will second the Animal Plastics T8 cage. They are of great quality, and you can't really find anything bad said about them. They maintain humidity levels very well and are fairly light if ever needed to be moved. Once assembled, they are 4' long, 2' deep, and 12" tall. If you are starting out with a young or hatchling ball python, you should definitely get the divider they offer on their site (or just tell Ali if you call to order). It will allow you to divide the tank in half (or even smaller). Younger snakes may get stressed out in a very large open area. Putting more hides, fake plants, etc in the tank can be a good thing.

RHP's (radiant heat panels) are an excellent source for good heat. Some folks now use them exclusively with no belly heat. In a T8 style cage, they can heat the entire closure and provide enough ground heat that you don't need any under the tank heat source. If you do plan to get a young snake, and use the divider, you'll be better to get two 40w heat panels, so you can still use the divider. Or if going that route, get one 40w panel now, and get the other later when the snake is big enough that you can remove the divider (maybe a year to two years old). Reptile Basics does offer some very nice hides. I use them myself. One thing though, again, if starting with a young snake, get the smaller hides, and work your way up. Ball Pythons like to feel their hides touching them. They like the security of feeling the enclosure against their body. The more cramped they look to use, the happier they are. Starting off with a large hide for a young bp may not give it the security it needs.

In regards to room temperature, if you're in San Fran, I'm guessing it's not going to get too cold at night. You can pick up some digital Accurite thermometers/hygrometer combos at Walmart for about $12. Get at least two, one for the warm side and one for the cool side of your tank. If you invest in those now, you can just set them in your classroom, and they will record the coldest and warmest temps. That will give you an idea for how cold the room gets at any given point.