For decades experts have said Computer Science needs to be part of a general K-16 education. That day may be here! For decades computer scientists have been advocating teaching CS ideas to non-techies Their reasons are strong ▪ It’s fundamental knowledge – we should know its science ▪ There are critical public policy issues – strong encryption, privacy, copyright, ‘net neutrality’ ▪ People can do more when they know more: work, play Contrarian: “I drive w/o knowing how a car works … I can use a computer that way, too” 3/23/2016 © 2010 Larry Snyder, CSE 2 Really. There are some differences … Cars, like other ‘physical machines’ that transform matter and energy are basically single purpose ▪ Chain saw, blender, coffee grinder, scissors, … Computers transform information and are universal – you need only one ▪ More versatile means more potential – new uses ▪ Greater responsibility in configuring, controlling, applying ▪ The ‘illusion of usability’ … how much can it do, how much do you know how to use? 3/23/2016 © 2010 Larry Snyder, CSE 3 Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science,’ but concept-lite; raised awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2007 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 4 Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science,’ but concept-lite; raises awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2007 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 5 The slides are available online www.cs.washington.edu/homes/snyder/FITCT.pdf Ask questions inline … we can replace PPT with discussion as you wish 3/23/2016 © 2010 Larry Snyder, CSE 6 Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science’ but concept-lite; raises awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2007 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 7 The National Science Foundation asked ... The National Research Council ... “What should everyone know about Information Technology?” The NRC formed the “Ad Hoc Committee on Computer Literacy” to answer the question The concept ‘Fluency with Information Technology’ was introduced in National Research Council report Being Fluent with Information Technology [1999] ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ Alfred Aho, Bell Labs Marcia Linn, UC Berkeley Arnold Packer, Johns Hopkins Lawrence Snyder, UW, chair Allen Tucker, Bowdoin Jeffrey Ullman, Stanford Andries van Dam, Brown Herb Lin, NRC Staff The Report explains: Because IT changes rapidly, skills knowledge quickly becomes outdated ▪ “Click here, click there” instruction is very specific ▪ Users find new apps, even new versions, intimidating ▪ “Literate” users lack confidence to try new technology The Committee asserted that skills knowledge does not have the “staying power” to enable people to keep pace with ITs rapid change To keep pace with IT, people must become lifelong learners The Committee’s mission: Determine what IT knowledge will enable people to learn the IT they need to know throughout life Yasmin Kafai of UCLA proposed “fluency” for this deeper, more fundamental content ▪ “Fluency” implies a facility with language of technology ▪ “Fluency” suggests a person is expressive, in control FIT became the Committee’s abbreviation for “Fluency with Information Technology,” making FITness in the population the goal They determined 3 types of knowledge needed Contemporary Skills Foundational Concepts Intellectual Capabilities These are co-equal and interdependent + Projects to integrate the three knowledge types Skills are proficiency with present day computer applications Approximates traditional “computer literacy” Essential for ▪ Using computers right now ▪ Job preparedness ▪ Learning other aspects of Fluency Skills are a moving target dependent on the state- of-the-art Example: Use a Word Processor Concepts are the fundamental ideas of computing that everyone should know They are drawn from fields contributing to IT Analogous to knowing basics of physics (momentum) or chemistry (atom) Explains how and why computation works Foundations on which future understanding will be built Example: Basics of packet-switched networks, TCP/IP Capabilities are higher-level thinking abilities Thinking skills -- not usually taught explicitly -- customized to computing They apply beyond Information Technology ▪ ▪ ▪ ▪ Abstract thinking Debugging Learning by analogies Analysis Raw material for lifelong learning Example: Sustained logical reasoning The Committee chose the most important content for skills, concepts & capabilities Avoid the “over prescription” trap Pick the Top 10 of each type No additions, only replacements … they are not set in concrete – profs adjust Set up a personal computer Use basic OS features Use a Word Processor Use a graphics / artwork / presentation tool Connect a PC to a network Search the Internet to locate information Send and receive email Use a spreadsheet Query a database Use an online tutorial or help facility Skills can be customized to a discipline or career path Principles of computer operation Enterprise information systems Networks Digital representation of information Information structure and assessment Modeling the world with computers Algorithmic thinking and programming Universality Limitations Information and society Concepts are generally timeless principles Engage in sustained reasoning Manage complexity Test a solution Locate bugs in a faulty use of IT Organize and navigate information structures Collaborate with others using IT Communicate an IT solution to others Expect the unexpected Anticipate technological change Think technologically Capabilities promote independence, maturity The Committee included “programming in support of algorithmic thinking” Why? ▪ Unambiguously specifying a series of steps to solve a problem -- that is, programming -- is an integral part of algorithmic thinking ▪ Only a few programming concepts are essential ▪ The essential concepts are accessible to laymen ▪ Several concepts and capabilities presume a basic understanding of programming The programming in Fluency helps you think This approach silenced a decades old argument! A project is a multiweek task to produce an “IT product” such as a Web page, DB, etc Projects provide a situation in which ▪ Several skills, concepts and capabilities can be applied ▪ Students apply their knowledge as needed, focused on producing the final result ▪ The open, unstructured nature of projects are good settings for applying capabilities -- reasoning, debugging, testing, complexity management, etc Construct a database for a small ski rental business and explain it to employees Skills Query Database Build GUI w/ Wizard Use On-line Tutorial Presentation Tools Communicate with others Concepts Database Systems Information Structure Algorithmic Thinking Information & Society Limitations Capabilities Sustained Reasoning Manage Complexity Test a Solution Communicate IT Locate Bugs Expect the Unexpected Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science’ but concept-lite; raises awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2007 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 23 The report was well received … Faculty understood arguments, but to offer a class required: syllabus, book, instructor, … Textbook issue – new concept needs new book Addison Wesley was very bold, visionary, patient 3/23/2016 © 2010 Larry Snyder, CSE 24 Early adopters: UW, UCSD, Montclair State, Salem State, Texas Culinary Institute, … Steady stream of adopters for different uses General service course for all students CS0 to attract students to the major Component of a critical thinking freshman sequence Major’s course in Informatics, Linguistics, Math, … Professional Development 3/23/2016 © 2010 Larry Snyder, CSE 25 There are many ways to teach Fluency Greater Skills emphasis – Scollard text Programming in Alice Programming in … ▪ Scratch ▪ Python ▪ Visual Basic ▪ Spreadsheets Customize to a specialty: Business, Info, Ling, Eng 3/23/2016 © 2010 Larry Snyder, CSE 26 Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science’ but concept-lite; raises awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2007 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 27 Jeanette Wing, AD for CISE at NSF, popularized the concept of Computational Thinking Computational Thinking describes the habits of mind and thinking processes of computer scientists Reading, Writing, Arithmetic & CT will be the skill set needed to succeed in the 21st C 3/23/2016 © 2010 Larry Snyder, CSE 28 Computational thinking has wide appeal despite the absence of a crisp definition 3/23/2016 © 2010 Larry Snyder, CSE 29 The NRC is studying Computational Thinking CT is related to Fluency – no skills CT is related to many other kinds of thinking ▪ ▪ ▪ ▪ Mathematical thinking Scientific thinking Engineering thinking Critical thinking CT arises throughout many scholarly disciplines 3/23/2016 © 2010 Larry Snyder, CSE 30 Because of this attention many activities are underway regarding Computation Thinking One very significant theme: Move CT into K-12 Many Challenges – The US has no national curriculum … there are 50+ “Computer Science” is taught as Vocational Ed There are very few teachers qualified to teach CT content, whatever the experts decide it is CT is a tech field, so moves fast; schools move slow No tested curricula, content distribution, texts, … 3/23/2016 © 2010 Larry Snyder, CSE 31 What are the chances that with all of these problems CT will get into K-12 It’s taken a decade for Fluency to be adopted by significant number of schools … and compared to Public Education, colleges are nimble and agile! … But, there is one possible, nationwide entry point: Advanced Placement Tests 3/23/2016 © 2010 Larry Snyder, CSE 32 Getting to today 1970s to 1990 … simple Pascal classes “Computer Literacy” emerges with desktop apps availability ▪ Widely called ‘computer science’ but concept-lite; raises awareness 1997 NSF asks, “What should all Americans know about IT?” … NRC Computer Literacy Commission formed 1999 Being Fluent with Information Technology report 2000s US schools offer “Fluency with IT” courses; concept rich 2008 Jeanette Wing describes “Computational Thinking” 2009 ETS begins developing AP ‘CS Principles’ Exam 2010 Matt Goldstein holds important meeting at UW 3/23/2016 © 2010 Larry Snyder, CSE 33 ETS dumped CS AB Exam several years ago The CS A Exam, Java Programming, remains ETS has revised the science exams in a multiyear process: calc, chem, phy, bio, eco With NSF funding (Jan Cuny), ETS is creating a new exam: Computer Science Principles Widely referred to at the Computational Thinking exam, it is actually core CS concepts Revising and creating exams is a complex, thorough process –impressive, lots of input 3/23/2016 © 2010 Larry Snyder, CSE 34 AP’s process begins by understanding the field’s principles– what’s the content? There are 7 computing principles (basically nouns) And 7 computing practices (basically verbs) Developed by a commission and vetted by several committees 3/23/2016 © 2010 Larry Snyder, CSE 35 Computing is a creative human activity that engenders innovation and promotes exploration Abstraction reduces information and detail to focus on concepts relevant to understanding and solving problems Data and information facilitate the creation of knowledge Algorithms are tools for developing and expressing solutions to computational problems Programming is a creative process that produces computational artifacts Digital devices, systems, and the networks interconnecting them enable & foster computational approaches to solving problems Computing enables innovation in other fields including science, social science, humanities, arts, medicine, engineering, and business 3/23/2016 © 2010 Larry Snyder, CSE 36 How computing professionals spend their time Analyzing effects of computation Creating computational artifacts Using abstractions and models Analyzing problems and artifacts Communicating processes and results Connecting computation with mathematics, science, and engineering Working effectively in teams 3/23/2016 © 2010 Larry Snyder, CSE 37 Using this input the content of the field has been filled out The principles and practices have been painstakingly translated into content: facts, concepts, algorithms, etc. A spreadsheet of what content supports which principles and practices has been developed EVENTUALLY exams will be developed based on this material … but first 3/23/2016 © 2010 Larry Snyder, CSE 38 In a multiyear process the material is introduced Year 1: 5 colleges will pilot a college class – its what you’re placed out of if you take/pass the test Year 2: 12 colleges offer the course, 5 high schools offer the course preping for the test Year 3: More high schools, more colleges Year 4: Build, pilot the test Meanwhile, Cuny has a project to develop 10K Year 5: Deploy it all teachers for the HS course 3/23/2016 © 2010 Larry Snyder, CSE 39 The piloting schools will each develop their own curriculum – all materials are available to everyone, online Schools (each teams with a high school): University of Washington UC Berkeley UC San Diego Metropolitan State College, Denver UNC Charlotte 3/23/2016 © 2010 Larry Snyder, CSE 40 Offered Winter Quarter, 2011 Forty students, with diversity matching UW Using Fluency content where it overlaps Python as the programming language Other technologies: XHTML + CSS, XML, may use robots Key Objective: Help students to see the concepts in actions … you’re not editing a photo, you’re algorithmically adjusting an array of RGB triples to achieve a different effect 3/23/2016 © 2010 Larry Snyder, CSE 41 ETS expects colleges and universities to give advance placement or credit for passing the exam Schools can do whatever they want but likely candidates for credit are A computational thinking class like the pilots A Fluency class, since it’s concepts rich, too A related CS0 class 3/23/2016 © 2010 Larry Snyder, CSE 42 Changing the curriculum in the US is hopeless High schools, students and their parents recognize the value of AP classes and credit Whether a HS has AP is a LOCAL decision, principle or at most superintendent AP classes are positioned in the “college prep” part of the curriculum More CS (available to all) will be included in lower grades to ramp towards this target 3/23/2016 © 2010 Larry Snyder, CSE 43 We have a chance of a lifetime … Fluency has established that “all” students can learn CS content, including simple programming Fluency, by design, balances intellectual content with hands on experience – widely appropriate The new AP Computer Sciences Principles Exam moves this content to high schools 3/23/2016 © 2010 Larry Snyder, CSE 44