Teaching CS Principles with App Inventor ACMSE 2012 Tuscaloosa, AL - March 29, 2012 Jeff Gray, Ph.D. - Associate Professor University of Alabama Department of Computer Science gray@cs.ua.edu http://www.cs.ua.edu/~gray Overview General Introduction CS Principles Discussion -2:40-3:30 App Inventor Introduction - 3:30pm-4:20pm Break - 4:20pm-4:40pm App Inventor and CS Education Panel 4:40pm-5:30pm Quick Poll How many… …faculty in higher ed? …students (ugrads, grads)? …K-12 educators? …have heard of CS Principles in detail? …have used App Inventor? …have plans to introduce a CS Principles course at your school (either K-12 or higher ed)? …are members of CSTA? …are submitting a CE21 grant this April? CS Principles Overview Demand for Computer Science Grads Demand for Computer Science Grads National Job Outlook According to the National Association of Colleges and Employers (NACE) $64,210 is the average starting salary for computer science degrees in the class of 2011 (among highest starting salaries); 3.7% increase over 2010 offers Computer Science tops list of best major for jobs with the highest number of job offers per major (2.8 job offers per major!) A “Why Study Computer Science” set of outreach slides with additional information like this is available at http://www.cs.ua.edu/~gray/outreach/why-cstalk/why-cs-talk.ppt Local Success vs National Disaster From Chris Stephenson, CSTA President In the last few years the commitment to improving computer science education has resulted in pockets of excellence: New tools (Alice, Scratch, Kodu, App Inventor, …) New Curricula (Exploring Computer Science, Media Computation…) New ways of thinking about equity and engagement But in reality, AP is the only program that has national reach, support, and consequence (and sometimes state funding) If we are going to achieve a true renaissance in CS education in K-12 we need to make both curriculum and policy changes at the state and national level The Harsh Realities Chris Stephenson, CSTA President Unless we increase the number of students taking high school CS, our enrollments will continue to languish at the post-secondary level (don’t let the recent bump fill you with false hope) States are increasing the number of math and science credits students must have in order to graduate, reducing the chances that students can/will take elective courses such as computer science In states where CS is part of Career and Technical Education, there are pressing certification questions. Challenges with Current CS AP One of College Board’s lowest participating exam Very much a “Programming”-centered course, with much content covering syntax and semantics of a specific language (Java) Deep and less broad Full range of impact of computing could be missed, as well as exciting contexts to motivate students Many in-service teachers lack content knowledge to teach current AP exam Current State of AP Coverage Number of schools passing AP CS Audit State Alabama Number of Schools Less than 8 (out of > 460) Tennessee 16 South Carolina 18 North Carolina 28 Florida 69 Georgia 78 New Jersey 133 California 165 Texas 271 Current State of AP: Two-state comparison • • • • Alabama population, ages 15-18: 220k Over 3700 students took AP US History Nearly 120 took the AP Latin exam +: Alabama has over 4 times the national average of African American students participating The Importance of the Principles Effort From Chris Stephenson, CSTA President: There is no better time than now, and to fail in this commitment is to fail permanently as a discipline in the K-12 system As a community, we too often begin at what is wrong and tear down, rather than figure out what is right and build up The recent bump in enrollments at some colleges/universities is more than balanced by the closing of programs at others and this is no time to cut back on our efforts What you can do…. Consider attestation form http://www.collegeboard.com/html/computersci ence/index.html Chris Stephenson, CSTA President: We need a concerted and genuine commitment from all educators (K-16), all organizations, and all corporations to support the new CS Principles course and to work together to help get teachers ready with workshops, resources, standards, relationships Initial Attestation Coverage From Amy Briggs, Middlebury College The Two Rounds of Pilots Pilot I had 5 universities and 5 high schools Pilot II currently has 10 universities and 10 high schools, shown below The CS Principles Curriculum Framework CS Principles groups content ideas (Big Ideas) with various skillsets (CT practices) The current Pilots participate in deep evaluation of content coverage and skillset development from weekly assessments Students evaluated several times throughout semester Source for CS Principles Figures: Amy Briggs CS Principles Big Ideas Creativity Computer science enables creative expression of innovative ideas Abstraction Abstraction is a key problem solving and organization concept need to provide scale to complex solutions CS Principles Big Ideas Data Students need to understand the growing trend of “Big Data” and what that means to their daily lives; great context for introducing data mining Algorithms Algorithms are the foundation for expressing a computational solution CS Principles Big Ideas Programming Programming is the skill that gives a voice to expressing a computational problem Internet Students should develop an understanding of “under the hood” concepts that they take for granted every day CS Principles Big Ideas Impact Computer scientists do more than set behind cubes; our solutions foster the world’s economies and bring value to all areas of life; University of Washington videos: http://www.cs.washington.edu/WhyCSE Opportunities for Impact “… the software industry is going to make more breakthroughs in these next 10 years than it's made in the last 30 … software is really going to transform not just what we think about as the computer industry, but the way that everything is done …” Re-architecting the Internet Harnessing parallelism Wreckless driving Quantum computing Prosthetics / augmentation / access Transforming all fields of science and engineering Transforming the nation’s defense Impact: Software is Everywhere 98% of all microprocessors control devices other than desktop computers Automobiles, airplanes, televisions, copiers, razors… These devices also need software and often require strong technical skills to develop Coverage of Big Ideas in Pilot 1 Pilot 1 coverage (from Amy Briggs) Pilot II data still being collected Computational Thinking Practices http://www.ctillustrated.com/ Connecting computing Developing computational artifacts Abstracting Analyzing problems and artifacts Communicating Working in a team Future College Board Support Lien Diaz, College Board Summary of Alabama Principles Course Split between BYOB (Snap!) and App Inventor Some CS Unplugged Mixed In Readings Books: Hal’s Blown to Bits, Wolber et al. App Inventor book Papers: Wing’s Computational Thinking, Kramer’s Is Abstraction the Key to Computing? Grades: Six individual assignments (two short essays) Two team projects (presentation, implementation) Three exams and 7 very short quizzes Sample Projects Homework Examples Hangman App Essays: Reflective essay on student major and CS; research and analyze a computer simulation model Team Projects BYOB Almost all were game variations (Example) App Inventor Rendezvous planner Tornado damage assessment app for Civil Engineers Textbook buying broker A Look at Our Syllabus…. Collaboration with High School Peer Bill Cowles, Booker T. Washington HS Montgomery, AL Almost exactly a 2 hour drive from Tuscaloosa Shared syllabus, homework ideas, various lectures Restriction on meeting times Visit and talk to Bill’s class Initial planning during CS4HS summer workshop in 2011 Weekend AP training session Bi-weekly email Things that we felt were a success Creativity Soared Team Projects Highly Collaborative Diversity 17 different majors across 29 students (first essay) Broad interest from Freshman to Seniors 13 of 29 students were women or males from underrepresented populations Sustainability Strong interest on campus to offer again in Fall ’12 High School teachers in Alabama want help in pursuing an early adopter Pilot for 2012-2013 Things that did not work so well Rushed to cover all CS Principles topics in a 3-hour course Recruiting issues (temporary) Big Data idea never finalized (but almost ready) Four students dropped the course before midterm Some team project ideas were unrealistic 1 case of cheating Tendency to revert to programming Future Principles Challenges Common exam across multiple teaching approaches (Scratch, Alice, JavaScript) Reaching the goal of 10k teachers who can cover the content of this material Building the pathway from K-12 to higher ed course mappings (perhaps not so hard) Our own Future Effort at UA…. Connection from App Inventor -> Java Bridge -> Standard Android SDK in Java Through collaboration with A+ College Ready, we are proposing an idea that will train 50 new teachers to introduce CS Principles over the next three years (leading up to the first expected offering of the course) Several in the audience have already committed interest to this The new CS104 course will be a stable offering each Fall at UA Potential to serve in-service education students For More Info CS Principles Site http://www.csprinciples.org/ Links to past Pilots College Board Site http://www.collegeboard.com/html/computerscience/index.html Upcoming issue of Inroads on CS Principles I am happy to share results from our Alabama Pilot (syllabus, exams, projects) Questions on CS Principles? Please note, I cannot speak for the College Board or the CS Principles PI’s, but glad to share ideas from my own experiences in teaching the 2011-2012 Pilot App Inventor Introduction Observation: Teaching CS – 1980s style Typical example was text-based, trivial, and uninspiring Motivation: New and Exciting Contexts Media Computation Robots Programming in a more exciting context by manipulating multimedia artifacts Lego NXT 2D/3D Animation Environments Alice, Scratch, AgentSheets Motivation: Newest Context Teen smartphone penetration around 62%1 Novel ways to engage through the “creative hook” and tinkering “I wish I had an app for that” Social networking and crowd sourcing a daily activity among teens Increasing adoption of smartphones in science and medical applications 1http://www.mediapost.com/publications/article/168085/nielsen-smartphone-penetration-reaches-48.html App Inventor Overview Purpose Teaching Prototyping Components of App Inventor Designer GUI builder Block Editor Provide behavior behind the GUI Based on MIT OpenBlocks and Scratch App Inventor Overview 2007: Open Blocks Java Library developed as Masters thesis of Ricarose Roque at MIT Hal Abelson becomes visiting faculty member at Google 2009: App Inventor Pilot begins in 2009 2011: Google closes Google Labs 2011: MIT announces new Center for Mobile Learning February 2012: New App Inventor server available at MIT App Inventor Overview Designer Provides a WYSIWYG editor for designing the visual parts of the app Also provides ability to attach non-visual components Blocks Editor Provides an ability to give behavior to an app; the programming part Typical and expected basic predefined constructs (logic, conditionals, iteration) Ability to refer to the components and their properties from the Designer Very similar to Scratch Built on Open Blocks library from MIT For more info… MIT Center for Mobile Learning main site Dave Wolber’s App Inventor Site http://www.appinventor.org/ The App Inventor Repository http://appinventor.mit.edu/ Educator’s Site Links to many Google Newsgroups http://www.tair.info/ Three quality books on the topic App Inventor Live Demo… Traditional Blocks Language Overview of environment Hands-on app building Samples from CS Principles Course Fusion tables, stock ticker lookup, mole mash, notext Quick Overview of App Inventor Java Bridge Provides a Java .jar file for accessing the App Inventor components and writing Java apps in Eclipse (much easier than standard Android SDK) UA student Chris Hodapp extending work initiated by Josh Swank to provide a translator from Blocks to Java App Inventor and CS Education Panel A virtual panel with leading CS Educators Hal Abelson – MIT Dave Wolber – University of San Francisco Michelle Friend – Stanford University A Google Hangout will begin at 4:40pm CST