Software is connecting the world and transforming the way we work.  Programming is becoming an essential part of many careers. 70 percent of all new jobs across all STEM fields will be in computer science. Some of these careers involve full time programming, but many more require part time software development or a strong understanding of how software systems function. This class is an introduction to programming designed especially for people who use computers, but have no programming experience. Using the Java programming language, we introduce students to the basics of software development, software problem solving, and, crucially, to the process of debugging.