Posts tagged ‘computing education’
Aman Yadav and Steve Cooper have the CACM Viewpoints Education column this month. They raise the questions of how learning computing can lead to greater creativity, and how we can design computing education experiences to draw students in to greater depth.
Computing has the potential to provide users opportunities to extend their creative expression to solve problems, create computational artifacts, and develop new knowledge. The pervasive nature of computing and accessibility of digital tools is also transforming K-12 education as students move from being mere consumers of content to engaging in the subject matter by creating computational artifacts. Take Scratch, for example, which is one of the many tools designed to teach kids to code, and comes with varying levels of support for educators implementing them in both formal and informal learning settings. Scratch provides students with an opportunity to express their creativity through stories, games, and animations. While Scratch has the potential to be a powerful tool, it is often used as little more than a presentation tool in the classroom. Studies of Scratch users show that few projects use variables or control flow data structures. While the Scratch environment provides a ‘low floor, high ceiling’ that allows beginners to dive into the environment without frustration, many students do not advance to a higher level. Tools like Scratch can empower students to showcase their creativity like never before; however, the way these tools are taught by teachers and used by students significantly influences whether students move along the creativity continuum. While Scratch is widely used, we know little about how it influences students’ creative thinking.
Julie Flapan and Jane Margolis had a piece last month in Education Week saying that the Trump administration should support CS education. Their piece starts with an argument that we should not scapegoat immigrants, and given the recent immigrant ban, seems amazingly prescient.
Julie and Jane point out that CS education is important to the values of the new administration. It’s good to see that the House is re-affirming the importance of STEM education in their new priority statement. We need to make the argument that computing education is not a previous adminstration issue, but is instead about bipartisan issues and values.
Computer science isn’t just about operating a computer or a cellphone. It’s about reimagining how computers are a part of what we do every day. Rather than being passive users of technology, students need to learn how to be responsible creators of it. Computer science teaches algorithmic thinking, problem-solving, and creativity as students learn how to build apps, design a web page, and understand how the internet actually works.
Beyond jobs, this past year revealed other reasons why learning computer science is important in a democracy. Whether it be through thinking critically to distinguish fake news from real news, understanding algorithms that are used to target its users, considering cybersecurity and the role it played in email scandals, or amplifying marginalized voices through social media, we can see the power of technology in our everyday lives. Becoming digitally literate, critical, and constructive thinkers about how to use technology responsibly should be required learning for everyone.
With the uncertainty of President Donald Trump’s education agenda and the future policy decisions under the Every Student Succeeds Act, one thing is clear: We need to continue to support public education and the inclusion of computer science as part of the new law’s call for a “well-rounded education.”
We encourage the new administration to continue to support the former administration’s national agenda to promote computer science for all, which prioritizes the needs of students underrepresented in computer science, including girls, low-income students, and students of color. Many education leaders support this national initiative at the local level.
Note that this is not the framework — standards are the curriculum specifications which can be based on a framework. These are designed to align the K-12 CS Framework.
Go to the page linked below to find the links which will lead you to the standards specific to various grade levels.
The public review period for the revised K-12 Computer Science (CS) Standards is now open! In revising the K-12 CS Standards toward a more final form, the taskforce took specific steps to closely align its work with that of the K-12 CS Framework. This alignment will strengthen the value of both resources as tools to communicate the CS concepts and practices critical to student educational experiences today. The Computer Science Teachers Association invites teachers, curriculum supervisors, administrators, business leaders, the broad education and business communities to review the standards and offer feedback. The public review process is now open and ends Wednesday, February 15 at 11:59 PM PST.
California is now starting a process of developing computer science standards for K-12, explicitly using the new K-12 CS Framework. California is huge and has a huge influence on the rest of the country’s education policy and practice. This will likely be one of the most important outcomes of the K-12 CS Framework process.
Computer Science Content Standards Development
The CDE, Instructional Quality Commission, and State Board of Education (SBE) are commencing the process for developing new California computer science content standards. Per California Education Code. Section 60605.4, “on or before July 31, 2019, the Instructional Quality Commission shall consider developing and recommending to the SBE computer science content standards for kindergarten and grades 1 to 12, inclusive, pursuant to recommendations developed by a group of computer science experts.” Information and updates concerning the development of computer science content standards for California public schools will be posted here.
Turkle and Papert’s paper on epistemological pluralisms is one of my favorite by Seymour (which I talked about here). This is the first paper I’ve read about how to encourage them.
I remember a math teacher I once had. He would ask students to go up to the board and explain how they solved the problem. But he wouldn’t stop there. He would then ask if someone else had a different way of solving the problem and allow the different approaches to be shared with the class. This validated that there were multiple ways a problem can be solved, and that it was not enough to know just one way… It also meant no one remained in doubt about whether their (different) approach was “incorrect” (there was room to clear up misconceptions, for example). It’s not as deep as epistemology, but it’s a start. A start to plurality of the “how”, but we should consider maybe also the plurality of the “what” and “why” (because which questions we choose to pursue for learning and why they matter to us are deep ontological and epistemological questions).
I manage the education column in CACM’s Viewpoints section, and this quarter, Briana Morrison and I wrote the piece. While CS is now officially “in STEM,” it’s not like mathematics and science classes. In the November issue, we look at what has to happen to make CS as available as mathematics or science education. ( BTW, Briana defends her dissertation today!)
Computing education is changing. At this year’s CRA Snowbird Conference, there was a plenary talk and three breakout sessions dedicated to CS education and enrollments. In one of the breakout sessions, Tracy Camp showed that much of the growth in CS classes is coming from non-CS majors, who have different goals and needs for computing education than CS majors.a U.S. President Obama in January 2016 announced the CS for All initiative with a goal of making computing education available to all students.
Last year, the U.S. Congress passed the STEM Education Act of 2015, which officially made computer science part of STEM (science, technology, engineering, and mathematics). The federal government offers incentives to grow participation in STEM, such as scholarships to STEM students and to prepare STEM teachers. Declaring CS part of STEM is an important step toward making computing education as available as mathematics or science education.
The declaration is just a first step. Mathematics and science classes are common in schools today. Growing computing education so it is just as common requires recognition that education in computer science is different in important ways from education in STEM. We have to learn to manage those differences.
Until I heard this recent Freakonomics podcast, I was not aware of this response to innovation and entrepreneurship trends. The quote below speaks directly to engineering education, but is as much about computing education.
The value of engineering is much, much more than just innovation and new things. Focusing on taking care of the world rather than just creating the new nifty thing that’s going to solve all of our problems. If you look at what engineers do, out in the world, like 70-80 percent of them spend most of their time just keeping things going. And so, this comes down to engineering education too, when we’re forcing entrepreneurship and innovation as the message, is that we’re just kind of skewing reality for young people and we’re not giving them a real picture and we’re also not valuing the work that they’re probably going to do in their life. That just seems to me to be kind of a bad idea.
The quote is from Lee Vinsel who was a co-author on a thought-provoking essay, Hail the maintainers, sub-titled: “Capitalism excels at innovation but is failing at maintenance, and for most lives it is maintenance that matters more.”
To take the place of progress, ‘innovation’, a smaller, and morally neutral, concept arose. Innovation provided a way to celebrate the accomplishments of a high-tech age without expecting too much from them in the way of moral and social improvement.
It’s easy to see this emphasis on innovation over maintenance. We talk about disruption and transformation much more than reforming, repairing, or improving. We talk more about creation than understanding.
We increasingly teach computer science to prepare students to be innovators and create new things (e.g., join startups), when the reality is that most computer science graduates are going to spend the majority of their time maintaining existing systems. (See the papers by Beth Simon and Andy Begel tracking new hires at Microsoft.) Few who do enter the startup world will create successful software and successful companies, so it’s unlikely that those students who aim to create startups will have a lifelong career in startups. In terms of impact and importance, keeping large, legacy systems running is a much greater social contribution than creating yet another app or game, when so few of those startup efforts are successful. Aren’t we then as guilty as the engineering educators, described in the first quote?
In terms of what we teach in computing and how, innovation and maintenance is a hard balance to strike. As Alan Kay has noted, “The computing revolution hasn’t happened yet.” We’re still inventing and innovating because what we have isn’t good enough. But, that desire to value what’s new leads us to overvaluing the fad of the moment, rather than exploring, developing, and understanding what we have at-hand. Why do we have to keep changing the introductory programming language, when it’s clear that we don’t understand how students learn (and don’t learn) the programming languages that we currently teach? Why did we give up on Logo when it’s still better than most languages for children today? It’s a tough balance — to strive for better than we have, but valuing, developing, and improving what we currently have.