Contexts and Roles in CS Education

To make the case for computer science and to develop an effective program, educators must understand the context and the roles people play.

First, a few clarifications:

  • Computer science (CS) here refers to educational experiences where the primary objective is to develop computing skills and knowledge.
  • Computational thinking (CT) refers to using computational practices in CS and in other disciplines.  For example, using computer modeling and simulation in science and engineering courses.

In this post I’ll focus on the subjects and teachers with an especially strong affinity with CS / CT.  These are people that might be already teaching CS, and most definitely should be incorporating CT. They include:

  • Digital Literacy / technology integration
  • STEM  (math, science, engineering, and computer science).
  • Career & technical education (e.g. IT, engineering, business)

Other teachers, for example social studies and humanities teachers, are less likely to teach CS – it’s certainly possible, but would be a more significant departure from their regular teaching duties than the above.  However, there are ample opportunities to incorporate CT practices.

Digital literacy, educational technology, digital citizenship.

These areas, in general, are about the safe and effective use of technology for a variety of uses.  Business teachers will focus on using technology for business purposes. Technology integration specialists or library / media specialists tend to support the integration of technology across the curriculum.  While these areas are not strictly CS, these educators are excellent candidates to become CS teachers. They are also great candidates to support the integration of CT.

Note:  A comparison between these areas and computer science is available at the K12 CS Framework.  (K12CS, Defining Computer Science.)

STEM education.

In a nutshell: science is about systematically exploring phenomena; engineering is about designing and developing technologies.  Mathematics and computing are tools that are used to do science and engineering.

Computer science is fundamentally mathematical, rooted in formal logic.  Math educators are great candidates to teach CS, but it’s important to consider the primary objective.  CS can have a strong mathematical focus, for example, when you are working with data and analysis.

Computer science is a science – it is the study of the principles and use of computers.  CS is also an engineering discipline – it includes the design and development of computer hardware and software.  It’s important to remember that using computing tools to advance other science and engineering disciplines is not exactly CS – this is computational science and engineering, which is very much in the realm of CT.

I think it’s important to remember that teaching CS and incorporating CT into other subjects are different things, albeit both very important.

Note: The K12 CS Framework also includes great information on computational thinking, including a venn diagram that connects CS / CT practices with math, science, and engineering practices.  (K12 CS, Computational Thinking).

Career & Technical Education

Career & Technical Education (CTE) is an umbrella term that includes a number of career clusters (occupation groups) and pathways (leading to specific occupations).  CTE programs are generally two-year programs that students may take towards the end of K-12.

The Information Technology (IT) cluster in CTE​ includes the following pathways:

  • Network Systems Pathway
  • Information Support & Services Pathway
  • Web & Digital Communications Pathway
  • Programming & Software Development Pathway

While the IT pathways are clearly closely related to CS, there are a few important points worth making.  CTE programs are upper-HS level, and focus on specific skills for a certain career pathway. This is different from a K-12 CS program, which focuses on core CS skills and knowledge that are applicable in many careers not only in IT, but also in other clusters such as engineering, business, etc.

The bottom line is that students should learn fundamental CS skills and knowledge earlier in K-12 so that they can apply them to whatever pathway they pursue, whether or not they participate in a CTE program.

For more information about career clusters, please visit: Advance CTE, Career Clusters.

The social sciences and humanities

While I focused on strong affinity groups here, I don’t want to entirely leave out other groups.  Like other sciences, the social sciences are increasingly data-driven and rely on computational methods.  The humanities are a great place to explore the impacts of technology on society. Arts educators employ practices that are related to engineering design and development processes.  The discussion could go on into other disciplines.

Aside from systemic constraints, the degree of CT incorporation into these areas is limited only by the knowledge and imagination of the educators, and can be strongly aided by effective collaboration.  

So… where does CS / CT go?!?

Educators need to determine how to build a CS program that fits their need.  Schools need a strong CS program, and they also need to incorporate CT across the curriculum.  There is no magic bullet, but any solution starts with a solid understanding of the context and possibilities, and a concrete plan to move forward.

David Benedetto

David Benedetto, At-Large Representative

Rethinking Computational Thinking

Over the past 18 months, I’ve had the opportunity to be part a team led by Joyce Malyn-Smith of EDC for her NSF grant, Computational Thinking from a Disciplinary Perspective. The project was inspired by earlier work that Joyce conducted with Irene Lee. (Irene is the creator of the Project GUTS curriculum for learning science and computational thinking via modeling and simulation).

In their work, Joyce and Irene interviewed a variety of practicing scientists to reveal how they used computing to do science. Through these interviews, they elaborated a variety of practices which include profound and creative uses of computing, often invented by the scientists themselves.

Since the publication of Jeannette Wing’s 2006 paper on computational thinking, our community has been engaged in a sense-making process: what exactly is it? The initial description of “thinking like a computer scientist” is a bit tautological—and not terribly helpful for someone who isn’t already a computer scientist.

I have personally been struggling with understanding the relationships among the broad categories of computer science, programming, and computational thinking. For example:

Q. Can you do computer science without programming?
A: Yes of course; we can analyze the complexity of a search algorithm, realize the need to use hashing to speed a table-lookup, etc.

Q. Can you do programming without computer science?
A. Probably. Beginners’ spaghetti code might be an example. “Hacking” in general suggests building things without an underlying theory (though there may be an implicit one). But let’s say yes to this too.

So, where does CT fit in? Is it in the intersection? Many people think you can do CT without doing programming, so perhaps not. How is CT not just another word for computer science then?

Venn diagram of programming and CS. Where does CT fit?

Venn diagram of programming and CS. Where does CT fit?

Jeannette Wing’s more recent paper (2011) provided this definition of CT: “Computational thinking is the [human] thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent [a computer].”

To me, this still sounds like “thinking like a computer scientist.” This is what we do! We formulate problems and their solutions so that a computer can carry them out!

So what’s the difference between doing CT and doing computer science?

Thanks to my collaboration with Joyce and Irene (and our whole team), I now see an answer.

Computational thinking is about connecting computing to things in the real world.

Here are some examples.

A starter program we may often have our students write is to model a checking account. Our students will use a variable to represent the bank balance, and build transactions like deposits and withdrawals. Maybe they’ll represent the idea of an overdraft, or insufficient funds.

Let me argue that this simple example captures the essence of computational thinking.

What makes it so is that we are connecting a concept in the world—money in a bank account—to its representation in a computational system. This sounds pretty simple. But there is surprising complexity. What sort of numerics should we use—e.g., should we represent fractional pennies? For a beginning student, we could ignore this. But in a more elaborated solution, this intersection of computational considerations and real-world concerns is crucial—and this is computational thinking.

Here is another example. Consider how we usually represent colors. We use three bytes of information: 0 to 255 amounts of red, green, and blue (RGB) light. For web HTML, we’d use the hexadecimal notation. For example, #8020C0 is 128 (decimal) of red, 32 (decimal) of green, and 192 (decimal) of blue, or this color:

A purple swatch which is #8020C0.

A purple swatch which is #8020C0.

This RGB representation was created at the intersection of the neurophysiology of human vision, the physics of how we build displays, and practical considerations of computing. Why do we mix only these three wavelengths of light? Because the way our eyes and brains work, we can mimic practically any color with just these three. Why use just one byte of information for each color intensity? It turns out the ~16 million colors which can be represented this way is quite powerful—and good enough—for how we use computers now.

So the whole notion of the RGB representation of color is computational thinking in action.

For a more elaborated example, let’s consider the JPEG file format—of the Joint Photographic Experts Group. This team included computer scientists, neurophysiologists, and artists. Their insight was that we could compress images by a factor of ten or more by discarding information that the human eye doesn’t see anyway. What a fabulous insight—and the very essence of computational thinking, because it connects concepts in computing (like compression algorithms) to understandings of our physical and perceptual worlds.

To revise our illustration, now CT is the “connecting tissue” between the world of computer science / programming expertise and the world of disciplinary knowledge:

Visualization of CT as “connecting tissue” between CS/programming and disciplinary knowledge of the world

Visualization of CT as “connecting tissue” between CS/programming and disciplinary knowledge of the world

To “do CT,” you need to know about both worlds. You need to know how to create solutions using computing. You need to know something about a domain in the world. And CT is the knowledge, skills set, and disposition of intermediating between these two.

Now, Jeannette Wing’s 2011 definition makes perfect sense: “Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.”

Yes! The key is recognizing that there is a non-computational domain—something in the world that we care about—which is being transformed (represented computationally) in this process.

To close the loop back to Joyce’s project: In addition to myself and Irene Lee, Joyce’s team had project advisers Michael Evans and Shuchi Grover, her EDC colleagues Paul Goldenberg, Lynn Goldsmith, Marian Pasquale, Sarita Pillai, and Kevin Waterman, and project evaluator David Reider.

In a series of planning meetings and then a pair of 2-day workshops with K-12 CS practitioners and researchers from around the country, we developed the idea of how computational thinking is transformed by connecting it to scientific disciplinary practice.

We created a framework with a set of five “elements” which illustrate the integration of computational thinking into disciplinary understanding.

Please stay tuned for work to come from our group, presenting this idea of “Computational Thinking From a Disciplinary Perspective.”

It’s given me a whole new way to think about what computational thinking can mean.

It’s about connecting computing to the world.

head shot of Fred Martin, chair of board of directors

Fred Martin, chair of board of directors

Just released: Video interviews on computational thinking

What is computational thinking?

How is computational thinking distinct from other thinking skills?

How can teachers assess computational thinking skills?

Have you ever wanted to ask an expert these questions? The CSTA Computational Thinking Task Force is creating a series of video interviews in which we do just that!

Listen in on our conversation with Chris Stephenson, Director of Computer Science Education Programs at Google, as she answers our questions and describes cross curricular computational thinking applications in the task of preserving native languages (https://youtu.be/FuN6g8NmuHc).

Listen to our conversation with Eric Snow, Education Researcher in the Center for Technology in Learning at SRI International as he answers our questions and describes his research in assessing computational thinking (https://youtu.be/92pv8dPItjE).

We have several more interviews with experts in the field planned for later this fall.

All of the interviews are archived here: csteachers.org/page/CompThinkInterviews.

Computational Thinking — What does it mean to you?

How do you integrate computational thinking (CT) concepts and strategies into your teaching? Have you heard your colleagues talk about it and wondered if they have accurate and useful understandings of how CT can be used across the curriculum? Are you curious about how other schools, or even other countries, are implementing CT strategies? Wondering where you can get more information?
Well, consider the March issue of the CSTA Voice as your CT 101 Primer! Take a look and then let us know what you’re thinking about the topic.

  • Take a step back to the conceptual foundations of CT with a review of the “roots of CT” with Irene Lee, Co-chair of the CSTA CT Task Force.
  • Discover how England is embedding CT into the national computing curriculum with John Woollard, leading member of Computing At School (CAS).
  • Compare the problem-framing strategies that help students connect math to everyday problems with MEAs (Model-Eliciting Activity) to CT strategies with Fred G. Martin, Co-chair of the CSTA CT Task Force.
  • Explore the list of CT resources gathered by Joe Kmoch, CS consultant and retired educator.

AND OF UTMOST IMPORTANCE…

  • VOTE! Read the statements from the 10 candidates running for the 5 open seats on the CSTA Board of Directors in the March Voice. The affairs and property of the Organization are managed, controlled, and directed by a Board of Directors elected by you. A huge amount of work through committees and task forces is also completed by these Board members.
  • REGISTER for the 2016 CSTA Conference. Read more about the plans for “Making Waves in San Diego” in the March Voice.

Pat Phillips, Editor
CSTA Voice

A review of Google’s Exploring Computational Thinking resources

By Joe Kmoch

In Spring 2015, Google began work on revamping their CT website. Their materials are available at a website called Exploring Computational Thinking:

https://www.google.com/edu/resources/programs/exploring-computational-thinking/

A team at Google developed a template for lessons which would be made available on their site. They took the large number of lessons that were already on their site and rewrote them into this new lesson plan format. They hired a group of educators to review all of those lessons and now have about 130 lessons and other materials available.

These lessons have specific plans, are interactive and inquiry-based, and include additional resources. There are lessons in 17 subject areas mostly in math and the sciences. These lessons are also cross-referenced to various sets of international standards (Common Core, NGSS, CSTA K-12, and standards from UK, Australia, New Zealand and Israel).

At about the same time, another Google team developed a group of six videos called CT@Google which focus on the Seven Big Ideas from the CS Principles course, and how Google uses them in their work.

Finally, Google developed an interactive, online course, CT for Educators, where teachers learn what CT is and how it can be integrated into a variety of subject areas. It is quite good and can help a teacher work CT concepts into their regular lessons:

All of these are quality resources.

 

Disclosure: the author was compensated by Google for assistance in editing the collection of lesson plans mentioned in this article.

Designing Thinking in K-12

During my recent trip to India, I visited the American Embassy School (AES) in New Delhi. During my visit, I was able to talk to the members of the technology integration team and how they are combining design thinking, computational thinking, and maker space ideas to allow students to become creative users of computing technologies. More on AES tech vision can be read here. While computational thinking in K-12 schools has gotten a lot of attention, design thinking has the potential to further enhance students’ creative problem solving.

The Institute of Design (d.school) at Stanford University offers a virtual crash course that exposes learners to the five aspects of design thinking: empathize, define, ideate, prototype, and test. Teachers interested in learning more about how to embed design thinking in their K-12 classroom can find more resources on the d.school’s K12 lab network wiki.

CSTA Computational Thinking (CT) Task Force

Why was the Computational Thinking (CT) Task Force formed?

One of the primary purposes of the CSTA is to support K-12 CS educators. Thus, it’s important that the CSTA be aware of current developments in computer science education, including Computational Thinking (CT), so we can take advantage of new opportunities and new partnerships. The CT Task Force was formed to advise the organization about how to connect with and respond to new Computational Thinking initiatives.

Who are the members of the CT Task Force?

In July 2014, the CT Task Force re-assembled with these members:

Irene Lee, Chair (Santa Fe Institute, Project GUTS)
Fred Martin, Co-Chair (University of Massachusetts Lowell)
J. Philip East (University of Northern Iowa)
Diana Franklin (University of California, Santa Barbara)
Shuchi Grover (Stanford University)
Roxana Hadad (Northeastern Illinois University)
Joe Kmoch (University of Wisconsin-Milwaukee)
Michelle Lagos (American School of Tegucigalpa)
Eric Snow (SRI International)

What does the CT Task Force do?

This year, we are focusing on CT in K-8 teaching and learning. This is a pressing need, and we would like to understand the scope of what is being called “computational thinking” in K-8: how it is being defined, what tools and curricula are being used to teach computational thinking, and how it is being assessed. Task Force members also participate on related efforts, such as developing proposals for providing professional development in CT through the CSTA.

How does the CT Task Force serve the CSTA membership?

We serve the membership by:

1) Writing, publishing and disseminating papers on CT

2) Coordinating efforts to inform K-8 educators about CT

3) Making presentations on CT at educational conferences

4) Updating the CT webpage on the CSTA website

We welcome suggestions and contributions from the CSTA membership on ways the CT Task Force can better serve you.

Computational Thinking and Beyond

Since Jeannette Wing described computational thinking (CT) in her 2006 Communications of the ACM article, it has gone beyond computer science and now become a “hot topic” within educational technology communities of practice. A quick search for the keywords “computational thinking” in education conference proceedings, such as Society of Information Technology and Teacher Education, E-Learn, American Educational Research Association among others yields a growing number of papers on CT. The ideas presented range from computational thinking for teacher education to incorporating computational thinking for students in a wide array of content areas including science, mathematics, and language arts. Educators and researchers in educational technology have started adopting CT and are extending it beyond computer science to creativity and problem solving. As an example, teachers attending our Masters in Educational Technology program at Michigan State University have deep interest in computational thinking and how to expose their students to algorithmic thinking, data representation, and logical thinking across. These teachers are incorporating CT practices by exploring Maker Education (#makered) approaches that allow their students to tinker and play with tools (such as, MakeyMakey, Raspberry Pi, Paper Circuits, etc.). Through these projects students (and teachers) are developing core computational thinking dispositions that Valerie Barr and Chris Stephenson identified in their 2011 article on bringing computational thinking to K-12. Specifically, students in these classrooms are learning to work with “wicked problems” that are open-ended, complex, and often have more than one solution and multiple ways to arrive that the solution. The interest in computational thinking from teachers across disciplines provides opportunities for computer science educators to collaborate with fellow educators to show students how computational thinking ideas span subjects and overlap with core computer science concepts.

Aman Yadav
Twitter: @yadavaman
Teacher Education Representative
CSTA Board of Directors

 

What Do You Need to Know About Computational Thinking?

The theme of the May CSTA Voice is “Computational Thinking.” As I thought about what to include in this upcoming issue and reviewed some of the past CT work by people such as Jeannette Wing and Joan Peckham, as well Valerie Barr who leads the CSTA Computational Thinking Task Force, I realized that a lot has changed in the past four years during which I have been thinking about CT.
There are new analogies for trying to conceptualize CT, new reasons for its value, new strategies for including CT into course curriculum, and new ideas for engaging the teachers of other disciplines in our schools in the task of including CT in their classroom activities. A lot of attention is now being paid to CT in universities and professional computer science organizations. I don’t think CT is going away and I think as CS & IT professionals we ought to be informed to a level that we can talk about CT with our peers and make sound decisions about why and how to include CT strategies in our teaching strategies.
The missing piece in my plan for the May CSTA Voice is:
What do you, CSTA members, need and want to know about CT that will enable you to better prepare your students for the intellectual realities of their lives, and to help your colleagues better understand (and ultimately incorporate) CT into their classroom lessons across diverse subject areas.
Do you have questions about CT that I can call upon experts to help answer?
Are you curious about how CT will impact CS & IT courses?
Is CT a new topic for you and do you need a basic CT lesson?
Have colleagues asked you about CT and do you need essential details that you can share to help them better understand the concept?
What do you want to learn about in the May issue of the CSTA Voice?
Please let me know. Let me see what I can find to help us better understand computational thinking.
Pat Phillips
Editor, CSTA Voice

Algorithmic Thinking and Computational Linguistics

The Algorithms and Linguistics page (http://www.education.rec.ri.cmu.edu/fire/naclo/) on The FIRE Project website is a site that introduces younger students to computer science and linguistics. Rather than focusing on programming, the website focuses on algorithmic thinking and problem-solving to engage students in computational thinking.
The goal is create unplugged materials, or problems solvable with pencil and paper, where students can practice using computer science and linguistics concepts.
Currently on the website there are algorithms and linguistics problems of varying difficulties so that a range of age groups can enjoy them.
Chelsea Mafrica
The Algorithms and Linguistics Team