teaching cs principles with app inventor

47
Teaching CS Principles with App Inventor Jeff Gray, Ph.D. - Associate Professor University of Alabama Department of Computer Science [email protected] http://www.cs.ua.edu/~gray ACMSE 2012 Tuscaloosa, AL - March 29, 2012

Upload: yen

Post on 06-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

ACMSE 2012 Tuscaloosa, AL - March 29, 2012. Teaching CS Principles with App Inventor. Jeff Gray, Ph.D. - Associate Professor University of Alabama Department of Computer Science [email protected] http://www.cs.ua.edu/~gray. Overview. General Introduction CS Principles Discussion -2:40-3:30 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Teaching CS Principles with App Inventor

Teaching CS Principles with App Inventor

Jeff Gray, Ph.D. - Associate Professor

University of AlabamaDepartment of Computer [email protected]://www.cs.ua.edu/~gray

ACMSE 2012Tuscaloosa, AL - March 29, 2012

Page 2: Teaching CS Principles with App Inventor

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

Page 3: Teaching CS Principles with App Inventor

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?

Page 4: Teaching CS Principles with App Inventor

CS Principles Overview

Page 5: Teaching CS Principles with App Inventor

Demand for Computer Science Grads

Page 6: Teaching CS Principles with App Inventor

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-cs-talk/why-

cs-talk.ppt

Page 7: Teaching CS Principles with App Inventor

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

Page 8: Teaching CS Principles with App Inventor

The Harsh RealitiesChris 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.

Page 9: Teaching CS Principles with App Inventor

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

Page 10: Teaching CS Principles with App Inventor

Current State of AP Coverage Number of schools passing AP CS Audit

State Number of Schools

Alabama 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

Page 11: Teaching CS Principles with App Inventor

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

Page 12: Teaching CS Principles with App Inventor

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

Page 13: Teaching CS Principles with App Inventor

What you can do….

Consider attestation form http://www.collegeboard.com/html/

computerscience/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

Page 14: Teaching CS Principles with App Inventor

Initial Attestation CoverageFrom Amy Briggs, Middlebury College

Page 15: Teaching CS Principles with App Inventor

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

Page 16: Teaching CS Principles with App Inventor

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

Page 17: Teaching CS Principles with App Inventor

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

Page 18: Teaching CS Principles with App Inventor

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

Page 19: Teaching CS Principles with App Inventor

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

Page 20: Teaching CS Principles with App Inventor

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

Page 21: Teaching CS Principles with App Inventor

“… 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 …”

Opportunities for Impact

Re-architecting the Internet

Harnessing parallelism

Quantum computing

Transforming all fieldsof science and engineering

Wrecklessdriving

Prosthetics / augmentation /

access

Transforming the nation’s defense

Page 22: Teaching CS Principles with App Inventor

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

Page 23: Teaching CS Principles with App Inventor

Coverage of Big Ideas in Pilot 1 Pilot 1 coverage (from Amy Briggs) Pilot II data still being collected

Page 24: Teaching CS Principles with App Inventor

Computational Thinking Practices http://www.ctillustrated.com/ Connecting computing Developing computational artifacts Abstracting Analyzing problems and artifacts Communicating Working in a team

Page 25: Teaching CS Principles with App Inventor

Future College Board SupportLien Diaz, College Board

Page 26: Teaching CS Principles with App Inventor

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

Page 27: Teaching CS Principles with App Inventor

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

Page 28: Teaching CS Principles with App Inventor

A Look at Our Syllabus….

Page 29: Teaching CS Principles with App Inventor

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

Page 30: Teaching CS Principles with App Inventor

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

Page 31: Teaching CS Principles with App Inventor

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

Page 32: Teaching CS Principles with App Inventor

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)

Page 33: Teaching CS Principles with App Inventor

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

Page 34: Teaching CS Principles with App Inventor

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)

Page 35: Teaching CS Principles with App Inventor

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

Page 36: Teaching CS Principles with App Inventor

App Inventor Introduction

Page 37: Teaching CS Principles with App Inventor

Observation: Teaching CS – 1980s style Typical example was text-based, trivial, and

uninspiring

Page 38: Teaching CS Principles with App Inventor

Motivation: New and Exciting Contexts Media Computation

Programming in a more exciting context by manipulating multimedia artifacts

Robots Lego NXT

2D/3D Animation Environments Alice, Scratch, AgentSheets

Page 39: Teaching CS Principles with App Inventor

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

Page 40: Teaching CS Principles with App Inventor

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

Page 41: Teaching CS Principles with App Inventor

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

Page 42: Teaching CS Principles with App Inventor

App Inventor Overview

Page 43: Teaching CS Principles with App Inventor

Designer Provides a WYSIWYG editor for designing the

visual parts of the app Also provides ability to attach non-visual

components

Page 44: Teaching CS Principles with App Inventor

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

Page 45: Teaching CS Principles with App Inventor

For more info…

MIT Center for Mobile Learning main site http://appinventor.mit.edu/ Educator’s Site Links to many Google Newsgroups

Dave Wolber’s App Inventor Site http://www.appinventor.org/

The App Inventor Repository http://www.tair.info/

Three quality books on the topic

Page 46: Teaching CS Principles with App Inventor

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

Page 47: Teaching CS Principles with App Inventor

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