Cloud computing is a new buzzword for a group of old technologies that have been integrated to create a system that is more than the sum of its parts. After teaching a seminar in cloud computing three times over the last year I have gained a better understanding of the fundamental and enabling technologies that should be brought into our curriculum to facilitate our students becoming competent users of cloud computing. Developing and deploying an application on a cloud architecture appears very similar to working with any remotely accessible server architecture but to work with it effectively our students need to understand the following technologies: firewalls, addressing and sub-netting, encryption, scripting, storage architectures, and virtualization. There are several enabling technologies that make the cloud more than just the sum of its parts. Some of the most important enabling technologies include: segregation of services and multi-systems architectures, workload characterization, identity federation, load balancing, and content distribution networks.