The Elements of Computing Systems (TECS) is an introduction (or refresher) on the basics of Computer Science. It's an exciting course that begins with binary logic gates but works up, one layer at a time, to building high-level programming languages and operating systems. That probably sound ambitious, especially for a one-semester course, however I assure you that it will be fun and easy. The book we'll follow breaks down a complicated topic into twelve easily digestible layers of abstraction which are fundamental to understanding how and why computers work the way they do.
This course is appropriate for all ages and experience levels, however I recommend that participants have some prior programming experience.