Mobile Computing
I am listening to a talk by a high school teacher right now. (Wireless in the conference room. :-) ) She has been having her students write programs for Pocket PCs for the last couple of years. The projects they have done are quite amazing. They created applications for contractors, sky divers, bankers, photographers, EMTs and all sorts of real companies. They learned a lot about programming of course but because they were working with real applications for real companies they also learned a lot about working on a real team with real deadlines. They also had to learn quite a bit about things other than computers so that they could communicate with their customer and create an application that actually solved the customer's problems. Quite impressive.