Posts tagged ‘K12’

US States Move toward CS Ed: MA, CA, and the challenge of local control

I review for the WIPSCE conference (an international conference on K-12 computing), and found a phrase in one of the papers I was reviewing about computing education now being mandatory in the United States.  Well, not really — kinda, sorta, in someplaces.  It may be hard for educators outside the US to understand the decentralized nature of computing education in the US.  The individual 50 states control primary and secondary school education by law, and some of those states (notably, California, Massachusetts, and Nebraska) are “local-control” — the state itself decides to shift almost all of the education decision-making to the individual school districts (easily a hundred in a small state, multiple hundreds in large ones).

Recently the National Association of State Boards of Education has come out with a policy update about CS education in the states.  Useful — except for the local control states, where the state boards of education don’t really have that much power.

While educators and parents recognize computer science as a key skill for career readiness, only five states have adopted learning standards in this area. Tides are changing, however, as the Every Student Succeeds Act (ESSA) recognizes with its call on states to provide a “well-rounded education” for students, to include computer science standards. This NASBE Policy Update outlines what states need to consider as they develop computer science standards and improve instruction, highlighting several promising state efforts already under way.

Source: NASBE – States Move toward Computer Science Standards

How do local control states implement reforms like computing education? In California, they’re trying to pass legislation to create an advisory board about integrating CS into education. It’s all about advice and recommendation — the state can’t make the districts do much.

California legislators are reviewing a bill that would create an advisory board to integrate computer science into education.The Assembly legislation would create a 23-person panel overseen by the state Superintendent that would deliver recommendations by September 2017 on how to improve computer science education, and establish curriculum standards for grades K-12.The panel would comprise teachers, administrators and professors across K-12 and higher education, as well as representatives from government, parent associations and student advocacy organizations. The bill is backed by Microsoft and Code.org.

Source: California legislators push computer science education bill

Massachusetts has just come out with their new state standards. I haven’t gone through them all, but from what I’ve seen (and knowing people who helped build it), I believe that they’re really high-quality. But they’re just voluntary. The districts have to be coaxed into adopting them.

Massachusetts public schools may start using new digital literacy and computer science standards as soon as this fall. The state board of elementary and secondary education unanimously approved the standards, which are voluntary, at its monthly meeting Tuesday.”Today’s vote recognizes the importance of digital literacy and computer science to modern life, work and learning,” board chairman Paul Sagan said in a statement. “These standards will help our students think about problem solving in new ways and introduce them to valuable skills they will need in today’s economy.”

Source: Mass. Has New K-12 Standards For Digital Literacy, Computer Science | WBUR News

August 1, 2016 at 7:57 am Leave a comment

How to choose programming languages for learners: Reviewing JavaScript and Ready

My Blog@CACM post for June is Five Principles for Programming Languages for Learners. The five principles I identify are:

  1. Connect to what learners know
  2. Keep cognitive load low
  3. Be honest
  4. Be generative and productive
  5. Test, don’t trust

I wrote the essay in response to Idit Harel’s influential essay American schools are teaching our kids how to code all wrong. There were many responses to Idit’s essay, on social media and in other blogs. Much of the discussion focused on text programming languages vs. drag-and-drop, blocks-based languages, which I don’t think is the most critical distinction.

In this post, I respond to two of the suggestions that came up in some of these discussions. I use the five principles to review the suggestions in a kind of heuristic evaluation.

JavaScript

If we were going to teach a professional language to students, JavaScript is attractive. It’s free and ubiquitous, available in every Web browser. There are many jobs for JavaScript programmers. Because so much is built on top of it, it’s likely to remain around for many years in a compatible form. I argue in the Blog@CACM post that there are many dimensions to “real” when it comes to programming languages. “Use by professionals” is not the most important one when we talk about learners.

I recommend considering each of these five principles before choosing a programming language like JavaScript for learners.

  1. Connect to what learners know – You could teach JavaScript as a connection to what children already know. The notation of JavaScript doesn’t look like anything that children are likely to have seen before, in contrast to Logo’s emphasis on words and sentences, Squeak eToys’ “Drive the Car,” Boxer’s simple UI boxes (what diSessa calls naive realism), and Racket/Bootstrap’s connections between algebra and S-expressions.  However, JavaScript is the language of the Web today, so one could probably relate the programming activities to Web pages. Most learners are familiar with parts of a Web page, animations in a Web page, and other Web features that JavaScript can control. That might serve as a connection point for children.
  2. Keep cognitive load low – JavaScript has a high cognitive load. I’m a JavaScript learner and am just meeting some of its weirder features. I was shocked when I first read that = is assignment, == is type-insensitive equality, and === is type sensitive equality/equivalence. So, "5"==5 is true, but "5"===5 is false. Counting the number of = and remembering what 1 vs 2 vs. 3 means is an excellent example of extraneous cognitive load. My bet is that JavaScript overwhelms children and is probably inefficient for adult learners. This means that learners are spending so much time making sense of the syntax, it takes them longer and more effort to get to the concepts (and they may lose interest before they get to the good stuff).
  3. Be honest – JavaScript is authentic, it’s real for most senses of the term.
  4. Be generative and productive – I don’t know if JavaScript would be generative and productive for students. I don’t know anyone teaching JavaScript as a way to teach significant ideas in CS or other STEM disciplines. My worry is that the cognitive load would be so overwhelming that you couldn’t get to the interdisciplinary or complex ideas. Students would spend too much effort counting = and fighting for loops.
  5. Test, don’t trustThe only study that I know comparing JavaScript to a blocks-based language had JavaScript losing. JavaScript conditionals and loop structures were far harder for students than the equivalent block-based structures.

We should experiment more with JavaScript, but I suspect that students would do better (struggle less with syntax, learn more, connect to other disciplines more) with a different syntax. If I were trying to get the advantages of JavaScript without the syntax cost, I’d try something like ClojureScript — freely available, as fast as JavaScript, as ubiquitous as JavaScript, used professionally, can be used to control Web pages like JavaScript (so connectable for learners), and with the syntactic similarities to mathematics that Racket enjoys.

Ready

Baker Franke of Code.org is promoting the essay Coding snobs are not helping our children prepare for the future as a response to Idit’s essay. The essay is about the application-building tool, Ready. Media theorist Dough Rushkoff has also been promoting Ready, What happens when anyone can code? We’re about to find out.

I disagree with Rushkoff’s description of Ready, even in the title. As the first essay by David Bennahum (a “Ready Maker and Venture Partner) points out, it’s explicitly not about using a programming language.

Our efforts at Ready, a platform that enables kids to make games, apps, whatever they want, without knowing a computer language, are designed to offer a new approach to broadening access to code literacy.

Bennahum’s essay means to be provocative — and even insulting, especially to all the teachers, developers, and researchers who have been creating successful contextualized computing education:

In this new world, learning coding is about moving away from computer languages, syntax, and academic exercises towards real world connections: game design and building projects that tie into other subjects like science and social studies… This is the inverse of how computer science has been taught, as an impersonal, disconnected, abstracted, mathematical exercise.

I can see how Rushkoff could be confused. These two quotes from the Ready team seem contradictory. It’s not clear how Ready can be both about “learning coding” and “code literacy” while also allowing kids to make “without knowing a computer language.” There is no programming language in Ready.  What is coding then? Is it just making stuff?  I agree with Rushkoff’s concerns about Ready.

True, if people don’t have to code, they may never find out how this stuff really works. They will be limited to the programming possibilities offered by the makers of the platforms, through which they assemble ready-made components into applications and other digital experiences.

Let’s consider Ready against the five principles I propose.

  1. Connect to what learners know – the components of Ready are the icons and sliders and text areas of any app or game. That part is probably recognizable to children.
  2. Keep cognitive load low – Ready is all about dragging and dropping pieces to put them together. My guess is that the cognitive load is low.
  3. Be honest – Ready is not “real” in most sense of authenticity. Yes, students build things that look like apps or games, but that’s not what motivates all students. More of Betsy DiSalvo’s “Glitch” students preferred Python over Alice (see blog post). Alice looked better (which appealed to students interested in media), but students knew that Python was closer to how professional programmers worked. Authenticity in terms of practice matters to students. No professional programmer solely drags and drops components. Programmers use programming languages.
  4. Be generative and productive – Ready completely fails this goal. There is no language, no notation. There is no tool to think with. It’s an app/game builder without any affordances for thinking about mathematics, science, economics, ecology, or any other STEM discipline. There’s a physics engine, but it’s a black box (see Hmelo and Guzdial on black box vs glass box scaffolding) — you can’t see inside it, you can’t learn from it. They build “models” with Ready (see this neurobiology example), but I have a hard time seeing the science and mathematics in what they’re building.
  5. Test, don’t trust – Ready offers us promises and quotes from experts, but no data, no results from use with students.

Ready is likely successful at helping students to make apps and games. It’s likely a bad choice for learners. I don’t see affordances in Ready for computational literacy.

June 20, 2016 at 7:46 am 21 comments

Final Review Period for the K-12 CS Framework for K-12 Computer Science Education June 8-29

The final review period is June 8-29. Do engage with the review.  Whatever comes out of this is likely to influence the standards for K-12 CS education in the United States for the next five to ten years.

I’m not so happy with the framework, but I recognize that it’s a collaborative process where no one is going to be completely happy (see previous post about the framework).  A source of difficulty for building the framework is that we are so early in CS Education in the United States. We are optimizing for the current state, at time when that state is rapidly changing.

Here’s an instance of the general problem. Last time I was at a framework meeting as an advisor, I pushed hard to include the concept of the word bit as a learning objective in the framework.  Even as quantum computing is developed, the Claude Shannon notion of a bit as a fundamental unit of information is still relevant and useful — it’s one of the foundational ideas of computing. The suggestion was vehemently rejected by the writers because current teachers fear binary.  I tried to argue that we can talk about bits (e.g., what is information, how we can store/represent bits, and how we can encode information in bits) without talking about binary, but the writers argued that teachers will perceive bits as being about binary and reject it.  I pointed out that the word bit did appear in the document, just not explained. It’s hard to talk about computing without talking about “bits.” In response, every instance of the word bit was removed from the framework document.

We have so few teachers today in schools (e.g., no state has high school CS teachers in more than even 30% of their high schools, we likely need ten times the number of current teachers in order to provide CS education to everyone in the United States), and we’re still just figuring out how to develop new CS teachers.  Should we really make decisions about the next 5-10 years based on what current teachers dislike? Especially when too few of those teachers have had significant teacher professional development? Maybe we do — we might need to keep those teachers engaged in order to grow the programs to create more teachers.

I argued in the past that it’s about consensus not vision.  It still is. The question is how much unpleasantness we can swallow and still agree on the framework.

The goals of the K-12 CS framework review process are to provide transparency into the development of the K-12 CS framework and include feedback from a diverse range of voices and stakeholders. If you haven’t already, please sign up for framework updates.Individuals and institutions are invited to be reviewers of the K-12 CS framework. Institutions, such as state/district departments of education and organizations (industry, companies, non-profits), are responsible for selecting an individual or a group to represent the institution.

Source: Review – A Framework for K-12 Computer Science Education

June 10, 2016 at 8:03 am 10 comments

Top business leaders, 27 governors, urge Congress to boost computer science education – The Washington Post

I saw on Facebook that Hadi Partovi was at Congress.  Now I see why — there’s an effort underway to get Congress to fund more in CS education.  I’m wondering what they want to get funded.  Incentives for teachers? Professional development? Pre-service education?  Does someone know the details?

Despite this groundswell, three-quarters of U.S. schools do not offer meaningful computer science courses. At a time when every industry in every state is impacted by advances in computer technology, our schools should give all students the opportunity to understand how this technology works, to learn how to be creators, coders, and makers — not just consumers. Instead, what is increasingly a basic skill is only available to the lucky few, leaving most students behind, particularly students of color and girls.

How is this acceptable? America leads the world in technology. We invented the personal computer, the Internet, e-commerce, social networking, and the smartphone. This is our chance to position the next generation to participate in the new American Dream.

Source: Top business leaders, 27 governors, urge Congress to boost computer science education – The Washington Post

April 26, 2016 at 8:51 am Leave a comment

How to Participate in the K12 CS Framework Review Process

I’ve mentioned the K12 CS Framework Process a couple of times before (see this blog post).  It’s now available for public comment.

Individuals and institutions are invited to be reviewers of the K-12 CS framework. Institutions, such as state/district departments of education and organizations (industry, companies, non-profits), are responsible for selecting an individual or a group to represent the institution. Reviewers can choose to participate in one or both of the two review periods:

  • Feb 3 to Feb 17: Review of the 9-12 grade band concepts and practices
  • March 14 to April 1: Review of the entire K-12 concepts and practices

There will be a public webinar (save this link) to launch the first review period on Feb 3 at 8pm ET / 5pm PT. Learn about the development of the framework and how to provide an effective review.

Find different instructions for individuals and facilitators of group reviews, including an informational session kit for review group facilitators at http://k12cs.org/review.  Visit this page after 9 am on Feb 3rd and you’ll be able to access the framework draft and an online feedback form for the first public review

Sincerely,

Lian Halbert, K-12 CS Framework development staff

P.S. Are you attending SIGCSE 2016 in Memphis this March 2-5? We will hold a Birds of a Feather session on Thursday March 3 for all SIGCSE attendees – feel free to invite folks so they can learn about the K-12 CS framework.

February 3, 2016 at 8:02 am Leave a comment

More Students Taking AP CS Exams, but WAY more taking AP Physics

Surprising result!  We knew that AP CS was growing quickly (see Code.org blog post), but AP Physics just took a giant leap forward.  I wonder why that is, and what we can learn from that.

The number of students taking the physics test doubled between 2014 and 2015. The College Board, the nonprofit that administers the AP program, said that represents the largest annual growth in any AP course in history.

Source: More Students Taking AP Physics, Computer Science Exams – Curriculum Matters – Education Week

October 19, 2015 at 8:55 am 7 comments

New Google for Education report on K-12 CS Ed: Parents want it, Principals don’t get it

Google has just released a new report on K-12 CS Education.  It’s linked at the bottom.  I’m going to quote from a new Wired article that describes one of the big bottomlines.

In a big survey conducted with Gallup and released today, Google found a range of dysfunctional reasons more K-12 students aren’t learning computer science skills. Perhaps the most surprising: schools don’t think the demand from parents and students is there.

Google and Gallup spent a year and a half surveying thousands of students, parents, teachers, principals, and superintendents across the US. And it’s not that parents don’t want computer science for their kids. A full nine in ten parents surveyed viewed computer science education as a good use of school resources. It’s the gap between actual and perceived demand that appears to be the problem.

via Huh? Schools Think Kids Don’t Want to Learn Computer Science | WIRED.

Searching for Computer Science: Access and Barriers in U.S. K-12 Education

To understand perceptions of computer science and associated opportunities, participation, and barriers, we worked with Gallup, Inc. to survey over 1,600 students, 1,600 parents, 1,000 teachers, 9,600 principals, and 1,800 superintendents. We found:

  • Exposure to computer technology is vital to building student confidence for computer science learning.

  • Opportunities to learn computer science at schools is limited for most students. When available, courses are not comprehensive.

  • Demand for CS in schools is high amongst students and parents, but school and district administrators underestimate this interest.

  • Barriers to offering computer science in schools include testing requirements for other subjects and limited availability and budget for qualified teachers.

via Google for Education: Computer Science Research.

August 28, 2015 at 7:31 am 1 comment

Older Posts


Recent Posts

December 2016
M T W T F S S
« Nov    
 1234
567891011
12131415161718
19202122232425
262728293031  

Feeds

Blog Stats

  • 1,293,450 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 4,598 other followers

CS Teaching Tips