Posts tagged ‘computing education’
According to the article linked below, there is a large effort to fill STEM worker jobs in Northern Virginia by getting kids interested in STEM (including computing) from 3rd grade on. The evidence for this need is that there will be 50K new jobs in the region between 2013 and 2018.
The third graders are 8 years old. If they can be effective STEM workers right out of high school, there’s another 10 years to wait before they can enter the workforce — 2024. If they need undergrad, 2028. If they need advanced degrees, early 2030’s. Is it even possible to predict workforce needs out over a decade?
Now, let’s consider the cost of keeping that pipeline going, just in terms of CS. Even in Northern Virginia, only about 12% of high schools offer CS today. So, we need a fourfold increase in CS teachers — but that’s just high school. The article says that we want these kids supported in CS from 3rd grade on. Most middle schools have no CS teachers. Few elementary schools do. We’re going to have to hire and train a LOT of teachers to fulfill that promise.
Making a jobs argument for teaching 3rd graders CS doesn’t make sense.
The demand is only projected to grow greater. The Washington area is poised to add 50,000 net new STEM jobs between 2013 and 2018, according to projections by Stephen S. Fuller, the director of the Center for Regional Analysis at George Mason University. And Fuller said that STEM jobs are crucial in that they typically pay about twice as much as the average job in the Washington area and they generate significantly more economic value.
It is against this backdrop that SySTEMic Solutions is working to build a pipeline of STEM workers for the state of Virginia, starting with elementary school children and working to keep them consistently interested in the subject matter until they finish school and enter the workforce.
Gas station without pump’s post on Garth’s complaint “Teaching programming is not getting easier” intrigued me. Garth does a good job of pulling together a lot of the themes of what makes teaching CS hard today. I think that we can improve the situation. I’m particularly interested in learning how to scaffold the development of programming knowledge, and we have to find ways to create professional communities of CS teachers. There are techniques to share (worked examples, peer instruction, pair programming, Parson’s problems, audio tours), and we’re clearly not doing a good job of it yet.
In programming there are 4 homework problems over the period of a week, none of which are “easy”, and all require some problem solving and thinking. There is somewhat of an incremental progression to the problems but that step from written problem to code is always a big one. It is somewhat similar to solving word problems in math, every student’s favorite task. For programming there are no colleagues available that have as much or more experience to pull teaching ideas from, if there are any other programming teachers at all. There are no pedagogical resources anywhere online for teaching strategies. After watching a number (3) of programming teachers teach it seems the teaching strategy is pretty consistent; show and tell and hope.
My May 2014 Blog@CACM post, “What it takes to be a successful high school computer science teacher” sneaks up on a radical suggestion, that I’ll make explicitly here. High school computer science teachers need to be able to read and trace code. They don’t necessarily need to know much about writing code, and they certainly don’t need to know how to be software developers.
As we are developing our CSLearning4u ebook, we’re reviewing a lot of our prior research on the practices of successful CS teachers. What do we need to be teaching teachers so that they are successful? We don’t hear successful CS teachers talking much about writing code. However, the successful ones read code a lot, while the less-successful ones do not. Raymond Lister has been giving us evidence for years that there’s a developmental path from reading and tracing code that precedes writing code.
Yes, I’m talking about taking a short-cut here. I’m suggesting that our worldwide professional development efforts for high school teachers should emphasize reading and tracing code, not writing code. Our computer science classes do the reverse of that. We get students writing code as soon as possible. I’m suggesting that that is not useful or necessary for high school teachers. It is easier for them to read and trace code first (Lister’s studies) and it’s what they will need to do most often (our studies). We can reduce costs (in time and effort) of this huge teacher development effort by shuffling our priorities and focusing on reading.
(We do know from studies of real software engineers that they read and debug more than they write code. Maybe it would be better for everyone to read before writing, but I’m focusing on the high school teachers right now.)
Computing education (CE21) researchers are explicitly encouraged in this solicitation. It’s a nice idea to try to deal with the low success rates of NSF proposals these days.
With the goal of encouraging research independence immediately upon obtaining one’s first academic position after receipt of the PhD, the Directorate for Computer and Information Science and Engineering (CISE) will award grants to initiate the course of one’s independent research. Understanding the critical role of establishing that independence early in one’s career, it is expected that funds will be used to support untenured faculty or research scientists (or equivalent) in their first two years in an academic position after the PhD. One may not yet have received any other grants in the Principal Investigator (PI) role from any institution or agency, including from the CAREER program or any other award post-PhD. Serving as co-PI, Senior Personnel, Post-doctoral Fellow, or other Fellow does not count against this eligibility rule. It is expected that these funds will allow the new CISE Research Initiation Initiative PI to support one or more graduate students for up to two years.
Elliot gets it right in his NYtimes quote from this last weekend. Young kids who code are probably not learning much computer science that might lead to future jobs. Rather, they’re “programming” as if it’s a video game. That’s not at all bad, but it makes less believable the argument that we need coding in skills to improve the future labor force.
The spread of coding instruction, while still nascent, is “unprecedented — there’s never been a move this fast in education,” said Elliot Soloway, a professor of education and computer science at the University of Michigan. He sees it as very positive, potentially inspiring students to develop a new passion, perhaps the way that teaching frog dissection may inspire future surgeons and biologists.
But the momentum for early coding comes with caveats, too. It is not clear that teaching basic computer science in grade school will beget future jobs or foster broader creativity and logical thinking, as some champions of the movement are projecting. And particularly for younger children, Dr. Soloway said, the activity is more like a video game — better than simulated gunplay, but not likely to impart actual programming skills.
Remarkable debate on the NYTimes website about “Should coding be part of the elementary school curriculum?” All the debaters have very short statements, and they’re disappointing.
- Hadi Partovi claims “By high school, it can be too late” and “Students learn fast at a young age, before stereotypes suggest coding is too difficult, just for nerds, or just for boys” — I don’t agree with either statement. We have lots of examples of women and under-represented minority students discovering CS in high school. It’s not at all clear that students learn everything quickly when they’re young — quantum physics and CS might both be beyond most second graders.
- But John C. Dvorak’s claim that “This is just another ploy to sell machines to cash-strapped school districts” is also clearly wrong. The computer manufacturers are not playing a significant role in the effort to push computing into schools.
Take a look and see what you think. It’s exciting to have this kind of debate in the NYTimes!
Despite the rapid spread of coding instruction in grade schools, there is some concern that creative thinking and other important social and creative skills could be compromised by a growing focus on technology, particularly among younger students. Should coding be part of the elementary school curriculum?
A really fun article, with videos of lots of classic Basic systems running.
Kemeny believed that these electronic brains would play an increasingly important role in everyday life, and that everyone at Dartmouth should be introduced to them. “Our vision was that every student on campus should have access to a computer, and any faculty member should be able to use a computer in the classroom whenever appropriate,” he said in a 1991 video interview. “It was as simple as that.”