michael stewart - paving the way for computational thinking · paving the way for ct “when we can...
TRANSCRIPT
Computational Thinking
What are The Fundamentals?
!1Michael Stewart http://people.cs.vt.edu/tgm
Michael Stewart http://people.cs.vt.edu/tgm
• Charlotte, NC • • •
• Teaching Fellow • Media Comp
Instructor • Engr Ed Cert • • Master’s •
Michael Stewart
!2
Michael Stewart http://people.cs.vt.edu/tgm
Full Disclosure• Participant-Investigator for NSF Award: 1132227 -
CE21 Planning Grant: Integrating Computational Thinking into Middle School Curriculum
• Astronomical Proportions
• CritiSearch
• Sound of Fractions
!3
Michael Stewart http://people.cs.vt.edu/tgm
Computational Thinking
Computational Thinking is to be able to think explicitly about process, abstraction, and representation, and to understand the manifestations of these concepts in our everyday l i fe. A crit ical notion to this understanding requires we reflect on how we are affected by the computational artifacts with which we do/must interact.
!4
Michael Stewart http://people.cs.vt.edu/tgm
Outline
1. Guzdial and Media Computation
2. Please don’t all go out and learn to program
3. Dev. Comp. Think in Middle Schools… politicized
!5
Michael Stewart http://people.cs.vt.edu/tgm
Mark Guzdial
• Georgia Tech
• ACM Education Council
• Computer Science Education
• University
• High Schools (CS AP)
• Media Computation
!6
http://photo.joshdweiss.com/2011/11/10/portrait-mark-guzdial-wsj/
Michael Stewart http://people.cs.vt.edu/tgm
Media Computation• Learn programming by doing
interesting things
• Manipulate images easily
• Manipulate sounds
• Manipulate text
!7
https://github.com/thegreatm
ichael/Media-C
omputation-Exam
ples/tree/master/m
aroonEffect
Michael Stewart http://people.cs.vt.edu/tgm
Paving the Way for CT• Developing approaches that
will work for all students
• “‘Computational Thinking’ a 21st century literacy that we can share across campus”
• “Commonsense Computing”
• Writing vs. Reading/Fixing
• Teach everyone Programming
!8
V viewpoints
AUGUST 2008 | VOL. 51 | NO. 8 | COMMUNICATIONS OF THE ACM 25
DOI:10.1145/1378704.1378713 Mark Guzdial
Education Paving the Way for Computational ThinkingDrawing on methods from diverse disciplines—including computer science, education, sociology, and psychology—to improve computing education.
T EACHING EVERYONE ON cam-pus to program is a noble goal, put forth by Alan Per-lis in 1962. Perlis, who was awarded the first ACM A.M.
Turing Award, said that everyone should learn to program as part of a liberal education. He argued that pro-gramming was an exploration of pro-cess, a topic that concerned everyone, and that the automated execution of process by machine was going to change everything. He saw program-ming as a step toward understand-ing a “theory of computation,” which would lead to students recasting their understanding of a wide variety of top-ics (such as calculus and economics) in terms of computation.4
Today, we know that Perlis was pre-scient—the automated execution of process is changing how profession-als of all disciplines think about their work. As Jeanette Wing has pointed out, the metaphors and structures of computing are influencing all areas of science and engineering.6 Computing professionals and educators have the responsibility to make computation available to thinkers of all disciplines.
Part of that responsibility will be met through formal education. While a professional in another field may be able to use an application with little training, the metaphors and ways of thinking about computing must be explicitly taught. To teach computa-tional thinking to everyone on campus
may require different approaches than those we use when we can assume our students want to become computing professionals. Developing approaches that will work for all students will re-quire us to answer difficult questions like what do non-computing students understand about computing, what
will they find challenging, what kinds of tools can make computational think-ing most easily accessible to them, and how should we organize and structure our classes to make computing acces-sible to the broad range of students.
Through a few brief examples, I will show in this column how these
IL
LU
ST
RA
TI
ON
BY
CH
RI
ST
OP
HE
R S
IL
AS
NE
AL
1_CACM_V51.8.indb 25 7/21/08 10:12:49 AM
Michael Stewart http://people.cs.vt.edu/tgm
Paving the Way for CT
“When we can teach every student programming and the theory of computation in a way that makes sense to them for their discipline, we will see how ubiquitous understanding of computing will advance the entire academy, just as Perlis predicted over 45 years ago.”
!9
For All
[emphasis added]
Michael Stewart http://people.cs.vt.edu/tgm !10memegenerator.netMichael Stewart http://people.cs.vt.edu/tgm
Michael Stewart http://people.cs.vt.edu/tgm
What other hats do you wear?
• CS as Mathematician
• CS as Humanist
• CS as Performing Artist
• CS as Musician
• CS as Natural Scientist
• CS as …
!11
What CT (CS) helps you, that might distinguish you from
other colleagues? http://upload.wikim
edia.org/wikipedia/en/c/c1/The_500_hats_of_bartholom
ew_cubbins.jpg
Michael Stewart http://people.cs.vt.edu/tgm
What can CT offer our undergrads?
• Engineers
• Business
• Architecture and Design
• Agricultural
!12
Michael Stewart http://people.cs.vt.edu/tgm
FUTURE TENSE WHAT'S TO COME?
AUG. 19 2013 7:45 AM
Maybe Not Everybody Should Learn to CodeA software engineer’s take on the new education call to arms.By Chase Felker
(Continued from Page 1)
But if you aren’t dreaming of becoming a programmer—and therefore planning to embark on
a lengthy course of study, whether self-directed or formal—I can’t endorse learning to code.
Yes, it is a creative endeavor. At its base, it’s problem-solving, and the rewards for exposing
holes in your thinking and discovering elegant solutions are awesome. I really think that some
programs are beautiful. But I don’t think that most who “learn to code” will end up learning
anything that sticks.
One common argument for promoting programming to novices is that technology’s
unprecedented pervasiveness in our lives demands that we understand the nitty-gritty details.
But the fact is that no matter how pervasive a technology is, we don’t need to understand how
it works—our society divides its labor so that everyone can use things without going to the
trouble of making them. To justify everyone learning about programming, you would need to
show that most jobs will actually require this. But instead all I see are vague predictions that
the growth in “IT jobs” means that we must either “program or be programmed” and that a
few rich companies want more programmers—which is not terribly persuasive.
You could argue that people have an obligation to be responsible consumers, so they should
have an idea of what their proprietary software is doing. People would definitely interact with
software differently if they knew something about whether their personal data is “secure.” But
there are several other things that everyone should—and does not—know, such as civic
knowledge or even more basic understandings of other educational topics like logic, science,
etc. For most, software is just another black box that they will happily coexist with, and that’s
OK.
11/12/13 Coding Horror: Please Don't Learn to Code
www.codinghorror.com/blog/2012/05/please-dont-learn-to-code.html 1/36
programming and human factorsby Jeff Atwood
Please Don't Learn to Code
May 15, 2012
The whole "everyone should learn programming" meme has gotten so out of control that the mayor of NewYork City actually vowed to learn to code in 2012.
A noble gesture to garner the NYC tech community vote, for sure, but if the mayor of New York City actuallyneeds to sling JavaScript code to do his job, something is deeply, horribly, terribly wrong with politics in thestate of New York. Even if Mr. Bloomberg did "learn to code", with apologies to Adam Vandenberg, I expectwe'd end up with this:
10 PRINT "I AM MAYOR"
20 GOTO 10
Fortunately, the odds of this technological flight of fancy happening – even in jest – are zero, and for goodreason: the mayor of New York City will hopefully spend his time doing the job taxpayers paid him to doinstead. According to the Office of the Mayor home page, that means working on absenteeism programs forschools, public transit improvements, the 2013 city budget, and … do I really need to go on?
To those who argue programming is an essential skill we should be teaching our children, right up there withreading, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his
day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder? Itis obvious to me how being a skilled reader, a skilled writer, and at least high school level math arefundamental to performing the job of a politician. Or at any job, for that matter. But understanding variablesand functions, pointers and recursion? I can't see it.
Look, I love programming. I also believe programming is important … in the right context, for some people.But so are a lot of skills. I would no more urge everyone to learn programming than I would urge everyone tolearn plumbing. That'd be ridiculous, right?
(HTTP://WWW.FASTCOMPANY.COM)No--You Don’t Need ToLearn To CodeThe whole world seems to be telling you that you need
to learn programming. Here’s why you don’t--and
what you should learn instead.By Ciara Byrne(/user/ciara-byrne)
Imagine being harangued by a deluge of articles
with headlines like “Why everyone should learn
to knit.(http://venturebeat.com/2012/09/17/why-
everyone-should-code/)” With all due respect to
knitters, it would seem ridiculous. Yet the
rallying cry to learn to code has become so
pervasive that we’re barely surprised when a
software developer in New York engages in a
highly publicized attempt(http://gothamist.com/2013/10/14/code_homeless_arrested.php)
to teach a homeless man how to code. New York
Mayor Michael Bloomberg famously(http://www.bbc.co.uk/news/technology-
16440126) told the press last year that even he
planned to take a course on Codecademy, but of
course, you can also get programming tutorials
from Bill Gates or Mark Zuckerberg on Code.org
(http://www.theregister.co.uk/2013/10/15/gates_zuckerberg_to_offer_free_coding_lessons/).
Oddly, even non-technical people like VCs are
urging you to learn to code(http://www.avc.com/a_vc/2013/10/if-you-
arent-technical-get-technical.html).I’m a programmer. Do I think everyone should
learn how to code? No. Here’s why.
10 C0D3, or not to code
!13Michael Stewart http://people.cs.vt.edu/tgm
from the Academ
ic Decathlon in Billy M
adison
Michael Stewart http://people.cs.vt.edu/tgm
Contention over Coding
Growth in IT Jobs
Program or be programmed
Responsible consumers
!14
Programming at the cost of what?
Many things responsible adults should know (but don’t)
One bad programmer creates 2 jobs/yr
Misconceptions about coding and large salaries
Michael Stewart http://people.cs.vt.edu/tgm
Learn Something Else“‘Ars longa, vita brevis,’ meaning ‘The craft is long, Life is short.’ So choose your craft wisely. In the time that you saved by not learning to code, learn to do something you enjoy more.”
“Knowing how to evaluate the privacy bargain we make with tech companies, escape the filter bubble, analyze the values behind a piece of software, verify information you get on Twitter, understand how the Internet is structured or how search and recommendation algorithms work, is probably more valuable in everyday life than writing Python code.”
!15
Michael Stewart http://people.cs.vt.edu/tgm !16memegenerator.netMichael Stewart http://people.cs.vt.edu/tgm
Michael Stewart http://people.cs.vt.edu/tgm
• Guidelines toward iterative development of CT
• not a definition of CT
• Activities that further core subject
• Participatory Design
*DRAFT* Please do not cite or copy without permission of first author *DRAFT*
1
A Preliminary Report on a Method for Creating Activities
that Integrate Computational Thinking into Middle School
Core-Content Instruction
Deborah Tatar, Steve Harrison, Michael Stewart, Dennis Kafura, Manuel Perez-Quinones,
Clifford A. Shaffer, Lauren Bradel, Stacy Branham, Sharon Chu, Jessica Self
Department of Computer Science
Virginia Tech
{tatar, srh, tgm, lbradel1, sharilyn, kafura, perez, shaffer, jzself}@cs.vt.edu
ABSTRACT
We can increase computational thinking (CT) in K-12 education
by integrating CT activities into core content instruction (e.g.
mathematics, social science, language arts and science). Activity
integration is promising but, by-and-large, English, Math, Sci-
ence and History teachers want to teach their topics, not CT.
Therefore, one challenge is that integrated CT activities must
also serve perceived core content goals. A second challenge is
the need to develop enough activities to have significant impact.
To investigate and bootstrap a process for activity generation,
we taught a combined graduate/undergraduate class at our uni-
versity that paired teams with 8th G teachers in a participatory
design context. This class (1) resulted in interesting projects and
(2) provides evidence for the promise of this approach to gener-
ating activities.
Categories and Subject Descriptors
K.3.2 [Computers and Education]: Computer and Information
Science Education
General Terms
Design, Experimentation
Keywords
Computational thinking, curriculum, pedagogy, middle school
1. INTRODUCTION
It stands to reason that most efforts to increase computational
thinking (CT) in K-12 education do so directly, by implementing
instruction that features computer science or at least the compu-
tational. We are attempting to complement (and compliment!)
those efforts with another approach: integrating CT activities
into instruction in core curricular areas.
On the face of it, this approach has several attractive qualities.
First, it does not require major restructuring of K-12 education
in the United States to accommodate computer science. A day
might come in which instruction in CT (or at least program-
ming) is explicit, widespread and sufficient, but that day is not
yet here. In theory, an integrated approach works with existing
teachers and existing students in the existing educational system.
Furthermore, if the integration of CT is into core curricular are-
as, the integrated approach makes equity central, because all
students, by definition, receive instruction in core curricular
areas. Second, even if or when direct instruction in CT becomes
widespread, further instruction will be required for students to
perceive the widespread applicability of the computational ideas.
The concept “far transfer” in the learning science describes phe-
nomena associated with the problem of how and when learning
in one context can be seen as relevant to problems in another
context [1,4]. Although limited examples of far transfer exist,
they are the exception rather than the rule. Generally speaking, it
is hard mental work to see the applicability of a method to a new
area. Third, arguably, appreciation for the beauty and power of
CT may grow from access to an intellectual substrate that cross-
cuts disciplines. That is, an appreciation for precision, reflection,
iterative processes of improvement, good use of tools, and suc-
cinct expression is important for CT, but also for significant
attainment in any intellectual field. While our main goal may to
teach CT per se, most K-12 students would benefit from any
intervention that increases their engagement with a wide swath
of intellectual practices that are similar to, overlap with, or have
a family resemblance to CT. Our world could use more high
school graduates with more clarity of thought.
Several challenges are intrinsic to an integrated approach to
computational thinking (ICT). These include the fact that the
approach risks asking teachers to teach content that is neither of
particular interest to them, nor central to their professional
charge; that teachers who are not trained in CT and possibly do
not care for it may lose the point; and that the material may ap-
pear in such distributed and opportunistic form that significant
impact on students is vitiated. Additional challenges include
detection of learning and omission of significant bits of CT
through this mechanism. However, these last two issues primari-
ly affect project scope, not actual efficacy.
An additional, more pragmatic, challenge is to create a sufficient
number of small, integrated CT activities for the approach to
have a chance of working. We would not want to commit the
error of trying to evaluate an approach before it is sufficiently
realized. To serve the dual goals of promoting classroom con-
tent area and CT needs, we have created and are refining a social
“engine” for activity generation.
Key features of this social engine are:
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
Conference’10, Month 1–2, 2010, City, State, Country.
Copyright 2010 ACM 1-58113-000-0/00/0010…$10.00.
Awards
Search AwardsRecent AwardsPresidential and HonoraryAwards
About Awards
How to Manage Your AwardGrant Policy ManualGrant General ConditionsCooperative AgreementConditions
Special ConditionsFederal DemonstrationPartnership
Policy Office Website
Award Abstract #1132227 Planning Grant: Integrating Computational Thinking Into Middle
School Curriculum
NSF Org: CNSDivision of Computer and Network Systems
Initial Amendment Date: September 16, 2011Latest Amendment Date: August 13, 2013Award Number: 1132227
Award Instrument: Standard GrantProgram Manager: Janice E. CunyCNS Division of Computer and Network Systems
CSE Directorate for Computer & Information Science &
Engineering
Start Date: October 1, 2011Expires: January 31, 2015 (Estimated)Awarded Amount to Date: $215,998.00
Investigator(s): Deborah Tatar [email protected] (Principal Investigator)
Dennis Kafura (Co-Principal Investigator)Steve Harrison (Co-Principal Investigator)Manuel Perez (Co-Principal Investigator)Chris Corallo (Co-Principal Investigator)Sponsor: Virginia Polytechnic Institute and State University
Sponsored Programs 0170BLACKSBURG, VA 24061-0001 (540)231-5281NSF Program(s): Computing Ed for 21st Century,SPECIAL PROJECTS - CISEProgram Reference Code(s): 9251
Program Element Code(s): 7382, 1714ABSTRACTVirginia Polytechnic Institute and State University (VT) is partnering with the Henrico
County Public School District (HCPS) on a planning grant to develop a CE21 project that
SEARCH
FUNDING AWARDS DISCOVERIES NEWS PUBLICATIONS STATISTICS ABOUT NSF FASTLANE
NSF Award Search: Award#1132227 - Planning Grant: Integrati... http://www.nsf.gov/awardsearch/showAward?AWD_ID=1132227
1 of 2
11/12/13, 13:33
Developing CT in Middle School Core Curricula
!17
Michael Stewart http://people.cs.vt.edu/tgm
Joint Initiative• 1:1 Laptop Program
• ITRT - Instructional Technology Resource Teacher
• Core Subject Teachers
• > 5 yrs xp
• “pro-active engagement as teacher-leaders and previous participation in the [HCPS] digital initiative”
• taught with … technological products in the classroom
• none had a stake in CT
!18
http://1.bp.blogspot.com/-nYt3HZI1tx8/UQAU1gbmJfI/AAAAAAAAAEA/g-V8seGFwvw/s1600/01+angel-halo-hi.png
Michael Stewart http://people.cs.vt.edu/tgm
CT Guidelines
• “Thinking like a Computer Scientist”
• Representation, Structure, Communication
• Plans
!19
“These components do not attempt to articulate the full breadth or depth of CT. They are not a definition. What
they do is provide guidelines that prevent the project from overlooking important learning opportunities.”
Michael Stewart http://people.cs.vt.edu/tgm
Participatory Design to CT Integration
• Students wrestle with definition of CT.
• Students visit site for first-person observation.
• Students (researchers) directly communicate with participating teachers and students (subjects).
• Students work with teachers to identify challenging topics in core content.
!20
Michael Stewart http://people.cs.vt.edu/tgm
CT in Language Arts
• Students get lost when researching
• Difficult to diagnose lost students
• Difficult to model successful strategies
!21
Michael Stewart http://people.cs.vt.edu/tgm
CritiSearch• Student must answer questions of relevancy
• decouples query formation/modification from result digestion
• “seamful interaction” asks the student to decide which results are relevant
• demote search engines’ oracle status
• contrast promoted and demoted items
!22
Michael Stewart http://people.cs.vt.edu/tgm
CT in Earth Science• “students do not
understand scale”
• Earth Science includes cells and galaxies
• “anytime we start tacking zeros on the ends of numbers, we lose them”
!23
Michael Stewart http://people.cs.vt.edu/tgm
Astronomical Proportions• “We use a lot of
data tables, and I don’t want them to think of them as magic”
• students enter data
• students flag data
• students change representation
!24
Michael Stewart http://people.cs.vt.edu/tgm
Computational Thinking for all?
• Many other fields can benefit from some sort of formally specified approach (programming)
• repeatable
• testable
• optimizable
• Technical/Computational Literacy is critical as more of our lives require using technology
• Seamful interactions with technology could help us teach/learn important lessons about information capabilities, provenance/ownership, politicization, …
!25
Michael Stewart http://people.cs.vt.edu/tgm
Standing on the Shoulder of Giants
• Guzdial - Education: Paving the way for computational thinking
• Don’t Code
• Slate - Maybe Not Everybody Should Learn to Code
• Please Don't Learn to Code
• No--You Don’t Need To Learn To Code
• Tatar, Harrison, Stewart, Kafura, Pérez-Quiñones, Shaffer, Bradel, Branham, Chu, Self, Scerbo, Frisina (unpublished manuscript)
!26
http://en.wikipedia.org/wiki/File:Library_of_Congress,_Rosenwald_4,_Bl._5r.jpg