Archive for December, 2017

Require CS at University in order to Get CS into K-12 (Revisited)

I wrote a blog post in Blog@CACM in 2011: If You Want High School CS, Require Undergraduate CS.  Everything we’ve seen since then makes me more convinced this is a viable path to providing high-quality CS education for every student.

There is a growing body of evidence that every student at University will need computing. The recent report from Burning Glass and Oracle Academy shows how much in demand CS skills are, far beyond just those who will be professional software developers. Teaching everyone about computing would help in addressing Cathy O’Neill’s calls for more people to be investigating the algorithms controlling our lives. The argument for why University involvement is necessary for K12 CS Ed is based on an observation made recently by We are not producing enough CS teachers in University. If everyone took CS at University, that would also reach pre-service teachers. That would make it easier for those teachers to teach CS in the future.

Requiring CS at University may help with the bigger cultural and perception problem.  In England, we see that schools aren’t offering CS even if it’s part of the required curriculum, and students (especially females) aren’t taking it (see the Royal Society report from last month).  The problem is that we’re trying to shoehorn CS into a culture that isn’t asking for it, or rather, the students (and schools) don’t perceive a need for CS. This is a form of the same problem that came up when we were talking about getting more formal methods into software development practice. All professionals should understand the role of computing in our society and how to use computing as a literacy: To express ideas, to share ideas, and to use in developing ideas.

Schools follow society. Society is rarely (if ever) changed by schooling. If you want a computationally literate society, convince the adults. If most professionals use computing, the same professionals that students want to be like, then there is a social reason to learn computing. Social demand to prepare K-12 students in that literacy makes it more likely for that literacy to succeed in K-12 education.  Trying to teach all students something that society doesn’t value for everyone is counter to situated learning theory.  Students (even K-12 students) are engaged in legitimate peripheral participation — their “job” is to figure out what is expected of them in society. If they don’t see computational literacy broadly in society, students don’t get the message that it’s important for everyone to learn.

When I make this suggestion to University faculty, I often hear the argument, “Anything you require of students, they will hate.” Then they tell me an anecdote of some student who hated a requirement, or of some personal experience of a class they hated. I know of no empirical evidence that says that this is generally true. We do have empirical evidence that says it’s false. Mike Hewner’s work found that US students take required classes in order to discover what they like, and they make curricular choices based on what they like.

We are already seeing students from all over campus flooding into our classes (see the Generation CS report and the National Academies report). We are already learning how to manage the load. It’s already happening in some Universities that most or all students at University are taking CS. Why not require it so that we get the Education students who we may not be seeing yet in CS classes?

Instead of using Universities to make CS education work, we are pouring money into CS Ed via in-service professional development — a tenfold increase in England, and $1.5B in the next five years in the US.  In general, more money in education alone doesn’t change things. We have to think about systems, policies, and our educational ecosystem. Universities are part of that educational ecosystem.

Universities play a role in K-12 education in all other subjects. We have to involve them in order to create sustainable K-12 Computer Science education.

December 15, 2017 at 7:00 am Leave a comment

State of Computing Education in the Commonwealth of Virginia: Guest Blog Post from Rebecca Dovi

Rebecca Dovi of CodeVA contacted me soon after my blog post of last Monday, inspired by Virginia’s new CS Education mandate. The story about the Virginia decision was much more complicated and interesting. I invited her to write a guest blog post, and I’m grateful that she agreed. It’s a fascinating story!

In February 2016 Virginia’s legislature passed House Bill 831 making computer science a part of the core instruction that all students in state must learn. The law mandates specifically “computer science and computational thinking, including computer coding,” be integrated into Virginia’s core standards on coequal standing, in the words of Virginia Secretary of Education Dietra Trent, with English and math. (Bill language  )

At CodeVA, core standards had been a “maybe someday” issue on our radar. In terms of strategic planning we were not really considering advocating for core standards until several years out. Then the 2016 legislation cycle started, and with it five separate bills to make computer science count as a foreign language credit.

While standards were not yet something we actively sought, we knew all of these foreign language bills – while well intentioned – were not the means to the end the Virginia Assembly sought to achieve.

Armed with information, CodeVA sought to educate legislators, and in the process was asked instead to propose a substitution. The substitution proposed was the language of HB 831, amending the state’s core education standards enabling legislation. At the insistence of legislators, the bill also originally included a high school mandate and a graduation credit requirement, but CodeVA managed to convince legislators to allow it to use these two items as bargaining chips in negotiations with stakeholders. CodeVA knew these two additional requirements were a bridge too far: previous high school mandates requiring economics and personal finance courses for all high school students still cause issues for many districts around the state already struggling to have enough faculty to teach other subjects.

In the end, all stakeholders involved in the legislation were pleased with the law that was adopted, with acceptance of the final language from advocates representing the state’s superintendents, PTAs, teacher groups, school boards and from some of the state’s most influential school divisions.

Once the governor signed the bill into law, it was up to the Virginia Department of Education (VDOE) to write standards for the Virginia Board of Education to approve. Virginia has a very prescribed system for developing and maintaining standards. It starts with creating a steering committee of current classroom teachers to act as the primary writing group. Once they have completed drafts multiple review boards give feedback on the standards. The groups weighing in as a part of this formal process include other teachers, educational stakeholders including groups like the Virginia Association of School Superintendents and the Virginia Department of Juvenile Justice, universities and community colleges and business and industry. Each external review group makes recommendations and the steering committee reviews and responds. Finally all standards go out for open public review, and public meetings are held across the state. The steering committee begin its formal work in March 2017 and the final draft was ready for the VDOE by October 2017.

The final draft went up for a vote by the Board of Education at its November meeting. While the board minutes of this meeting have not yet been posted (as of Dec 11, 2017) you can watch the video here (link: ). CodeVA’s executive director begins his presentation to the board at the 46:30 mark, and the board discussion of the CS standards continue from there.

The mandate for instruction by districts exists for K-8 and means computer science will be integrated into the core subjects students learn in kindergarten through eighth grade. The committee that wrote the standards was very intentional about how these are designed, so there are a few key differences between the Virginia standards and the national standards. First, they are defined for each grade, not by band. Second, in kindergarten and first grade they are written so a teacher may have students coding, or that teacher may choose to guide a lesson with small groups. Third, all non-coding standards were specifically placed so that they aligned with topics currently covered in core areas. Lastly, a sixth strand for cybersecurity was added.

The law also mandates creating standards for middle school and high school electives. These were defined, but the courses are currently optional for schools. CodeVA was intentional in advocating for this tiered approach to Virginia’s mandate: A school division where all students learn computer science concepts early as tools in math, science, language arts and other core subjects, and where parents come to expect quality offerings at the secondary level for their children, and where employers anticipate a CS-literate community, are more likely to ensure those elective offerings exist.

While schools certainly may use our virtual system to offer online high school elective courses, and while Virginia has offered CS through this online instruction platform for over a decade, Virginia’s new CS law includes no mandate to do so. And online instruction options were not in any way a part of the design of the law or of the resulting standards.

The idea is that the integration in K-8 allows students an “informed option” as they move from middle school to high school. By learning computer science early, they have a better idea of what they might want to pursue as an elective. The plan is to measure impact for the next few years, then evaluate the need for high school mandate or graduation requirements. If after data is collected and evaluated it is decided that the mandate needs to be expanded to high school  legislators can certainly go back seeking further requirements. Right now we are asking legislators to hold back from trying to move this process faster. Lawmakers in Virginia have reason for their exuberance for this issue: Virginia has the highest concentration of computer science jobs in the country and with the number of open jobs legislators are under enormous pressure from our business community to act.

Steering away from a high school mandate was a practical choice on two levels. First, we are not near capacity for having enough high school teachers to cover a mandate at that level, the average high school in state would need 4-6 full time computer science teachers to cover a graduation requirement, and an example. CodeVA has trained over 400 middle and high school teachers over the past four years, and this summer will be expanding from one central training to four statewide hubs serving up to 600 teachers. While this moves the state closer towards the goal of having one computer science teacher in each of the state’s 700-plus middle and high schools, that still is enough to meet the demand an immediate high school mandate would create.

Second was the general feeling that it is OK for a student to pursue another field in high school and not want to continue with computer science.This is where measuring the impact of the current initiative becomes vital. We first must explore how exposing all students over several years to ongoing computer science instruction shifts landscape in high school and beyond.

For CodeVA the next step is to continue to work with schools and districts to incorporate computer science in daily instruction. Expanding access to professional development by establishing three new hubs across the state is an important first step. These hubs will continue to run the middle and high school training cohorts we have lead since 2014 and add the new Elementary Coaches Academy we are currently piloting. In addition, to support the K-8 mandate we will be working with teams of teachers to create classroom curriculum that reflects the new standards. Finally, CodeVA is launching a pilot of a Computer Science Roadmap project that helps districts collect the information they need to plan the infrastructure needed for implementation.

While two years ago we did not anticipate needing to build a statewide infrastructure to support the implementation of standards Virginia hopes that the lessons learned through this process can inform other states as they move to truly bring computer science to all of their students.


December 14, 2017 at 7:00 am Leave a comment

Resources for dealing with the Undergraduate CS Capacity Crisis: Guest Post from Eric Roberts

Eric Roberts emailed to SIGCSE-members a note with resources on the capacity crisis. He graciously agreed to let me share it here as a guest blog post. Thanks, Eric!


A month ago, I sent out an announcement of the report from the National Academies entitled “Assessing and Responding to the Growth of Computer Science Undergraduate Enrollments,” which is available on the web at the following URL:

SInce it’s hard to wade through a 184-page report (especially since our massive enrollments leave most of us with little free time), I’ve put together a web page of resources to help institutions meet these capacity challenges, which you can find here:

In particular, I created a PowerPoint presentation that offers background data and annotations for the nine findings from the National Academies report. That slideshow is linked from my resources page but is also accessible directly as

A few of the slides contain animations that I have found to be more effective than text or graphs, most notably on the slides titled “Classrooms are Overflowing” (slides 9-10), “The Challenge of Faculty Recruitment” (slide 15), and “Locking the Clubhouse” (slide 43). Feel free to use any of these slides in your own presentations.
I hope you find these materials useful in making the case for increased resources.  And please send me any comments you have along with suggestions for any additional information that you would find helpful.
Eric Roberts
Charles Simonyi Professor of Computer Science, emeritus
Stanford University

December 13, 2017 at 7:00 am 2 comments

How the Imagined “Rationality” of Engineering Is Hurting Diversity — and Engineering

Just a few weeks ago, Richard Thaler won the Nobel prize in Economics. Thaler is famous for showing that real human beings are not the wholly rational beings that Economic theory had previously assumed.  It’s timely to consider where else we assume rationality, and where that rational assumption may lead us into flawed decisions and undesirable outcomes.  The below article from Harvard Business Review considers how dangerous the Engineering “purity” argument is.

Just how common are the views on gender espoused in the memo that former Google engineer James Damore was recently fired for distributing on an internal company message board? The flap has women and men in tech — and elsewhere — wondering what their colleagues really think about diversity. Research we’ve conducted shows that while most people don’t share Damore’s views, male engineers are more likely to…

But our most interesting finding concerned engineering purity. “Merit is vastly more important than gender or race, and efforts to ‘balance’ gender and race diminish the overall quality of an organization by reducing collective merit of the personnel,” a male engineer commented in the survey. Note the undefended assumption that tapping the full talent pool of engineers rather than limiting hiring to a subgroup (white men) will decrease the quality of engineers hired. Damore’s memo echoes this view, decrying “hiring practices which can effectively lower the bar for ‘diversity’ candidates.”

Google and taxpayer money, Damore opines, “is spent to water only one side of the lawn.” Many male engineers in our survey agreed that women engineers are unfairly favored. “As regards gender bias, my workplace offers women more incentives and monetary support than it does to males,” commented one male engineer. Said another, women “will always be safe from a RIF [reduction in force]. As well as certain companies guaranteeing female engineers higher raises.”

Source: How the Imagined “Rationality” of Engineering Is Hurting Diversity — and Engineering

December 11, 2017 at 7:00 am 1 comment

Advancing Computational Thinking Across K-12 Education, across Many Disciplines – Digital Promise #CSEdWeek

New report on coding, computer science, and computational thinking has just come out from Digital Promise.  I have been critical of some definitions of computational thinking (as I described in my book). I like the way Digital Promise defined them, and particularly how they connect CT to learning in other disciplines.

Advocating for computational thinking throughout the K-12 curriculum does not replace or compete with efforts to expand computer science education: on the contrary, it complements them. Where computer science is not yet offered, integrating computational thinking into existing disciplines can empower educators and students to better understand and participate in a computational world. And schools already teaching coding and computer science will benefit from weaving computational thinking across disciplines in order to enrich and amplify lessons that are beyond the reaches of computer science classes.

We offer a number of recommendations to move this work forward. Among them are advocacy campaigns, curriculum and resource development, professional development for teachers and administrators, and continued research.

Source: Advancing Computational Thinking Across K-12 Education – Digital Promise

December 8, 2017 at 7:00 am Leave a comment

NSF funds FLIP Alliance to diversify CS professoriate #CSEdWeek

This is an exciting new project from Valerie Taylor (University of Chicago), Charles Isbell (Georgia Tech), and Jeffrey Forbes (Duke University). It’s based on an observation that Charles has made before, that we can diversify CS faculty by impacting just a handful of schools.

The goal of the NSF-funded FLIP (Diversifying Future Leadership in the Professoriate) Alliance is to address the broadening participation challenge of increasing the diversity of the future leadership in the professoriate in computing at research universities as a way to achieve diversity across the field.  In particular, the problem that we address is stark and straightforward: only 4.3% of the current tenure-track faculty in computing at these universities are from underrepresented groups.

The FLIP Alliance solution is equally stark and straightforward: we intentionally bring together the very small number of departments responsible for producing the majority of the professoriate with individuals and organizations that understand how to recruit, retain, and develop students from underrepresented groups in order to create a network that can quickly and radically change the demographic diversity of the professoriate across the entire field.

from CMD-IT FLIP Alliance

December 7, 2017 at 7:00 am 5 comments

US National Academics Report Investigates the Growth of CS Undergraduate Enrollments #CSEdWeek

The new National Academies report on the growth of CS undergraduate enrollments came out last month. It’s important because it reflects the recommendations of scholars across disciplines in dealing with our enormous enrollment growth (see Generation CS report for more findings on the surge).

I wrote about this report in my Blog@CACM post for this month, The Real Costs of a Computer Science Teacher are Opportunity Costs, and Those Are Enormous.  The report talks about how hard it is to hire new faculty to deal with the enrollment boom, because the Tech industry is increasing its share of new PhD’s and recruiting away existing faculty.

Eric Roberts at Stanford was part of the report writing, and points out that the committee did not reach agreement that there is a problem with participation by underrepresented minorities. Quoting Eric’s message to SIGCSE-members, “the committee did not find comparable evidence that departmental limitations have historically had a negative effect on participation by underrepresented minorities. In fact, the total number of degrees awarded to students in the largest of the underrepresented demographic groups (African American and Latino/Latina) has roughly matched the percentages at which students from those communities obtain bachelor’s degrees.”  It’s surprising, and Eric’s note goes on to explain why that result is so concerning. The report does say clearly, “Institutions should take deliberate actions to support diversity in their computer science and related programs.”

Since 2006, computer science departments in the U.S and Canada have experienced a surge in the number of undergraduate majors and course enrollments. The resulting strain on departmental and institutional resources has been significant for many departments, especially with respect to faculty hiring and overall workload. The National Academy of Sciences (NAS) has recently addressed the issue with the release a report titled “Assessing and Responding to the Growth of Computer Science Undergraduate Enrollments.”

The NAS report discusses strategies central for managing enrollment and resources, and makes recommendations for departments and institutions. Its findings and recommendations provide much-needed guidelines on how institutions can allocate resources to meet growing student demand and to adequately support their computer science department in the increasingly central role of computer science in education and research. “The way colleges and universities respond to the surge in student interest and enrollment can have a significant impact on the health of the field,” said Susanne Hambrusch, co-chair of the report’s committee and a professor of computer science at Purdue University.  “While there is no one-size-fits-all answer, all institutions need to make strategic plans to address realistically and effectively the growing demand for the courses.”

Source: NAS Report Investigates the Growth of Computer Science Undergraduate Enrollments

December 6, 2017 at 7:00 am 1 comment

Older Posts

Recent Posts

December 2017
« Nov   Jan »


Blog Stats

  • 1,468,237 hits

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

Join 5,212 other followers

CS Teaching Tips