Posts tagged ‘computing education’

Should computer science fulfill a foreign language admissions requirement?

An Atlanta-area PBS station did an article at the end of last year praising Georgia’s stance allowing CS to count as a foreign language: Is Computer Science A Foreign Language? Ga. Says Yes, Sees Boost In Enrollment | 90.1 FM WABE

The GT director of admissions was interviewed about this requirement in Insider HigherEd and had a much more reasonable take:

Rick Clark, director of undergraduate admissions at Georgia Institute of Technology, said he saw value in the steps by Georgia to encourage more study of computer science in elementary and secondary school.

“I like that kids, even in eighth and ninth grade, who are planning their path through school would take these courses, because basic coding and language will set them up for opportunities upon high school graduation that they would not have otherwise,” Clark said.

In fact, he said his concern is that access to computer science is unequal in Georgia high schools. Most of those who not only take a course, but are able to take Advanced Placement in computer science, are in the metro Atlanta area, Clark said. Georgia Tech is worried about these inequities and is exploring ways to use online instruction to make sure those outside the Atlanta area have access.

At the same time, Clark said, the push for computer science should not be viewed as either/or with foreign languages. He said Georgia Tech is “looking for students who demonstrate that international vision and interest,” and that he finds many of those applicants who are taking AP computer science in high school are also pursuing foreign language instruction as advanced levels.

More than half of Georgia Tech students participate in study abroad, he noted, and 10 percent of undergraduates are from outside the United States. “We are intent upon enrolling students who in high school chose to seek out that global perspective,” he said.

Source: Should computer science fulfill a foreign language admissions requirement?

January 22, 2018 at 7:00 am 3 comments

What does it mean for Computer Science to be harder to learn than other STEM subjects?

I made an argument in my Blog@CACM Post for this month that “Learning Computer Science is Different than Learning Other STEM Disciplines,” and on Twitter, I explicitly added “It’s harder.”

In my Blog@CACM post, I thought it was a no-brainer that CS is harder:

  1. Our infrastructure for teaching CS is younger, smaller, and weaker  (CS is so new, and we don’t have the decades of experience to figure out how to do it well yet.)

  2. We don’t realize how hard learning to program is (The fact that the Rainfall problem seems easy, but it’s clearly not easy, means that CS teachers don’t know how to estimate yet what’s hard for students, so our classes are probably harder than we mean them to be.)

  3. CS is so valuable that it changes the affective components of learning (Classes that are stuffed full of both CS majors and non-majors means that issues of self-efficacy, motivation, and belonging are much bigger in CS than in other STEM disciplines.)

The push back was really interesting.  People pointed out that they took CS classes and math classes, or CS and physics, and CS seemed easy in comparison.  They may be right, but that’s self-report on introspection by people who succeeded at both classes.  My point is that we are probably flunking out (or students are giving up, or opting out) of CS at much higher rates than any other STEM subject, because of the reasons I give.  We’re really using two different measures of “harder” — harder to succeed, or harder in retrospect once succeeded.

I only have a qualitative argument for “It’s harder.” I’m not sure how one would even evaluate the point empirically.  Any suggestions?  How could we measure when one subject is harder than another?

It’s not an important question to answer which is harder, CS vs math, or CS vs physics. A much more important and supportable claim is that CS “is harder” than it needs to be.  We have a lot of extraneous complexity and cognitive load in learning CS.

January 19, 2018 at 7:00 am 18 comments

What universities can do to prepare more Computer Science teachers? Evidence from UTeach

UTeach has published a nice blog post that explains (with graphs!) the ideas that I alluded to in my Blog@CACM post from last month.  While currently CS teacher production is abysmal, UTeach prepared CS teachers tend to stay in their classrooms for more years than I might have expected.  More, there is evidence that suggests that there is significant slice of the CS undergraduate population that would consider becoming teachers if the conditions were right.  There is hope to imagine that we can making produce more CS teachers, if we work from the University side of the equation.  Working from the in-service side is too expensive and not sustainable.

Michael Marder, Professor of Physics and Executive Director of UTeach, and Kim Hughes, Director of the UTeach Institute, write…

The number of computer science and computer science education teachers prepared per year is smaller than for any other STEM subject — even engineering and physics — and while estimates vary, it is safe to say it is on the order of 100 to 200 per year, compared to the thousands of biology or general science teachers prepared. 

The U.S. has around 24,000 public and 10,000 private high schools. Only 10% to 25% have been offering computer science, so to provide all of them with at least one teacher at the current rate simply looks impossible.

Source: What universities can do to prepare more Computer Science teachers

January 5, 2018 at 7:00 am Leave a comment

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

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

Older Posts Newer Posts

Recent Posts

March 2018
« Feb    


Blog Stats

  • 1,487,336 hits

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

Join 5,232 other followers

CS Teaching Tips