A History of K-12 Computer Science Education
<<WORK IN PROGRESS>>
As a project started by a former CS teacher, this document is a crowd-authored history of the last few decades of CS education recognizing the amazing work by the dozens of individuals and organizations that have helped build this effort over decades of work.
Disclaimer: As a crowd-sourced document, the goal is to include a variety of voices, but by no means is this history deemed comprehensive. Unfortunately, there will be work that is not mentioned that should be (which someone will hopefully contribute). The overall goal is to show that many projects over a long span of time have influenced the state of CS education today. This document was disseminated through the CSTA, social media, and emailed directly to many leaders in the CS education field, from elementary school to higher ed.
Note to authors: Please keep your entry to 1 paragraph. Please keep this focused on K-12 CS Education, not CS in general nor efforts primarily focused on higher-ed CS education :)
<Please edit/add thoughts within the appropriate decade. Use prose, wiki-style.>
Table of Contents
One of the earliest references related to teaching computing to everyone is Alan Perlis’s 1961 lecture at the “Computers and the World of the Future” Symposium at the MIT Sloan School. Perlis said that everyone should learn to program as part of a liberal education. He argued that programming was an exploration of process, a topic that concerned everyone, and that the automated execution of process by machine was going to change everything. He saw programming as a step toward understanding a “theory of computation,” which would lead to students recasting their understanding of a wide variety of topics (such as calculus and economics) in terms of computation. (Guzdial, 2008)
Four very different efforts in the sixties and seventies were part of defining widespread educational efforts about computer science and programming and yet still have a lasting effect today. Computers were far from ubiquitous and certainly not so accessible in high schools and colleges before the advent of the Apple and IBM microcomputers.
At Dartmouth College, a team of undergraduate students began developing both the programming language BASIC and the Dartmouth Time Sharing System (DTSS) with the intent of making the process of programming simple enough to reach every student. Led by John Kemeny and Thomas Kurtz, the group succeeded and launched BASIC on its way to fame and infamy in reaching a huge audience of high school and college students. At Dartmouth in the mid seventies, every student taking a math class, which was nearly every student, was required to write four BASIC programs. High school students throughout New England were also able to access the computers at Dartmouth and program anything at anytime.
At roughly the same time, Seymour Papert was working on what in the 1980’s came to be called his ‘constructionist’ approach to teaching children about mathematics (and programming/computer science) using Logo (Constructionism, 1991, Harel, Idit and Seymour Papert)
Papert worked with Wally Feurzeig, Daniel Bobrow, and Cynthia Solomon in developing an educational philosophy as well as hardware and software to teach students about turtle graphics, which is the foundation on which Karel the Robot (Richard Pattis, late 70’s early 80’s) was built and from which we now revel in so many move-forward, turn-left programming environments. Papert & Feurzeig co-invented Logo. The K-12 Computer Science Education efforts of Feurzeig had begun earlier with TELCOMP; the Wikipedia entry on Feurzeig is well-wrought on this foundational effort, and notes Papert’s initial engagement as a BBN/Bolt Beranek & Newman consultant with Wally.
Wally's collaborators in this research were Daniel Bobrow, Richard Grant and Cynthia Solomon from BBN and consultant Seymour Papert, who had recently arrived at MIT from Jean Piaget's Institute in Geneva. The idea of a programming language expressly designed for children arose directly from this project. The group realized that most existing languages were designed for doing computation and that they generally lacked facilities for non-numeric symbolic manipulation. Current languages were inappropriate for education in other respects as well: they often employed extensive type declarations that got in the way of students' expressive impetus; they had serious deficiencies in control structures; their programs lacked procedural constructs; most had no facilities for dynamic definition and execution; few had well-developed and articulate debugging, diagnostic and editing facilities, so essential for educational applications.
Papert wanted to reach all children . His work was founded in education, using computing as the lever by which he hoped to move the educational system. While the first Logo physical turtle was built in 1969, for the earliest programmed “turtle”, see Grey Walter’s Tortoises Elmer and Elsie from 1949!
Papert was also an influence on Alan Kay who helped develop a different set of tools and a related philosophy about reaching and teaching children when he worked in the 1970’s at Xerox PARC with Dan Ingalls, Adele Goldberg, and others in developing variants of Smalltalk. The object-oriented paradigm embraced in that language had and has a significant influence and impact on teaching programming.
A further link in the Logo story comes from the contributions of MIT’s Hal Abelson with his longstanding interests in using computation as a conceptual framework in teaching. He directed the first implementation of Logo for the Apple II, which made the language widely available on personal computers beginning in 1981; and published a widely selling book on Logo in 1982. His book Turtle Geometry, written with Berkeley Professor Andrea (Andy) diSessa in 1981, presented a computational approach to geometry which has been cited as "the first step in a revolutionary change in the entire teaching/learning process." Andy diSessa was the principal investigator in the Boxer Computer Environment Project, which involved pioneering easily understood software for upper elementary classroom learning in physics.
The Logo Project Tree was put together by Pavel Boytchev to explain the origins of many many of the various forms of the Logo programming language that have been developed since the beginning.
Children’s learning with and about computers and programming was an inevitable consequence of the advent of microcomputers, but it required social science research to understand how the learning environments did and could better contribute to children’s development of the cognitive and social competencies associated with what has lately come to be called computational thinking.
To this end, the first center devoted to social science research on children’s learning with personal computers was created at Manhattan’s Bank Street College of Education on 112th Street and Broadway in 1980. Bank Street College President Richard R. Ruopp established what was at first called The Children's Electronic Laboratory, renamed to the Center for Children and Technology ("CCT") shortly afterwards. Its first Director was Dr. Karen Sheingold, a developmental psychologist who joined Bank Street with Ruopp from the Boston area, where Ruopp had worked for ABT Associates and Sheingold for Wellesley College. With seed funding from The New York Times Foundation, Ruopp & Sheingold began to envision projects that would enable the child-centered educational philosophy undergirding Bank Street College's programs since its founding in 1916 by Lucy Sprague Mitchell to be realized in an emerging era in which microcomputers such as the Apple II would be increasingly commonplace.
The Bank Street Logo Project, funded by the Spencer Foundation from 1981-1984, entitled: "The Impact of a Classroom Computer Experience on Children’s Problem-Solving, Planning, and Peer Collaboration". CCT Director Sheingold and new Psychology Department recruit from Clark University Roy Pea were co-investigators of this project, and researchers Jan Hawkins and Midian Kurland joined the grant team to plan and conduct empirical studies of children’s learning with Logo programming in their Bank Street classrooms, whose teachers were prepared by Seymour Papert and his team from MIT. The 1987 book edited by Pea & Sheingold: Mirrors of Minds: Patterns of Experience in Educational Computing documents key aspects of many of these studies.
In the first federal funding of studies of learning programming and associated cognitive competencies, the US Department of Education’s National Institute of Education provided in 1983-1985 two major grants to examine the cognitive prerequisites and outcomes of learning computer programming: Pea & Kurland at Bank Street’s CCT led the East Coast grant, and Marcia Linn at UC Berkeley’s Lawrence Hall of Science led the West coast grant. See Linn (1985) and Pea (1987) for short accounts of this research and associated publications.
Already 50 years ago, Seymour Papert started a movement by promoting Computer Science as a critical school subject. His seminal article Teaching Children Thinking was presented at the World Conference on Computer Education in Amsterdam in 1970. It was re-published in the United States 10 years later by Teachers College Press, in Contemporary Issues in Technology and Teacher Education, 5(3/4), 1980.
In 1985, the Media Lab was created at MIT to advance the idea that computation would give rise to a new science of expressive media. Within the media lab, Seymour Papert formed the Epistemology and Learning group (E&L) to extend the traditional definition of media by treating as expressive media materials with which children play and learn. Emphasis was placed on how to get kids to learn (anything--math, science, music, poetry) through hands-on digital design and programming projects, much like graduate students do at MIT.
At the same time, John Anderson and the cognitive science and computer science group at Carnegie Mellon University published 5 years of research on the Lisp Tutor. The Lisp Tutor was built on the premise that there was a cognitive model for programming acquisition. Follow on research explored the learning of computer science and documentation of the parts of that cognitive model as well as the effects of feedback in the learning process. Since that time many pedagogical tutors have been built to help students learn to program.
The E&L Group's work was unique in that it followed a new paradigm for learning research they named Constructionism. In their 1991 book, Idit Harel and Seymour Papert summarized the first 5 years of the groups’ diverse body of work. Several of the chapters directly addressed the theoretical formulation of Constructionism, and others described first-of-their-kind experimental studies with new technologies and new computational learning environments which enrich and confirm different aspects of the idea. Thus, this early volume about Constructionism can be taken as the first most extensive and definitive statement of this approach to using programmable new media in high-density 1:1 computer/student ratio in schools (not just in a university’s laboratory) intertwined with in-depth education research on learning and cognition theory and practice. Idit Harel, Papert’s PhD student and protégé, who was the first to graduate with PhD in the Media Lab’s Epistemology and Learning group in 1988, structured their book around four major themes: 1) learning math and science through designing and programming; 2) epistemological styles in Constructionist learning; 3) children and cybernetics; and 4) video as a research tool for exploring and documenting Constructionist learning environments.
The body of work described in the book Constructionism was conducted by graduate students who eventually all became leaders in the space of CS K-12--e.g., Uri Wilensky, Fred Martin, Mitchel Resnick, Yasmin Kafai, Judy Sachter, Ricki Goldman, Carol Strohecker, to name a few -- all are published authors who are actively working in this space, as founders and directors of outstanding programs at research universities throughout the nation--Northwestern, NYU, MIT, Penn, etc.
In 1991, Idit Harel published her PhD thesis (conducted during 1985-1988) in a book called Children Designers. Harel presented a new vision of learning mathematics through design and software production, and describes computer programming as an “unlimited source of a learning and design power.” Her work won the Outstanding Book Award by the American Education Research Association (AERA). As means of studying this extended notion of children's programming, Harel implemented and investigated multiple "Instructional Software Design Projects" to explore the learning that takes place when 4th- and 5th-grade students develop complete mathematical software products designed for other students in their school. She insisted that they work on their software programming projects daily, in their math classes, so they could become fluent in computer programming and the math content of their games. Harel observed, interviewed, videotaped, tested and documented these learners like no one ever did before her.
The results demonstrated that these young designers, students in a public school in Boston (40% Hispanics and 40% African American), learned advanced problem-solving and meta-cognitive skills not only about mathematics (fractions) and programming (Logo), but also about design and user interfaces, as well as representational, pedagogical, and communicational issues. Harel started a movement that was about teaching programming daily (not once a week in a computer lab), and integrating programming into other school subjects. She continues leading this movement with her work Globaloria (see 2000-2010). Harel’s PhD thesis was published in 1988. It was radical. She collected evidence that made it clear that kids must learn to solve hard problems that take 100 hours to solve; that kids can master computer programming and use it to build instructional software and games that are educational and fun to build and play.
Selected chapters were quickly grabbed by journal editors to be published as featured articles in the newly-formed Interactive Learning Environment Journal and the well-established Journal of Mathematical Behavior. The message of this unique research created a whole new field of study and research advocating for teaching children computer programming not just for the importance of learning to program; but moreover, as a tool to represent knowledge in other domains and learn math and science more effectively to reach understanding.
The first AP Computer Science Exam was offered in 1984. The exam tested student knowledge of PASCAL programming. The development of the AP exam was a significant collaborative effort between high school teachers and university computer science faculty. The process of developing the exam began in 1981 and the minutes of the first meeting provide a glimpse of issues that continue to arise in developing national assessments like the AP. The committee considered building a program that allowed multiple languages and in which students wrote programs that would be run on test data to help determine a grade. The latter is still infeasible today, e.g., student code for the AP CS Principles exam is submitted as a pdf. However, the CS Principles course does allow for multiple and different languages to be used in the course. The development of the AP exam during the 1980’s had a significant influence on high school computing. The committee that developed the exam received letters from Bill Gates and John Kemeny advocating for BASIC to be used rather than Pascal. Ultimately the language changed in the 90’s from Pascal to C++ and then in the 2000’s to Java. The exam began as one course, split to the A and AB exam in the 80’s, and the AB exam was abandoned in the 2000’s.
Structure and Interpretation of Computer Programs, SICP, Abelson and Sussman
SICP was revolutionary in many different ways. Most importantly, it dramatically raised the bar for the intellectual content of introductory computer science. Before SICP, the first CS course was almost always entirely filled with learning the details of some programming language. SICP is about standing back from the details to learn big-picture ways to think about the programming process. It focused attention on the central idea of abstraction -- finding general patterns from specific problems and building software tools that embody each pattern. It made heavy use of the idea of functions as data, an idea that's hard to learn initially, but immensely powerful once learned. It fit into the first CS course three different programming paradigms (functional, object oriented, and declarative), when most other courses didn't even really discuss even one paradigm. (www.cs.berkeley.edu/~bh)
1988: The LEGO Company launches LEGO/Logo, the first widely-used programmable robotics kit for kids, based on ideas and prototypes developed at the MIT Media Lab.
1991 Richard Pattis authors Karel at CMU and authors Karel The Robot: A Gentle Introduction to the Art of Programming. His first version of Karel was published in 1981, he wrote it while he was a graduate student at Stanford.
1995, Jan 26: TeachScheme! How to Design Programs, HtDP, Matthias Felleisen ~> Program By Design, Compass ~~> Bootstrap People: Shriram Krishnamurthi, Kathi Fisler, Matthew Flatt, Robert Findler, Emmanuel Schanzer still on-going
In 1984, Roy Pea and Midian Kurland questioned whether research, up to that point, supported learning computer programming to promote the development of general higher mental functions. It highlighted the importance of further research into programming education.
Sharon Carver’s dissertation work was one of the early studies to demonstrate that higher order thinking skills could be taught through Logo programming. She developed a cognitive model of debugging skills, taught those skills in Logo, then showed that students used those debugging skills when given a map and asked to fix a set of written instructions. Explicitly, Sharon didn’t “teach” Logo. Rather, she taught problem-solving, using Logo as a medium. Just teaching programming is still unlikely to lead to any transferable higher order thinking skills (See David Palumbo’s 1990 review of the literature.)
The New Mexico High School Supercomputing Challenge was conceived in 1990 by former Los Alamos Director Sig Hecker and Tom Thornhill, president of New Mexico Technet Inc., a nonprofit company that in 1985 set up a computer network to link the state's national laboratories, universities, state government and some private companies. Sen. Domenici, and John Rollwagen, then chairman and chief executive officer of Cray Research Inc., added their support. The Mission of the Supercomputing Challenge is to teach teams of middle and high schools students how to use powerful computers to analyze, model and solve real world problems. The Supercomputing Challenge is now in its 25th year. [in ____] Teachers were prepared to integrate raytracing using Cray in Lawrence Livermore. Students of the participating teachers were given access to Internet and Cray to create new projects.
1991: Launch of StarLogo, the first massively parallel programming language for non-experts, designed to support the modeling and simulation of decentralized systems and emergent phenomena, based on dissertation work by Mitchel Resnick at MIT Media Lab.
1994: Idit Harel leaves the MIT Media Lab to start MaMaMedia: “A Playful Global Learning Place for Kids on the Net”. In the early days of the Internet, Dr. Idit Harel gathered a small team of educators, business entrepreneurs, computer scientists, and media designers to create an online place totally dedicated for both learning and fun for all children around the world. MaMaMedia.com was invented as “the definitive destination on the Internet for children ages 12 and under.” Based on 15 years of innovative research projects at MIT and Harvard, the core idea of MaMaMedia.com was to encourage children to use the Internet, starting at a young age, for playful, expressive, and active learning with digital tools - not just for searching and finding information. MaMaMedia’s BotBlox™was the first browser-based programming language for kids. Using a browser on a PC, for the first time ever, young children in their homes, were networked together, and able to invent and publicly share their own designs, create digital art and animations, write and publish their own animated stories, and learn to program digital bots.
1995: Blue is released (see http://kar.kent.ac.uk/21868/) as an explicit object-oriented teaching language. This leads, in 1999, to the release of its successor system, BlueJ (bluej.org, http://kar.kent.ac.uk/13875/), which becomes widely adopted in high schools. In the USA, BlueJ gains popularity when the AP CS course changes to Java in 2003.
AgentSheets (created as part of Alexander Repenning’s doctoral thesis in 1993), LogoBlocks (created at MIT Media Lab -- see Andrew Begel’s MIT Advanced Undergraduate Project in 1996 -- http://research.microsoft.com/en-us/um/people/abegel/mit/begel-aup.pdf), and Alice (created in Randy Pausch’s lab at CMU around the same time) marked the beginning of the era of block-based introductory programming environments (drag-and-drop programming) that made it easy for children to create and visualize programs. These inspired future entrants such as Scratch, Snap, Blockly & Kodu in the 2000s.
Etoys, designed by Alan Kay in 1996, is a media-rich, kid-friendly environment and object-oriented programming language built on the Squeak language, which itself is based on Smalltalk.
Algorithm animation as a CS education tool (Gloor, Dynes, Lee, Velez-Sosa, 1992) and Animated Algorithms (a hypermedia companion CD-ROM for Introduction to Algorithms, MIT Press, 1993). also work in algorithm animation by Guzdial, Stasko and others at Georgia Tech.
Adventures in Modeling workshops introducing science teachers to computer modeling and simulation of complex systems in StarLogo (1997). This led to the development of the Adventures in Modeling (Colella, Klopfer, and Resnick 2001) curriculum, and later, Project GUTS (Growing Up Thinking Scientifically, 2007).
1994-1998 CMU Research: Why are there so few women studying CS?
In 1994 Dr. Allan Fisher, Associate Dean of CS at CMU, was determined to understand why so few women were studying computer science, and what could be done about it. Partnering with Dr. Jane Margolis, social scientist, they applied for funding from the Sloan Foundation to do a four year study based on interviews with faculty and students in the CS CMU program. The CMU leadership was committed to doing something about the problem. Based on the the research findings they enacted several critical reforms. As a result, the number of women rose from 7% to 42%. The story of this research is described in Unlocking the Clubhouse: Women in Computing (MIT, 2002).
1996 Seymour Papert employs the term “computational thinking” in the first issue of International Journal of Computers for Mathematical Learning.
1998: Launch of LEGO Mindstorms robotics kit, based on “programmable brick” research and prototypes from Lifelong Kindergarten group at the MIT Media Lab. LEGO Mindstorms kits have been used by millions of young people and hobbyists around the world.
In May 1999, the AP Computer Science Exam switched from PASCAL to the C++ programming language. C++ was changed to Java in May 2003.
2001 Mike McCracken led an international group of researchers to conduct the first Multi Institutional, Multi National (MIMN) study in CS Ed. The same problem was given to CS1 and CS2 students at five universities across four countries, and the results analyzed at the ITiCSE international computing education conference. The results were shocking: Out of a 110 point grading scale, the average score was 26. This was the first of several studies that shifted computing education out of looking at individual classes and looking for generalizable trends and theory. (As an important contrast, Engineering Education Research has yet to conduct multi-national studies.)
2001 Andrea diSessa articulates the powerful notion of ‘computational literacy’ in his book Changing Minds: Computers, Learning, and Literacy.
2002-2003 Unlocking the Clubhouse: Women in Computing year of speaking across the country. Fisher and Margolis gave talks on university campuses across the country discussing their research findings.
2003 The Media Computation approach to teaching computing is started at Georgia Tech, and is soon after adopted at schools like UCSD, UMass-Amherst, U. Illinois-Chicago, and West Point Military Academy. Several studies (at different schools, by different groups of researchers) showed that the use of MediaComp led to improved retention in intro CS, with a particularly strong impact on female students. MediaComp serves as a proof-of-concept that changing undergraduate curriculum can improve retention of female CS students.
May 2003 - The AP Computer Science A, and AP Computer Science AB exams switched to using Java. Before Java, the exam tested C++.
2005: Caitlin Kelleher and Randy Pausch at CMU author a landmark study detailing “A taxonomy of programming environments and languages for novice programmers”
Greenfoot (greenfoot.org, http://kar.kent.ac.uk/30614/) is released. It is a Java-based micro-world framework based on pedagogical principles and a constructivist approach. Still supported and active today, with very active teacher (http://greenroom.greenfoot.org) and user (http://www.greenfoot.org/home) communities.
Formation of CSTA by ACM
2000-2004 Out of the Loop Research Project: Why are So Few African American, Latino and Female Students Learning Computer Science? NSF awarded four years of funding to Jane Margolis for research to be conducted in LA public schools to investigate this research question. Research methods included interviews with students, teachers, and administrators and classroom observations.
** Somewhere in here is CS4HS beginnings
2004 Founding of NCWIT (National Center for Women & Information Technology)
2006 Jeannette Wing’s article on “Computational Thinking” is published in the Communications of the ACM. http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf
2005 - Bootstrap launches in Dorchester, MA, teaching students to design their own video games using functional programming as a vehicle for algebra instruction. Bootstrap builds on decades of work from Program by Design, adapting their pedagogical principles to younger audiences and adding explicit connections to algebra, word problems, and research-based practices from the fields of Cognitive Science and Math Ed. Bootstrap aims directly at students who traditionally struggle with algebra, with a unique alignment to mathematics at the language, project, and pedagogical level. After receiving funding by Microsoft, Google, Jane St. Capital, TripAdvisor and the National Science Foundation, Bootstrap grows to reach hundreds of teachers across the US and overseas. The program now partners with school districts across the country, and math teachers have found student significant gains on traditional algebra assessments.
2005 - National Science Foundation forms the Broadening Participation in Computing (BPC) solicitation, which funded several major alliances from 2006-2009, with the purpose of increasing the number and diversity of college graduates in computing. This effort also started two major trends in computer science education funding: Funding K-12 efforts and making broader impacts a first level design constraint. This spawned projects such as ECS (Exploring Computer Science) and Animal Tlatoque. Such projects used culturally relevant computing to connect computing to subjects students cared about. Animal Tlatoque, aimed at middle school students, found that an outreach camp with computer science as an equal partner with other subjects (animals, Mayan culture, and storytelling) could attract students not already interested in computing and provide a positive, stimulating learning environment.
2005 - Invented and incubated by the World Wide Workshop in 2005, and launched as beta in the spring of 2006, Globaloria is the first-of-its-kind K-12 learning platform with courses for teaching kids how to design and code educational games and interactive simulations (web/mobile). Globaloria has successfully served thousands of students and educators since its inception in 2005. Globaloria technology and content are designed to cultivate engagement in STEM and Computing learning among students on a large scale, and has won many awards and shown unparalleled success among schools in rural and urban communities of varied socioeconomic status.
Globaloria provides a rigorous, turnkey, blended learning solution for STEM and computer science education, comprised of a customizable digital platform and comprehensive course offerings. Globaloria courses each provide a 40-100 hour game-design curriculum using industry-standard tools, a customized learning platform with dynamic backend and learning management systems, programming and design tutorials, coaching by educators and industry experts, live and digital support systems, and onsite and online educator professional development—all within a vibrant social learning community.
Globaloria is designed for academic success. Through project-based learning, students are empowered to drive their own design and learning-by-doing processes to master coding and computer science. Educators engage in virtual and in-person training academies, and ongoing self- and peer-to-peer learning and mentoring, to become empowered to lead a STEM-rich, blended classroom, delve into coding and computer science, and transform their teaching styles to be more collaborative and transparent.
Globaloria can be implemented in various formats: as individual courses or a comprehensive cumulative program as part of a regular school day for a grade and credit; integrated into an existing core curriculum or elective class, or as a stand-alone course. Globaloria can also be implemented within afterschool activities or summer camps. Many principals and organizational leaders use Globaloria as a project-based vehicle to “STEM” their organizations and faculty.
The key outcome of Globaloria courses (in any implementation format) is that each student successfully learns to take an idea from invention to completion, and to collaborate with peers to design, research, code, program and publish an original educational game (web/mobile). Along the way, students also master global thinking, social media tools such as blogs and wikis, and the skills required to document, chronicle, and co-learn as active members of an online learning community. Student games are celebrated in the Globey Game Design Competition, a curricular component that motivates students to pace through complex problem-solving and reach excellence and effective teamwork, as well as share their progress and products with their larger community.
Research has shown Globaloria educates students in technical and computational skills and content knowledge that results in improved academic performance and increased Constructionist and digital learning abilities; preparing them for college-level studies, digital citizenship and careers in the global knowledge economy. If coding is the new literacy, then Globaloria is the way to become literate.
"GLOBAL-OR-IA" - GLOBAL ExplORations with MedIA; Skills for Global Knowledge Workers
2005 Caitlin Kelleher and Randy Pausch put together a catalog of programming environments for novices that have been developed since the 1960s.
2004-2008 Into the Loop Alliance was formed to address the research findings from Out of the Loop. The focus was on the expansion of AP CS throughout the District with a focus on increasing access for African American and Latino students in low-resourced schools.
2006 - Wintriss Technical Schools, http://www.wintrisstech.org (a 501(c)(3) non-profit, public benefit institution) opened a classroom in San Diego teaching professional level Java to kids starting in the 5th grade using volunteer Java professionals as teachers. As of 2014, the after-school program has 65 kids in once-a-week, after school classes. So far, 15 kids have passed the CS AP exam...one in the 7th grade. Two students have passed the Oracle Professional Certification Exam...one in the 10th grade. The school sponsors the annual iARoC robot competition (International Autonomous Robot Competition) in San Diego.
2006, Georgia Computes! attempts to change an entire state’s computing education pipeline, from middle school to high school to undergraduate. It was most successful at the high school level, where many schools were involved in GaComputes (e.g., sent teachers to PD, used our curriculum) and those schools sent significantly more women and under-represented minorities to undergraduate CS. GaComputes was able to impact policy in the state, which was one of its more sustainable and long-lasting impacts. It was least successful at the undergraduate level where faculty were resistant to change their curriculum in order to recruit and retain more diverse students. Overall, Georgia Computes! showed that broad reaching change is possible and can be successful, even at the scale of a whole state.
2006: Artbotics program is initiated, supported by the National Science Foundation. Artbotics combines art, computer science, and robotics to create interactive, kinetic sculptures. The goals of the program are to increase the participation of women and minorities in computing through the use of innovative and interactive technologies, broaden student understanding of the field of computing, build community with mentoring opportunities for students. The initial pilot program is launched through a collaboration with The Revolving Museum and saw 7 students work on two large scale Artbotics projects over the summer, using the Cricket microcontroller as the robotics platform. The program later took the form of after school high school programs run at The Revolving Museum, college courses out of UMass Lowell, educator workshops, and week-long camps for middle school students. http://artbotics.org/
2006: Ron Eglash, Audrey Bennett, Casey O’Donnell, Sybillyn Jennings, and Margaret Cintorino publish “Culturally Situated Design Tools: Ethnocomputing from Field Site to Classrooms” in American Anthropologist. This research suggests that when culturally inspired designs such as African-American cornrow hairstyles and Native American beadwork are built into educational computing technology, youth are offered new ways to explore the relationships between their own identities, heritage, and the computational medium. These early CSDTs are the basis for the drag-and-drop visual programming environment CSnap, an offshoot of Berkeley’s SNAP!
2007: Dr. Idit Harel launches My Science Life: A Social Network for Science and Technology Learning as an innovative program for schools globally offered by World Wide Workshop and Schlumberger-SEED. MySLife was designed as a virtual social-learning network for learning how to design, code, and publish animated illustrations, simulations, and sim-games (programmed in Flash/Actionscript) about Global Climate and Energy. By conceptualizing original animations and games to teach others about these topics, students deepen their own science knowledge and mastered computer science skills. The platform facilitated communication among learners, and the sharing of programming knowledge bottom-up, top-down, and peer-to-peer. Students and teachers from SEED schools in Trinidad, Malaysia, Saudi Arabia, and Russia have joined Schlumberger adult volunteers from all around the world online, to form a learning community of mastering STEM and computer programming skills. Almost every continent and time zone was represented. Participants had a wide range of technical skills, science knowledge, and English proficiencies. This unique global collaboration was offered in traditional K12 schools, but was not like any typical school course. There wasn’t a traditional teacher who runs the class; instead, Facilitators were virtually-trained to be a highly-motivated co-learners, and they completed this course along with the students. Through use of digital dashboards, tutorials and online mentoring, Facilitators fostered communication, highlighted good work, and inspired students to do more self-learning online. It was the birth of a blended-learning model for STEM and computing education.
2007: Lifelong Kindergarten group at MIT Media Lab launches Scratch programming environment and online community (scratch.mit.edu). Scratch has served as the inspiration and basis for many other block-based programming languages. See article “Scratch: Programming for All” in Communications of the ACM (2009).
2007 NCWIT Aspirations in Computing award launched.
2007 (Feb) ACM launches its Education Policy Committee charged with focusing on public policy issues in science and math education relevant to computing and computer science. The purpose of the Committee is to develop policy positions and educate policy makers – with the goal of improving the opportunities for quality education in computing and computer science. The committee’s initial scope was focused on the US and K-12 CS education. The committee helped Congress create the Congressional Resolution that recognized the first Computer Science Education Week and brought together the initial set of partners for the effort, funded and led ACM/CSTA’s Running on Empty study, and helped launch Computing in the Core.
2007. Openblocks (a standalone Java implementation of programming blocks) are separated from StarLogo TNG and released as an independent component to be used by other projects (by MIT Teacher Education Program). These became the basis for the visual programming language in the first edition of App Inventor. Ricarose Roque (2007) releases thesis describing use cases.
2007. Project GUTS initiated at Santa Fe Institute.
2008, Randy Pausch, founder of the Alice Project, died of pancreatic cancer. Alice is being used in many elementary schools and high schools to teach storytelling, animation, and game-design through computer programming. Much of this effort was (and continues to be) spearheaded by Steve Cooper and Wanda Dann; both of whom also co-authored ‘Learning to Program with Alice’ with Randy Pausch. Randy is also known for his “Last Lecture” given at Carnegie Mellon on September 18, 2007 (http://www.cmu.edu/randyslecture/).
2008 Stuck in the Shallow End: Education, Race, and Computing by Jane Margolis was published.
2008-2010 Creation of the partnership with LAUSD, creation of the ECS curriculum and PD program. Focus on equity.
2008 - The NSF launches the Computing Education for the 21st Century program. Part of this program is the CS10K effort driven by NSF’s Jan Cuny, to add 10,000 new computer teachers to 10,000 high schools in the US public education system. Two major projects under this program include the development of two new CS high school courses: Exploring Computer Science (ECS) from Into the Loop, and Computer Science Principles from the College Board.
2008-2010: The Disciplinary Commons is a teacher professional learning effort invented by Sally Fincher (U Kent-Canterbury) and Josh Tennenberg (U.Washington-Tacoma). The model is adapted by Briana Morrison, Lijun Ni, and Allison Elliott Tew to support high school teachers. Their Disciplinary Commons for Computing Educators (DCCE) had a dramatic improvement (over 300%) in recruitment of high school students by the teachers in the program. Ni’s thesis described the development of a CS teacher identity by the most successful of these teachers, who went on to become leaders in their local CSTA chapters. The DCCE stands out as one of the most measurably effective professional development programs in the early years of the US CS education movement.
2009: Communications of ACM (CACM) publishes cover story about Scratch (bit.ly/scratch-CACM).
2009: Launch of ScratchEd website/community for educators working with Scratch (scratched.gse.harvard.edu). By 2014, the community grew to more than 13,000 educators around the world.
2009: The first Scratch Day, with Scratch enthusiasts coming together to meet, share, and learn about Scratch. By 2017, Scratch Day expanded to 1200 events in 70 countries.
2009 - TEALS (Technology Education and Literacy in Schools) is launched. TEALS is a grassroots volunteer program that recruits, trains, mentors, and places high tech professionals from across the country who are passionate about CS education into high school classes as volunteer teachers in a team teaching model where the school district is unable to meet their students’ CS needs on its own. TEALS works with committed partner schools and classroom teachers to eventually hand off the CS courses to the classroom teachers. The school is then be able to maintain and grow a sustainable CS program on their own. Founded by Kevin Wang, by 2014 TEALS has reached 130 schools in 18 states with 490 volunteers teaching 6,600 students.
2009 - The Scalable Game Design project systematically explores how to bring computer science education to public schools at scale. The Scalable Game Design (SGD) strategy motivates students initially through game design and then advances to the creation of science simulations employing a framework called Computational Thinking Patterns and computational thinking tools such as AgentSheets and AgentCubes. SGD has become the largest US middle school CS education study of its kind with over 10,000 participants from inner city, remote rural and Native American communities. Novel instruments including the Computational Thinking Pattern Analysis have been developed to measure the transfer of computational thinking concepts from game design to simulation creation. The project is funded through large NSF grants (ITEST strategy, CE21 Type II, ITEST Scale Up) and organizations such as Google.
2009 - The New Image in Computing Study geared toward investigating decline in interest in CS found that “most college-bound males have a positive opinion of computing and computer science as a possible college major or career” while “college-bound females, regardless of race and ethnicity, are significantly less interested than boys are in computing”. This led to the creation of Dot Diva to help change the messaging about computing and CS education for girls.
2009 - Following the May 2009 Exam, the AP Computer Science AB exam was discontinued, leaving AP Computer Science A as the only AP Exam featuring computer science.
2009: Every year since 2009, Globaloria students participate in the Globey Awards, a game design and coding competition that is the culmination of the year-long Globaloria program. The Globey Awards celebrate excellence in game design process and teamwork, and motivate students to dig deeper in their computational learning, while developing real-world skills using industry-standard programming languages and software engineering tools. Students work on their projects throughout the school year and submit to the competition at the end of the Spring Semester. Students compete against others in their own geographic region. The student winners are selected by an expert panel of industry game designers and STEM innovators. The winners will be announced during the summer on July 30th, and will receive certificates and prizes sponsored by our partners around the nation.
2010 -- Running on Empty (authored by Cameron Wilson, Leigh Ann DeLyser (Previously Sudol), Chris Stephenson, and Mark Stehlik) released by the Association for Computing Machinery (ACM) and the Computer Science Teachers Association (CSTA). This report was the first major report to review the state of computer science from a statewide perspective in each of the 50 states. The report found that only 9 states had graduation requirements that treated computer science as a core graduation requirement and most state standards were focused on teaching students how to use technology instead of how to create it. The recommendations deeply influenced advocacy within the community, Computer Science Education Week, and the subsequent “Make Computer Science Count” campaigns.
2010 - Computing in the Core launched by ACM/CSTA/Microsoft/Google/NCWIT and other partners in the community. It was the first major effort to bring a coalition of non-profits and the tech industry together in common cause in advocating for K-12 computer science education.
The group championed the first federal legislation ever focused specifically on K-12 CS, the Computer Science Education Act, education introduced in House of Representatives. The legislation did not pass, but was served as the community’s advocacy marker to push K-12 computer science efforts into other legislation such as the reauthorizations of the Elementary and Secondary Education Act, Perkins, and COMPETEs.
2009-2015 - CSEdWeek
Computer Science Education Week (CSEdWeek) is a call to action that raises awareness about the need to elevate computer science education at all levels and to underscore the critical role of computing in all careers.
The first CSEdWeek was launched by ACM on December 6 - 12 2009. It was a joint effort led and funded by ACM with the cooperation and deep involvement of CSTA, NCWIT, the National Science Foundation (NSF), the Anita Borg Institute (ABI), the Computing Research Association (CRA), Google, Inc., Intel, and Microsoft. ACM’s Education Policy Committee worked closely with Congressmen Vernon Ehlers (R-MI) and Jared Polis (D-CO) to introduce a Congressional Resolution recognizing the first CSEdWeek. Congressman Ehlers introduced the resolution after being alerted to declining enrollments in computer science studies by Professor Joel Adams of the Department of Computer Science at Calvin College. The intent is that CSEdWeek will be celebrated each year during the week of Grace Hopper’s birthday on December 9.
CSEdWeek became an activity of the Computing in the Core (http://www.computinginthecore.org/, a non-partisan advocacy coalition of associations, corporations, scientific societies, and other non-profits that strive to elevate computer science education to a core academic subject in K-12 education) when it launched in 2010. In the initial years, CSEdWeek was steered by the Executive Committee of Computing in the Core, with a rotating chair appointed by the Committee to coordinate the activities of the week.
ACM and NSF funded the 2nd annual CSEdWeek Chaired by Deborah Richardson. Other partners included Microsoft, Google, CSTA, NCWIT, IEEE Computer Society, CRA, College Board, ABI, SAS, NCTM, NSTA, NMSI, Intel, Oracle, WGBH and DARPA.
Whereas that first CSEdWeek was primarily focused on policy issues and policy makers, organizers recognized the goal of moving computing into the core of K-12 education could better be achieved with a wide variety of stakeholders on board. Thus, CSEdWeek 2010, Chairwoman Debra Richardson sought to make CSEdWeek 2010 targeted at broader audience: K-12 students; K-12 computer science teachers and non-CS K-12 teachers; parents of K-12 students; community organizations affiliated with K-12 aged students; administrators and counselors in the K-12 community; students, faculty and staff in higher education; and CS&IT industrial organizations and their corporate professionals. CSEdWeek 2010 achieved the goal of engaging students and teachers as well as the computing community at large with a wide diversity of events and activities held around the world to advocate for computer science education.
Since 2010, CSEdWeek has continued to grow. In 2012, Computing in the Core appointed Ruthe Farmer as the 2nd Chair of Computer Science Education Week. Through her efforts, CSEdWeek expanded in reach and partners participating in activities during the week.
In July of 2013, the Computing in the Core coalition members agreed to allow Code.org to organize that year’s CSEdWeek week around a new idea and theme, the “Hour of Code.” At the time, this fledgling idea showed a lot of promise, and Code.org was willing to provide the operational support and a tenfold increase in funding in order to grow the week from hundreds of events reaching thousands of students, instead aiming for tens of thousands of events reaching millions of students. That year, the first “Hour of Code” themed CSEdWeek reached over 15 million students and over 35,000 events across 167 countries.
In January of 2014, the executive committee of Computing in the Core (ACM, CSTA, NCWIT, IEEE-CS, Google, and Microsoft) voted unanimously to maintain the Hour of Code theme as the centerpiece of the week, and for Code.org to continue shepherding this open grassroots celebration of computer science.
One year later, in January of 2015, the Hour of Code reached 100 million “hours served,” making the Hour of Code and CS Education Week the largest education campaign in history.
Computer science is, of course, not all about coding and many other CSEdWeek activities have focused on other aspects of computer science to raise awareness. An activity of CSTA was a “Faces of Computing” student poster contest. Over 640 posters created by students in eight countries and 25 U.S. states were entered. The creativity and design process that went into making this collection of posters was phenomenal. CSTA also provides resources for many activities that schools and teachers can use in their classrooms during CSEdWeek, including daily audio and video announcements celebrating the contributions of computer science and encouraging students to pursue computer science as an educational pathway and career.
As part of its many CSEdWeek activities, the Computer Science Teacher’s Association, along with Code.org, launched change.org petitions in each state in the U.S. to “Make CS Count”. Computer science is not considered to be part of the core academic subjects, and despite recent changes in a number of states, computer science courses still count as an elective credit rather than as a rigorous academic credit (math or science) in half the country. CSTA’s goal is to enable students to count a rigorous CS class (usually AP CS) as a high school graduation and/or college admission requirement, both of which lead to greater incentive for high school students to take computer science.
2010 Allison Elliott Tew develops the first reliable, valid, and language-independent test of introductory CS knowledge. Her pseudo-code based test measures learning accurately across Java, Python, and MATLAB CS1 students. A remarkable side outcome of the development of her test is that Java, Python, and MATLAB students answer open-ended questions wrong in the same way -- the most common wrong answers were the same across languages, suggesting that there is a core of CS knowledge that does transfer across languages even at the introductory level.
2010 Google releases App Inventor, an application enabling students with little or no programming experience to build simple, engaging mobile apps for Android devices. It uses a drag and drop web-based interface for UI design and a blocks-based visual programming language (implemented via Openblocks) for specifying program behavior. It has a high-level component architecture an easy to use event-based programming model. It also has a unique live-programming mechanism which allows for instant viewing and testing of the app on the user’s device (or emulator) as the app is being built.
2010: Iridescent, a STEM education nonprofit launched the Technovation Challenge to inspire young girls to become technology entrepreneurs. High school girls worked in teams of 3-5 under the mentorship of professional women in technology, to develop Android mobile apps to solve problems in their community -- and launch a startup. The curriculum focused on using App Inventor to create the mobile apps and the Lean Startup methodology (developed by Eric Ries) for the entrepreneurship aspect. The goal was not just CS education, but to help girls develop their sense of self-efficacy as leaders, especially in the field of technology.
2010: The College Board begins piloting the Computer Science Principles (CSP) course in colleges (with support from the NSF). The following year, the course is piloted for the first time in high schools. CSP launches as an AP course in 2016-2017.
February 2011 - ACCESS (formerly known as CCEAN)
The California Computing Education Advocacy Network (CCEAN) was formed as a volunteer organization in 2011 to advocate for state level policy changes in computer science education in California. The idea originated at the first NSF Computing Education in the 21st Century (CE21) community meeting in New Orleans. The initial steering committee members were Debra Richardson (chair), Jane Margolis, Joanna Goode, Gail Chapman, Dan Lewis, Chris Stephenson and Ignatios Vakalis. CCEAN was later renamed the Alliance for California Computing Education for Students and Schools (ACCESS). ACCESS is a statewide network of computer scientists, K-12 teachers, professors from community colleges through universities, educational policy advocates, and related industry professionals dedicated to providing all California K-12 students with high-quality computer science education, ensuring access to all students, specifically for traditionally underrepresented students including girls, low-income students and students of color.
ACCESS was funded by NSF in October 2012 as part of the Expanding Computing Education Pathways (ECEP) Alliance, with California as a partner state and Debra Richardson as the California PI. ECEP builds on five years of work by the Commonwealth Alliance for IT Education (CAITE) and Georgia Computes! in the community of Broadening Participation in Computing (BPC) Alliances. UCIrvine hired Julie Flapan to serve as ACCESS (and ECEP) Executive Director in June 2013.
Many computing environments move entirely online allowing for easier deployment to schools, classroom management and community building including AgentCubes online, Scratch, App Inventor, StarLogo Nova, etc.
In August 2011, Zach Sims and Ryan Bubinski launch Codecademy, finding more than 200,000 new users in their first three days online.
2011 - App Inventor is open sourced and its management and core development is moved from Google to MIT.
2012/2013 Shuchi Grover, along with Stanford doctoral advisor Professor Roy Pea, takes a fresh look at the second coming of computing in K-12 (or the post-Wing article era) and authors a review of the state of the field in AERA’s Educational Researcher.
The space explodes with new “coding” organizations, for-profit or non-profit:
In May 2012, two Stanford CS teaching assistants, Jeremy Keeshin and Zach Galant, launch CodeHS to make it easier for high schools to teach computer science classes by providing a web-based curriculum and teacher tools. The course is introduced with Karel the Dog, a variant of the Karel educational programming language.
ECS, started in LAUSD, expanding like wildfire in large urban school districts with a focus on equity. LAUSD, Chicago, DC, San Jose, Utah, ……..
Project Lead the Way added CS training to their program.
2012+ saw an explosion in “learn to code” for-profit bootcamps, such as devbootcamp, General Assembly, and CodeFellows, as well as nonprofit workshops that offer free lessons or hackathons: Iridescent Learning, GirlsWhoCode, Black Girls CODE (Founded in 2011), GirlDevelopIT, CodeNow, Tech Corps, NCWIT AspireIT MS program , StudentRND, CodeDay
2013 - A new generation of computational thinking tools such as AgentSheets goes beyond drag and drop with Conversational Programming. AgentCubes online and StarLogo Nova combine drag and drop programming with 3D modeling in a browser to create 3D web programming.
In February, 2013, Code.org launched with the release of its “What Most Schools Don’t Teach” video to bring the support of celebrities and tech founders to the CS ed movement.
In March 2013, the ALICE programming team revealed Alice v3.1
2012: The Artbotics program is funded by the National Science Foundation as part of the Expanding Computing Education Pathways (ECEP) Alliance, part of the Broadening Participation in Computing program, to expand its curriculum to be used with Lego Mindstorms. Artbotics materials have since been adapted to work with both Lego Mindstorms NXT and EV3, taking advantage of the fact that thousands of these kits are already used in classrooms around the world, lowering the bar for entry to use Artbotics be removing the need (for many) to purchase new technology. These materials have been used by many educators in their classrooms as part of an existing class or taking the form of an after school club or program. http://artbotics.org/lego
In June 2012, Tynker was launched to inspire kids to learn to code on their own, becoming the first visual programming language built on HTML5 and open web standards. Tynker’s platform combined visual programming with a physics engine, empowering kids to create compelling games, interactive stories, and math art. Tynker also introduced a grade-specific programming curriculum for schools with built-in tutoring, automatic assessment, and classroom management tools. This enabled teachers with no programming experience to introduce kids to coding, and use programming as a medium for Project Based Learning. Later in 2013 and 2014, Tynker launched online courses with an immersive storyline, game-like learning environment and built-in tutoring, to motivate kids to learn coding on their own at home and build a digital portfolio of creations outside the school environment. In March 2014, Tynker’s coding puzzles were released on the iPad and as an Android app so kids could enjoy the immersive story-driven learning experience on multiple platforms without internet connectivity.
May 2013: MIT Media Lab launches Scratch 2.0, integrating Scratch programming environment and online community in the cloud (scratch.mit.edu). By later in the year, young people are posting more than 10,000 projects and more than 30,000 comments every day.
Summer 2013: ScratchEd Team at Harvard Graduate School of Education launches Creative Computing Online Workshop (CCOW) for educators who want to learn more about using Scratch and supporting computational thinking in the classroom and other learning environments (creative-computing.appspot.com)
Summer 2013, Pencil Code launches, a web-based tool inspired by Logo for teaching using CoffeeScript, turtle graphics, and jQuery.
Summer of 2013, Code.org, Computing in the Core and its advocacy partners, with strong support from Microsoft launch the “Make Computer Science Count” campaign at the National Governors Association summer meeting in Milwaukee. The campaign advocated for states to adopt policies that allowed computer science to satisfy a mathematics or science requirement for graduation. The effort grew with CSTA’s support of launching state-based petitions supported by advocates in the community in November 2013 in connection with the Computer Science Education Week and the Hour of Code campaign. Before this effort only 14 states and DC allowed a CS course to count toward core graduation requirements. Now 26 states and DC count CS towards a math and/or science graduation requirement, and five other states have relevant change in the pipeline.
November 2013: Catrobat launches Pocket Code (initially for Android smartphones). Pocket Code is inspired by Scratch, is free open source software developed by 300 volunteers from 25 countries (since 2014 in cooperation with MIT’s Scratch team), and is the only visual programming language that runs both on smartphones as well as on tablets and where kids do not need a PC or laptop to be able to code. Since 2015 the European Union funds the 3.3 million Euro research project “No One Left Behind” that aims at redesigning Pocket Code for teenage girls as well as other groups usually underrepresented in computer science. Pocket Code supports Lego Mindstorms robots, Arduino via Bluetooth, all sensors of the phones, the full screen resolution, multi-touch, face detection, as well as many other features (NFC, translated to more than 20 languages, …).
In Dec 2013, Code.org brought together 100+ partners behind the Hour of Code campaign, recruited 20 million students and 40,000 teachers to try an hour of computer science in regular classrooms during CS Ed Week. Code.org continues to support policies that promote CS education in states and holds professional development for K-12 teachers nationwide.
In July 2014, CodeHS launches an online professional development course teaching teachers to teach computer science. Teachers learn basic programming and how to teach basic concepts, equity issues in CS, debugging, and how to lead a blended classroom.
Summer 2014: MIT Media Lab and Tufts University release ScratchJr, a version of Scratch designed for 5-7 year olds. The user interface and programming language were redesigned to make them developmentally appropriate for younger children, matching young children's cognitive, personal, social, and emotional development.
Summer 2014: The ScratchEd Team at Harvard Graduate School of Education publishes the Creative Computing curriculum guide (http://scratched.gse.harvard.edu/guide/)
Summer 2014, LaPlaya released, a version of Scratch designed for 8-11 year old students. Specifically, the IDE and language adjusted to meet students’ developmental level by simplifying the interface, adjusting the math concepts necessary to not depend on 4th-6th grade concepts, and provide alternates for concepts found difficult in empirical experiments.
Summer 2014 KELP CS Module 1, revision 2 released for wide-scale use. This curriculum combines skill-building exercises (similar to Code.org) with open-ended, creative play (similar to Scratch). Students design and implement a digital story with an engineering design-thinking curriculum as they complete fun skill-building activities necessary for the project.
2014 - NSF merges the CE21 program with the MSP (Math Science Partnerships) program to begin the new STEM+C program. This solicitation requires computing to be incorporated in any new Math Science Partnership grant and increases the amount of funding available to K-12 Computer Science research and projects.
2014: Technovation (in collaboration with Google) released the first set of longitudinal survey data studying the impact of CS education interventions on changes in long-term behavior of its participants. 70% of alumnae took further CS courses when given the opportunity, 70% of alumnae were more interested in entrepreneurship and most importantly 46% of college-age alumnae intended to major in CS.
2016: The CSforALL Consortium was launched in September 2016 with the advisement and support of a steering committee that included the Association of Computing Machinery (ACM), the College Board, the Computer Science Teachers Association (CSTA), and the National Center for Women & Information Technology (NCWIT).
 Klahr, D. and Carver, S.M. (1988). Cognitive objectives in a LOGO
debugging curriculum: Instruction, learning, and transfer. Cognitive
Psychology, 20, 362-404.