Course: Computational Thinking for Fun and Profit

HC 207H

Professor: Stephen Fickas

This course targets non-computer science students and shares Google’s vision of introductory computer science that is ‘more about people and their interactions with others and with the world around them.’ The Computer Science field is now arguing that everyone can take something away from the strategies computer scientists use to solve problems. This includes problem solving where no computer is involved at all! We call this general idea Computational Thinking (CT), which involves solving problems, designing systems, and understanding human behavior by drawing on the concepts fundamental to computer science. The problem with teaching a course on CT to non-CS students is grounding the rather abstract rhetoric in concrete examples. How to give students the ability to practice the ideas in their own experience? Google has come to the rescue by recently announcing a set of computer-based tools that are focused on non-CS people who would like to build their own phone apps. Google calls their tools App Inventor. They are all free and available to download; there is no barrier to a person getting an app in the Google App Store other than their willingness to give the App Inventor tools a go. This course will marry two ideas: Computational Thinking to solve problems and App Inventor as a playground to test out problem solving. Students will work with App Inventor through the quarter on the “fun and profit” angle. Each will be able to check out a mobile phone for the entire quarter and work on apps that are of interest to them. We will work on CT concepts at appropriate junctures. Course Outline This is very much a lab-based, hands-on course. Each class will have a small amount of lecture and a large amount of building apps. Note that all the apps you build will be freely available to others, e.g., your friends and family. If programming seems scary to you, I can tell you that in past classes the top students (a) had no prior programming experience, and (b) came from a diverse set of areas, e.g., Art, English, Poli Sci. Course content will focus on the following goals: • Learn how to program a mobile phone using a cool new tool called App Inventor by Google. Phones will be provided! • Employ Computational Thinking to become better problem solvers. • Explore mobile and cloud computing and their effects on society. • Create the next killer app for the Android Phone! http://www.cs.uoregon.edu/Classes/12S/hc207h