Archive for May, 2012

Excel programming for non-programmers: How mental models are developed

This new system for end-user programming from MIT raises a question for me about users’ mental models, which I think is key for computing education (e.g., for figuring out how to do inquiry learning in computer science).

Imagine that you use the system described below:  You give the system some examples of text you want transformed, before-and-after.  You run the system on some new inputs.  It gets it wrong. What happens then? I do believe the authors that they could train the system in three examples, as described below.  How hard is it for non-programmers to figure out the right three examples?  More interesting: When the system gets it wrong, what do the non-programmers think that the computer is doing, and what examples do they add to clear up the bug?

Technically, the chief challenge in designing the system was handling the explosion of possible interpretations for any group of examples. Suppose that you had a list of times in military format that you wanted to convert to conventional hour-and-minute format. Your first example might be converting “1515” to “3:15.” But which 15 in the first string corresponds to the 15 in the second? It’s even possible that the string “3:15” takes its 1 from the first 1 in “1515” and its 5 from the second 5. Similarly, the first 15 may correspond to the 3, but it’s also possible that all the new strings are supposed to begin with 3’s.

“Typically, we have millions of expressions that actually conform to a single example,” Singh says. “Then we have multiple examples, and I’m going to intersect them to find common expressions that work for all of them.” The trick, Singh explains, was to find a way to represent features shared by many expressions only once each. In experiments, Singh and Gulwani found that they never needed more than three examples in order to train their system.

via Excel programming for nonprogrammers – MIT News Office.

May 16, 2012 at 8:09 am 2 comments

Fewer women in top U.S. tech jobs since 2010: Only half of survey respondents think it’s a problem

Despite all the efforts of NSF BPC programs, the number of women graduating with undergraduate degrees in computing is not rising. Now, Reuters reports that the number of women in top technology positions has dropped for the second year in a row, despite the efforts of groups like the Anita Borg Institute and NCWIT.

There’s no direct causal relationship between those two sentences — it takes too many years for undergraduates to reach the top technology positions.  But I do wonder if there are similar external variables influencing each.  Is our society saying loudly and clearly to women, “don’t go into computing”?  And that message is showing results at both the undergraduate and executive levels?

That last sentence in the quote below is perhaps the most confusing.  Only 9% of top positions are held by women, 30% of respondents say that they have no women in upper-level positions — but only half of respondents think that women are under-represented in IT?  Perhaps no one pointed out to the respondents that women are half the population?  I can understand the argument that talent, perhaps especially executive talent, is not distributed evenly.  But why should anyone believe that such talent is only in the men?  And how can one believe no women have such talent in 30% of the respondents’ companies?

The number of women in senior technology positions at U.S. companies is down for the second year in a row, according to a survey published on Monday.

Nine percent of U.S. chief information officers (CIOs) are female, down from 11 percent last year and 12 percent in 2010, according to the survey by the U.S. arm of British technology outsourcing and recruitment company Harvey Nash Group.

About 30 percent of those polled said their information technology (IT) organization has no women at all in management. Yet only about half of survey respondents consider women to be under-represented in the IT department.

via Fewer women in top U.S. tech jobs since 2010: survey | Reuters.

May 15, 2012 at 9:50 am 5 comments

K-12 CS education events: Professional Development and Research Workshop

I’ve been asked to pass on two announcements that are related to computing education, and since both are events I vigorously support, I’m passing them on here:

K-12 CS Education Professional Development Opportunity

Do you know a computer science educator? If so, please share with them this low cost, high quality professional development opportunity.

The Computer Science & Information Technology (CS&IT) Conference is the only conference specifically developed for K-12 computer science educators. This year the conference will be held at the Hyatt Regency Irvine on July 9th and 10th, 2012, in Irvine, CA. To see the agenda, register for the conference, or reserve your reduced housing rate at the Hyatt, visit

K-12 CS Education Research Workshop

Dear colleagues,

We would like to remind you to submit a paper for the 7th Workshop in Primary and Secondary Computing Education (WiPSCE) and to join us in Hamburg (Germany), November 8-9th, 2012.

Submission deadline for abstracts: June 11th, 2012

Full submission deadline: June 24th, 2012

This gives you another 6 weeks for your contribution to WiPSCE 2012!

WiPSCE 2012 is organized in cooperation with ACM SIGCSE and aims for bringing together key researchers of primary and secondary computing education. The conference proceedings will be published in the ACM Digital Library.

We are pleased to announce that Judith Gal-Ezer (Open University of Israel) and Jan Vahrenhold (University of Münster) will give keynote speeches at WiPSCE 2012.

In addition, we were able to win the “Stiftung Weltweite Wissenschaft” for financial support which permits registration fees starting at just 70 EUR and being free for students without regular income!

For more information please refer to the below CFP or online at

Very best regards,

Maria Knobelsdorf and Ralf Romeike



CFP: The 7th Workshop in Primary and Secondary Computing Education

WiPSCE 2012

November 8-9, 2012, Hamburg, Germany


We invite you to submit a paper for the 7th Workshop in Primary and Secondary Computing Education (WiPSCE) and join us in Hamburg, Germany, in November 2012.

Research in primary and secondary computing education is a young field with strong ties to national educational systems. Nevertheless, its

theories, methods, and results are internationally applicable and of interest to both researchers and practitioners in this field. WiPSCE has

its roots in a long-running workshop of the German computing education community and now – based on this ten year tradition – aims at improving the exchange of research and practice relevant to teaching and learning in primary and secondary computing education, teacher training, and related research.

The 2012 workshop will be located in the exciting city of Hamburg – Germany’s so-called “Gateway to the World”. It is organized by the University of Hamburg in collaboration with the University of Potsdam.


WiPSCE is the workshop of the special interest group in Secondary Computing Education of the German Association of Informatics (GI) and originates from the German “Workshop der GI-Fachgruppe Didaktik der Informatik”. WiPSCE aims to publish high quality research that is theoretically and empirically anchored and involves innovative teaching and learning approaches in primary and secondary computing education. WiPSCE is a single track workshop with research, practice, and systems presentations as well as keynote speeches. The workshop language is English. The workshop is known for its moderate size and lively discussions, consequently a limited number of submissions will be accepted.


Original submissions in all areas related to primary and secondary computing education are invited. Topics of interest include, but are not limited to:

* Learning: attitudes, beliefs, motivation, misconceptions, learning difficulties, student engagement with educational technology (e.g. visualization), conceptualization of computing

* Teaching: teaching approaches, teaching methods, teaching with educational technology

* Content: curricular aspects, learning standards, tools, didactical approaches, context relevant teaching, assessment

* Institutional aspects: establishing and enhancing computing education, professional development


“Grand Challenges in Primary and Secondary Computing Education”

What are the grand challenges in primary and secondary education within the next decade? Which issues will unfold, persist or dominate in the near future? Which research questions need to be addressed? Which obstacles need to be overcome? Well explained analyses, theories, and opinions are highly welcome for this special session at WiPSCE 2012.


Submissions are invited for the following categories:

Full Paper (6-12 pages)

Full papers are expected to meet one of the two categories:

* Empirical Research Paper: Unpublished, original, theoretically anchored research relevant to the topics of the workshop. Empirical research papers are expected to be of high quality and present novel arguments, syntheses, results, methods or tools.

* Theoretical and Philosophical Research Paper: Unpublished, original, theoretically anchored research which includes dissemination and discussion of new ideas, theoretical analyses, or the proposition of an original theory relevant to the topics of the workshop.

Short Paper (3-4 pages)

Short papers are expected to present unpublished, original work in progress related to empirical or theoretical research relevant to the topics of the workshop.

Practical or Working Group Report (6-12 pages)

Reports are expected to present unpublished, original on-going work undertaken by larger groups as part of long-term, cooperative research projects.

Demo/Poster Abstract (2 pages)

Demo/Poster abstracts should present emerging ideas for future research, teaching practice, or tools.

Submissions are required to follow the standard ACM two-column format with a 9-point font. The review process will be double-blind, so authors are requested not to include their names and affiliations when submitting and to cite their prior work appropriately. Detailed submission information is available at


To ensure selection of high quality contributions, submissions for Full Papers are reviewed by at least three members of the international Program Committee. Short Paper submissions and Demo/Poster Abstracts are reviewed by at least two members of the Program Committee. The WiPSCE Program Committee takes pride in considering submissions thoroughly and providing constructive feedback.

All accepted contributions will be available as electronic pre-proceedings prior to the workshop. The papers from the workshop will be indexed and available through the ACM Digital Library. A printed volume of the proceedings can be ordered after the workshop.

At least one author must register and present accepted papers in order for the paper to be included in the workshop proceedings.


Submission deadline: June 11, 2012

Re-submission deadline (*): June 24, 2012

Notification of acceptance: August 30, 2012

Submission of revised manuscripts: October 1, 2012

Early Registration deadline: October 15, 2012

Registration and Welcome reception:

Evening of November 7, 2012

Workshop: November 8-9, 2012

(*) We offer a re-submission slack. This means that title and abstract of papers must be submitted by the June 11 deadline, but it will be possible to upload the full versions of papers until June 24. Paper abstracts that are not submitted by the June 11 deadline will not be considered.


Maria Knobelsdorf (University of Potsdam, Germany)

Ralf Romeike (University of Potsdam, Germany)


Michal Armoni (Weizmann Institute of Science, Israel)

Tim Bell (University of Canterbury, New Zealand)

Roger Boyle (University of Leeds, UK)

Torsten Brinda (University of Erlangen-Nürnberg, Germany)

Michael E. Caspersen (University of Aarhus, Denmark)

Paul Curzon (Queen Mary University of London, UK)

Ira Diethelm (University of Oldenburg, Germany)

Judith Gal-Ezer (The Open University of Israel, Israel)

Mark Guzdial (Georgia Institute of Technology, USA)

Peter Hubwieser (University of Technology, Munich, Germany)

Michael Kölling (University of Kent, UK)

Yifat Ben-David Kolikant (The Hebrew University of Jerusalem, Israel)

Johannes Magenheim (University of Paderborn, Germany)

Ulrik Schroeder (RWTH Aachen University, Germany)

Carsten Schulte (Freie Universität Berlin, Germany)

Peer Stechert (RBZ Technik Kiel, Germany)

Chris Stephenson (CSTA, USA)

Jan Vahrenhold (University of Münster, Germany)


Detlef Rick (University of Hamburg, Germany)

Axel Schmolitzky (University of Hamburg, Germany)


For more information please visit the WiPSCE website

or contact

Maria Knobelsdorf (,

Ralf Romeike (, or

Detlef Rick (

May 15, 2012 at 9:24 am Leave a comment

Big-D “Design” for education and online courses: Let’s build more and different

I was fortunate to serve as a reviewer on (now, Dr.) Turadg Aleahmad’s thesis committee at Carnegie Mellon University a couple weeks ago (link to abstract only).  Turadg was addressing a hard problem: Much of what we know about education principles (from research) rarely makes an impact on educational practice.  (This is the same problem that Sally Fincher was talking about in her SIGCSE keynote in 2010 — she called the research results “useless truths.”)  Turadg argues that bridging the gap is a job for Design (Big-D “Design,” as in thinking about Design as an explicit and conscious process).  In his thesis, Turadg uses HCI design practice and adapts it to the task of creating technologies that will actually get used in order to implement educational principles.  (I recommend Chapter 3 to all educational designers, including designers of computing curricula — Turadg describes a process to figure out what the stakeholders want, and to match that to desired principles.)

Turadg created two tools (and deployed them, and evaluated them — as well as inventing a new design method! All in one dissertation!).  One of them, called Nudge, is about reminding students to engage in learning activities spaced out over time, rather than cramming the night before (a form of the procrastination problem that Nick Falkner was just talking about).  The other one, Examplify, is about getting students to self-explain worked examples.  Turadg’s thesis is practice-oriented and practical. For example, he actually figured out the costs of deploying these tools (e.g., using Amazon Mechanical Turk effort to create the worked examples from older exams that the teacher provided as study guides).

Nudge and Examplify both worked, in terms of getting the benefits that Turadg designed them for.  But they didn’t have the uptake that I expected — it wasn’t whole class adoption.  Those who used it got benefit out of it.

I challenged Turadg on this point at his defense.  Does the fact that not everyone used it suggest that his design process failed?  Turadg argued that the point of the design process is to build something that someone will use to achieve the design goals.  He did that.  He did accurately identify a population of users and their needs, and he met those needs.  For importantly, his process assumes “the long tail.”  Educational interventions need to be tailored for different student populations. One tool will rarely work for everyone in the same way. How do you get to everyone?  Build more tools, more systems!  Adapt to the wide range of people.

Turadg gave me a new way of thinking about the results from Coursera and Udacity courses.  It’s not a problem that these systems are mostly attracting the 10-30% of students at the top.  The problem is that we don’t have another dozen systems that are aiming to serve the other 70-90%.  What kinds of online courses do we need that explicitly aim at the low to middle performing students?  Maybe we need on-line courses or books that seek to bore and drive away the upper percentages?

My guess is that the new edX partnership between Harvard and MIT (below) is going to aim similarly at the top students.  Getting those top students has potential value that is worth the competition and money being invested.  There’s likely to be less investment into the low-to-mid range.  From the perspective of serving all the needs in our society, we need more and different forms of these technologies.  I’m personally more interested in these courses, thinking about it from Turadg’s perspective.  It’s a design challenge — can you use the Coursera/Udacity/edX technologies and approaches to reach “the rest of us”?  Or maybe technologies for the other segments of the market will look more like books than courses?

In what is shaping up as an academic Battle of the Titans — one that offers vast new learning opportunities for students around the world — Harvard University and the Massachusetts Institute of Technology on Wednesday announced a new nonprofit partnership, known as edX, to offer free online courses from both universities.

Harvard’s involvement follows M.I.T.’s announcement in December that it was starting an open online learning project to be known as MITx. Its first course, Circuits and Electronics, began in March, enrolling about 120,000 students, some 10,000 of whom made it through the recent midterm exam. Those who complete the course will get a certificate of mastery and a grade, but no official credit. Similarly, edX courses will offer a certificate but will carry no credit.

via Harvard and M.I.T. Team Up to Offer Free Online Courses –

May 14, 2012 at 8:34 am 3 comments

Percent of Bachelors going to Women: Not getting better among Computing Disciplines

Lecia Barker shared some data at the recent PACE (Partnership for Advancing Computing Education) meeting, and she said I could share it here.  It’s from the IPEDS data, on the percentages of women graduating with undergraduate degrees in different majors.  Computer Science and Electrical Engineering are doing pretty badly here, but not as badly as Computer Engineering.  Information Systems was doing almost as well as Chemical Engineering, but is now diving.

Lecia gave me some explanatory text for this that I promised to share:

An important thing to note about the graph is that the “comp sci” data is from CIP* 11.0701, computer science, NOT 11.01, computer and information sciences, the general umbrella category. It makes a big difference, so some people may question whether the numbers are correct. And it’s really imperfect. Under the general category, a lot of other subcategories are included, besides computer science. However, a lot of computer science departments do not bother to report into the finer-grained 11.07 category (computer science), but instead just report into 11.01, general. So it’s really hard to sort out. The University of Texas and Georgia Tech CS depts both reports into the general 11.01 and not the specific — and they represent a lot of majors! I used 11.0701 in this graph because I think the number of entries for 11.0701 (7,929) is probably a large enough sample to represent the population of CS majors with a pretty good confidence interval, though I can’t say what the confidence interval is or what the population of CS-but-not-all-CIS is due to what I said above.

According to another data download, Georgia Tech graduated 13 women BS in all disciplines in 2011, by the way. That was 7% of all BS awarded at GT. (See below addition.)

*classification of instructional program

Addition:  I had several people question the GT data that Lecia sent me. I don’t know how to read the IPEDS data, but I can read GT’s stats:  GT graduated 925 females across all majors, which is 31%, which is comparable to the percentage of frosh females who enter GT. In Computing, we graduated 34 females in 2011 which is 14% of the total.  So, I don’t know if the IPEDS data are wrong, or if GT is reporting in different categories than Lecia was pulling from.

Second Addition:  Cameron Wilson shared some additional data with me, on the trends in women’s participation in CS across different degrees.  The actual Excel file he sent me (with permission to repost) can be found here.  The graph below tells the main story.  Series 1 is the number of female PhD graduates, Series 2 is the number of female MS graduates, and Series 3 is the number of female BS graduates.  The Excel file also provides US citizen vs. temporary residents.

Here’s a revised form, with the legend right:


May 11, 2012 at 8:36 am 10 comments

Study Opens Window Into How Students Hunt for Educational Content Online: But what are they finding?

This reminds me of Brian Dorn’s work, and points out a weakness of this study.  Brian went out to check if the knowledge that the students needed was actually in the places where they looked.  Morgan’s study is telling us where they’re looking.  But it’s not telling us what the students are learning.

It’s nothing new to hear that students supplement their studies with other universities’ online lecture videos. But Ms. Morgan’s research—backed by the National Science Foundation, based on 14 focus-group interviews at a range of colleges, and buttressed by a large online survey going on now—paints a broader picture of how they’re finding content, where they’re getting it, and why they’re using it.

Ms. Morgan borrows the phrase “free-range learning” to describe students’ behavior, and she finds that they generally shop around for content in places educators would endorse. Students seem most favorably inclined to materials from other universities. They mention lecture videos from Stanford and the Massachusetts Institute of Technology far more than the widely publicized Khan Academy, she says. If they’re on a pre-med or health-science track, they prefer recognized “brands” like the Mayo Clinic. Students often seek this outside content due to dissatisfaction with their own professors, Ms. Morgan says.

via ‘Free-Range Learners’: Study Opens Window Into How Students Hunt for Educational Content Online – Wired Campus – The Chronicle of Higher Education.

May 9, 2012 at 8:49 am 1 comment

How can we teach multiple CS1’s?

A common question I get about contextualized approaches to CS1 is: “How can we possibly offer more than one introductory course with our few teachers?”  Valerie Barr has a nice paper in the recent Journal of Computing Sciences in Schools where she explains how her small department was able to offer multiple CS1’s, and the positive impact it had on their enrollment.

The department currently has 6 full time faculty members, and a 6 course per year teaching load. Each introductory course is taught studio style, with integrated lecture and hands-on work. The old CS1 had a separate lab session and counted as 1.5 courses of teaching load. Now the introductory courses (except Programming for Engineers) continue this model, meet the additional time and count as 1.5 courses for the faculty member, allowing substantial time for hands-on activities. Each section is capped at 18 students and taught in a computer lab in order to facilitate the transition between lecture and hands-on work.

In order to make room in the course schedule for the increased number of CS1 offerings, the department eliminated the old CS0 course. A number of additional changes were made in order to accommodate the new approach to the introductory CS curriculum: reduction of the number of proscribed courses for the major from 8 (out of 10) to 5 (this has the added benefit, by increasing the number of electives, of giving students more flexibility and choice within the general guidelines of the major); put elective courses on a rotation schedule so that each one is taught every other or every third year; made available to students a 4-year schedule of offerings so that they can plan according to the course rotation.

May 8, 2012 at 7:23 am 2 comments

Worldwide call to draw more women into computing

Really interesting: A UN-hosted event to address the lack of women in computing worldwide. “ITU Secretary-General Hamadoun Toure says information and communications technology (ICT) jobs are expected to greatly outstrip the supply of professionals to fill them within the next 10 years, which represents ‘an extraordinary opportunity for girls and young women.'”

New York, 26 April 2012 – Global leaders from the US, Europe, Africa and Asia joined together today to debate and define a roadmap that will help break down barriers and overturn outmoded attitudes in a bid to get more girls into technology-related studies and careers.

A high-level dialogue held at New York’s Institute of International Education and hosted by the International Telecommunication Union, the UN-specialized agency for information and communication technology, identified misguided school-age career counselling, the popular media’s ‘geek’ image of the technology field, a dearth of inspirational female role models, and a lack of supportive frameworks in the home and workplace as factors that, together, tend to dissuade talented girls from pursuing a tech career.

via Newsroom • Press Release.

May 7, 2012 at 6:46 am 1 comment

Blog Post #1000: The Magic of Time — about making beer and reform

I’ve taken up a new hobby: Making beer.  My kids got me a Mr Beer Kit for Christmas, and I’ve just bottled my second batch.  I enjoy how it connects me to an ancient practice.

It’s a slow-moving hobby that helps me understand a belief in magic.  You make up this brown gunk that smells odd, and a little powder (yeast), and let it sit for two weeks.  Taste it — it tastes like (flat) beer!  Put it in a bottle with sugar and let it sit again for a couple more weeks. It really is beer!  Sure, I’ve had biology classes, and I know what yeast is doing, but I’m not sure that I really understand it.  Am I really that different than the ancients who saw magic in the transformation of wort into beer?  I think I just have different gods (I call my special powder “yeast”) for explaining the magic of making beer.

The key to the process is time.  It takes a bunch of time to make beer.  Maybe an hour of effort to start the fermentation, two weeks of waiting. About 45 minutes of effort to bottle, and two weeks of waiting.

Parents know all about the magic of time.  My children range in age from mid-teens to twenties.  I remember them being born.  I remember dealing with day care and elementary school and Cub/Girl Scouts and soccer and dance classes.  Where did these smart, beautiful, and talented young adults come from?

This is my 1000th blog post here on WordPress.  It’s a relatively arbitrary milestone.  It doesn’t correspond to any particular piece of time.  This June will be my fourth year on WordPress, and I was on Amazon for a couple years before that.  It’s a good place to put a stake in the ground and explain what I’m doing here.

I believe passionately in the power of understanding computing and  using programming for all professions.  I am fascinated by computing education research, the study of how people come to understand computing, and how to improve that process.  I would like to see all professionals achieve a level of computing literacy. But I don’t really expect to see that in my lifetime.

How do we change/implement/improve computing education, permanently and effectively?  Slowly.

It took well over a hundred years for calculus to be taught to undergraduates, and another hundred years to be taught in secondary schools.  Want computing education to happen in high schools?  Require it or expect it for undergraduates.  Universities can show value by using programming across the curriculum, and expecting its use (in a deep, informed, literate way) by their students.  It’s going to take time to convince our colleagues in higher education that real computing, with programming, is useful for all undergraduates.  If we can’t, we’ll never convince all the high school teachers, principals, and administrators.  How can we say to secondary schools, “Oh, you should teach computing to everyone” but turn around and say, “But we don’t, and we don’t particularly care if our students can program”?  But if higher-education demonstrates that we value computing, we will create a model for secondary schools.  When all undergraduates learn computer science, it will appear in the high schools.

Along the way, we’ll change how we teach computing. We’ll understand how to do it better and what’s useful about learning it, and we’ll change and improve the languages and tools to better achieve the goals.  Computational thinking is a fine goal, and it’s on the path, but it’s not the final goal.  I really do mean programming in Amy Ko’s sense and for all the reasons that Alan Perlis said.  The ability to define processes for an insanely fast agent to execute sometime in the future does change everything.  Seymour Papert said it well when he called the computer an object to think with. In that same article, Seymour wrote:

“The computer is a medium of human expression and if it has not yet had its Shakespeares, its Michelangelos or its Einsteins, it will.”

When you have a tool for thought, the most powerful and creative “medium of human expression” that has ever been created, why would you not work towards everyone having access to it?

But it’s going to take a lot of time to see that level of adoption: in most undergraduate programs, in most high schools.  I completely expect it. One day.

There is a significant way in which achieving educational reform and parenting is different from making beer.  Making beer is a little effort and a lot of waiting.  Parenting and education reform are about sustained effort over long periods of time.  You get there by keep being there.

This is my 1000th blog post.  Monday starts the next 1000.

May 4, 2012 at 9:00 am 15 comments

Blog Post #999: Research Questions in Computing Education

The 999th blog post feels like a good point to think about where we’re going.  Here’s how I define the big question of computing education research:

Computing education research is the study of how people come to understand computing, and how we can make that better.

But that’s the big question.  There are lots of research questions inside that.  Here are some of the ones that I’m intrigued by.  This is an overly-long blog post which I’m using as a place marker:  Here’s what I’m thinking about right now at the end of the first 1000 blog posts.  Skip around to the parts that you might find interesting.

What are the cognitive processes of learning to program?

Why is learning to program hard? The empirical evidence of teaching computer science suggests that it is. Failure rates worldwide of 30-50% in the first class have been reported for decades. The misconceptions and challenges that students faced in Scratch in Israel (ITICSE 2011) are quite similar to the same ones documented in Pascal at Yale in the 1980’s (Soloway et al.).

Are there cognitive challenges to learning programming that are unique among other disciplines? Perhaps so. Consider these two possibilities:

  • Agency: Writing a computer program is the task of providing instructions to another agent to execute, but a non-human agent. Miller in 1981 found that humans found it hard to describe task processes to another human, and the produced instructions required human understanding to interpret them. People do not naturally produce instructions at a level detailed enough for a computer to execute.
  • Time: A program uses a variety of notations to compress time, e.g., iteration and recursive constructs. These notations describe a process in brief which will execute repeatedly many times (perhaps millions of times). We know that these notations are among the most challenging for students to grasp.

Both agency and time notations are unique to the challenge of programming. Perhaps these factors (among others) help to explain why programming is so hard, and understanding these challenges will lead to new insight into how humans conceive of agency and time.

Where do problems/difficulties/misconceptions in learning programming come from?

Most students have no experience in programming computers before they enter their first computer science class.  So, no prior conception of assignment, memory allocation, WHILE and FOR loops, linked lists, or recursion — yet these are way up there on the list of things that are hard about learning to program.  They haven’t changed in decades, across multiple languages.  Where did those problems come from?  Do we teach them wrong?  Exactly where so that we can fix it!  Do students have some prior knowledge that is interfering?  What knowledge are students bringing to bear in learning to program?

Can we teach computing without a programming language?
Can someone learn what a computer is, how it works, and what its limitations are simply through non-programming activities?

Mathematicians did. Turing defined what a computer is, without a programming language. Instead, he defined a machine and a language.

I’m increasingly coming to believe that those are outliers — Turing and mathematicians who figure out computing without a computer are unusual, and we can’t do that at-scale.  Learning to understand computing is learning to understand a notional machine (duBoulay), to construct a mental model of how you expect the notional machine to work (Norman), and that mental model consists of decontextualized parts (deKleer and Brown).  It’s very hard to think about those parts without having names or representations of them.  It can happen, but it takes enormous cognitive effort.  It’s not going to be effective and efficient to reach our learning goals without a language.

Challenges for CS10K

The CS10K effort (to have 10,000 high school teachers capable of teaching CS:Principles in 10,000 US high schools) requires answers to some significant research questions. Some of these include:

What kind of pedagogy will fit into the lives of in-service high school teachers and other working professionals?

Computer science pedagogy today is mostly apprenticeship-based: Students get a bit of instruction (perhaps some modeling of good behavior), and then are expected to learn through doing, by programming in front of an IDE. While the apprenticeship-based model is effective, it’s inefficient if the goal is understanding about computer science, as opposed to expertise as a software engineer.

In-service high school teachers are a particularly challenging audience. Most likely, they will never be professional software engineers, and they are full-time (overworked) professions, so they have neither the motivation nor the time to engage in apprenticeship-based learning. How do we teach CS to these teachers in the small bits of time that they have available?

How do we create sufficient, high-quality on-line materials to lead to successful CS learning at a distance?

The best distance learning programs in the world (such as the Open University UK) rely significantly on text-based materials, because we know how to control costs while creating and maintaining high-quality content. CS is not best taught with printed text, since visualizations and simulations play a key role in student learning. How do we create sufficient (e.g., at reasonable cost), high-quality materials to support CS learning at a distance?

What will motivate high school teachers to take classes in computer science, to be engaged with the content, and to sustain their interest?

The existing CS teaching programs in the United States are woefully undersubscribed, e.g., Purdue’s CS methods course has never had more than one student enrolled each term that it is offered. What will drive more teachers into CS education?

What do teachers need in order to develop into successful computer science teachers?

High school teachers will not need to be professional software engineers. They do need to be able to present CS ideas, to assign and assess student work, and to mentor, e.g., to help facilitate student debugging and guide development. What are the learning objectives for CS high school teachers? How do we assess that development?

CS PCK: What is Computer Science Pedagogical Content Knowledge?
In most disciplines, there is a body of knowledge of how to teach that.  How People Learn has a whole chapter on domain-specific teaching practices, and points out that those are much more powerful for effective teaching than domain-general teaching practices.  For example, science educators explain how to support inquiry-based learning, and mathematics educators know how to build on innate understanding of number.  We call that knowledge pedagogical content knowledge.    How do we best teach computer science?  How do we help future educators develop the unique skills to teach computer science?

May 3, 2012 at 6:16 am 18 comments

A computational biologist’s personal toolbox : What a scientist will really do with programming

Here’s a great piece to read when wondering about the questions, “Do scientists really all need to learn to program?  Surely they’re not going to program are they?  What would they do?”  What they’ll do is patch together piece of other’s code, with lots of data transformation.  What do they need to know?  A robust mental model of how the modules work and what the data needs for each are.  This is beyond computational thinking.

In my past 20 years as a programmer, I’ve seen the rise of object-oriented programming and ‘modularity’ is something that was hammered onto my forehead. These days, I organise my entire life as a computational biologist around little modules that I re-use in almost every workflow. Yes, sure, you may call me a one-trick pony, but in terms of productivity, call me plough horse.

My core modules are ACQUISITION, COMPUTATION, VISUALISATION, and usually I glue those together with a few lines of Perl or the Unix command line. Here come the constraints again: To overcome the limitations of the software that I’m often “misusing”, I use my own scripts to shove data from one format into the next, and back again. I think every biologist who deals with lots of data, not only us computational folk, should know a few handy lines to quickly turn comma-separated files into tab-delimited, strip a table of empty quotes or grep some essential info.

via Soapbox Science: Tool Tales: A computational biologist’s personal toolbox : Soapbox Science.

May 2, 2012 at 8:55 am 3 comments

Collaborative Floundering trumps Scaffolding

Really interesting finding!  I suspect, though, that the collaboration had a lot to do with the floundering being successful.  It seems to me that floundering is going to require greater cognitive effort, and thus, greater motivation/engagement to persevere.  I also wonder about the complexity of the task.  I have seen pairs of students flounder at a Java program and (seemingly) not learn much from the effort.

With one group of students, the teacher provided strong “scaffolding” — instructional support — and feedback. With the teacher’s help, these pupils were able to find the answers to their set of problems. Meanwhile, a second group was directed to solve the same problems by collaborating with one another, absent any prompts from their instructor. These students weren’t able to complete the problems correctly. But in the course of trying to do so, they generated a lot of ideas about the nature of the problems and about what potential solutions would look like. And when the two groups were tested on what they’d learned, the second group “significantly outperformed” the first.

via Anne Murphy Paul: Why Floundering Makes Learning Better | TIME Ideas |

May 1, 2012 at 7:47 am 10 comments

Newer Posts

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

Join 9,003 other followers


Recent Posts

Blog Stats

  • 1,875,117 hits
May 2012

CS Teaching Tips