Posts tagged ‘programmers’

Time spent is about expertise developed: Programmer productivity is an education problem

Joel Spolsky argues that the time spent on an assignment by students is not correlated with the results.  This is part of his argument that there is a 5x to 10x productivity gap between the best and average programmers.

There’s just nothing to see here, and that’s the point. The quality of the work and the amount of time spent are simply uncorrelated. I asked Professor Eisenstat about this, and he pointed out one more thing: because assignments are due at a fixed time usually midnight and the penalties for being late are significant, a lot of students stop before the project is done. In other words, the maximum time spent on these assignments is as low as it is partially because there just aren’t enough hours between the time the assignment is handed out and the time it is due. If students had unlimited time to work on the projects which  would correspond a little better to the working world, the spread could only be higher.

via Hitting the High Notes – Joel on Software.

I did my Blog@CACM post in November on this argument (see the post here).  Joel is measuring the wrong thing in his experiment.  Time spent doesn’t correlate with quality.  Time on task correlates with learning.  More knowledge correlates with greater quality, but you don’t know much about how much is already known by the students in the class that he’s studying.  Therefore, you can’t possibly make an argument about productivity when the critical variable is unknown.

There may be a productivity gap between the best and average programmers.  There’s a productivity gap between the best and average practitioners in any field.  The issue is whether we can generate the performance at the top end.  Can we make someone highly productive?  It’s a design problem.   It’s an education problem.

November 28, 2014 at 8:40 am 8 comments

Eye Movements in Programming Education: Interesting new workshop

Eye Movements in Programming Education: Analyzing the expert’s gaze

Workshop at the 13th KOLI CALLING INTERNATIONAL CONFERENCE ON COMPUTING EDUCATION RESEARCH

Joensuu, Finland, November 13th – November 14th, 2013

Computer Science Education Research and Teaching mainly focus on writing code, while the reading skills are often taken for granted. Reading occurs in debugging, maintenance and the learning of programming languages. It provides the essential basis for comprehension. By analyzing behavioral data such as gaze during code reading processes, we explore this essential part of programming.

This first workshop gives participants an opportunity to get insights into code reading with eye movement data. However, as this data only reflects the low level behavioral processes, the challenge to tackle is how to make use of this data to infer higher order comprehension processes. We will take on this challenge by working on a coding scheme to analyze eye movement data of code reading. The links between low and high level behaviors will help computing science educators to design, realize and reflect on the teaching of code reading skills.

Furthermore, we aim to open discussion about the ways of explicit teaching of readership skills in computing education. Therefore we will discuss the role of reading skills in teaching programming, facilitated by position papers of each participant.

To participate send a mail to teresa.busjahn@fu-berlin.de. It is possible to participate independent of attending Koli Calling. Participants will get eye movement data of reading and comprehension processes of expert programmers, and a coding scheme for annotating the process. You will annotate the video, and reflect on the (perceived) intentions behind the visible pattern. Applying and refining the coding scheme on the data gives insight into the higher order comprehension strategies of the reader.

A short individual reflection and position paper of the results and perspectives for teaching programming is required by the participants [max. 2-3 pages]. As a result, participants will jointly prepare a paper with the data and the refined coding scheme.

via Eye Movements in Programming Education • Computer Science Education • Department of Mathematics and Computer Science.

September 18, 2013 at 1:58 am Leave a comment

The BlueJ Blackbox now available: large scale programming education data collection

Neil Brown announced this at ICER last week.  The new version of BlueJ now anonymously logs user actions onto a server for analysis by researchers.  I just signed up to get access to the site.  I have a couple of ideas for research projects using these data.  It’s pretty exciting: Big data comes to computing education research!

We have begun a data collection project, called Blackbox, to record the actions of BlueJ users. We’re inviting all the BlueJ users (with the latest version, 3.1.0, onwards) to take part. About 2 months in to the project, we already have 25,000 users who have agreed to take part, with 1,000 sending us data each day. Based on current estimates, I expect that in November 2013 we should see around 5,000 users sending data each day, with a total of over 100,000 users. Rather than hoarding the data, we are making this data available to other computing education researchers for use in their own research, so that we can all benefit from this project.

via Blackbox: large scale programming education data collection | Academic Computing.

August 27, 2013 at 1:34 am 3 comments

Programmers insist: “Everybody” does not need to learn to code

I answered the criticism leveled below previously — it really is the case that many people who aren’t professional programmers are going to need to learn to program as part of their other-than-software jobs.  Why are programmers pushing back against people learning to code?  (And there seems to be a lot of pushback going on, as this mashup suggests.) Is it a sense of “What I do is important, and if everyone can do it, it lessens the importance”?  I don’t really think that they’re afraid for their jobs — it does take a lot of hours and effort to learn to code well.

The argument that it won’t “stick” (as suggested below) doesn’t work for me.  Just because we don’t know now how to teach computer science to everyone doesn’t mean that we can’t learn how to teach computer science to everyone who needs it.  Our lack of ability is not the same as the lack of need.  We don’t teach everyone to read well and understand mathematics yet — does that mean we shouldn’t try?

But if you aren’t dreaming of becoming a programmer—and therefore planning to embark on a lengthy course of study, whether self-directed or formal—I can’t endorse learning to code. Yes, it is a creative endeavor. At its base, it’s problem-solving, and the rewards for exposing holes in your thinking and discovering elegant solutions are awesome. I really think that some programs are beautiful. But I don’t think that most who “learn to code” will end up learning anything that sticks.  One common argument for promoting programming to novices is that technology’s unprecedented pervasiveness in our lives demands that we understand the nitty-gritty details. But the fact is that no matter how pervasive a technology is, we don’t need to understand how it works—our society divides its labor so that everyone can use things without going to the trouble of making them. To justify everyone learning about programming, you would need to show that most jobs will actually require this. But instead all I see are vague predictions that the growth in “IT jobs” means that we must either “program or be programmed” and that a few rich companies want more programmers—which is not terribly persuasive.

via “Everybody” does not need to learn to code. – Slate Magazine.

I saw the below exchange on Twitter, and thought it captured the argument well:

Twitter___caitsydney___What_the_world_needs_is_people_...

August 26, 2013 at 1:29 am 12 comments

How many programmers are there? From The Computer Boys Take Over

I just learned about book The Computer Boys Take Over (and immediately ordered a copy for my Kindle), and have been digging through the associated blog. (Thanks, Lauren Klein!) It’s a look at the politics of computing (including gender issues), from a historical perspective. I thought that this graph and blog post were particularly interesting. It’s markedly different from the Scaffidi, Shaw, and Myers prediction about 2012 that they made in 2005, but in part, that’s because Scaffidi et al. actually looked at what people did, where the BLS has been messing with the categories, as described below.

programmer-numbers

The chart above shows the Bureau of Labor statistics on programmer employment. I am not convinced that these numbers are at all accurate. Getting reliable data on programmer employment is surprisingly difficult.

To begin with, programmer is a vague category, and it is by no means clear that everyone who worked on “programming” defined themselves primarily as a “programmer.” Secondly, the Bureau of Labor Statistics did not beginning tracking programmers until 1972, and in 1983 and again in 2000 they adjusted their categories and methodologies. For the first ten years, three broad categories (“computer specialists”, “computer programmer”, and “computer analysts”) encompassed everyone working in computing.

via The Computer Boys Take Over.

January 3, 2013 at 7:39 am 5 comments


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

Join 9,026 other followers

Feeds

Recent Posts

Blog Stats

  • 1,986,131 hits
December 2021
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

CS Teaching Tips