Archive for March, 2011

When test scores seem too good to believe –

I’m glad that it’s not just Atlanta, but it’s still depressing.  I guess that this is an example of two quotes that Richard Hake recently included in a post:

Dukenfield’s Law <>: “If a thing is worth winning, it’s worth cheating for.”

Campbell’s Law <>: “The more any quantitative social indicator is used for social decision making, the more subject it will be to corruption pressures and the more apt it will be to distort and corrupt the social processes  it is intended to monitor.”

Such anomalies surfaced in Washington, D.C., and each of the states — Arizona, California, Colorado, Florida, Michigan and Ohio — where USA TODAY analyzed test scores. For each state, the newspaper obtained three to seven years’ worth of scores. There were another 317 examples of equally large, year-to-year declines in an entire grade’s scores.

USA TODAY used a methodology widely recognized by mathematicians, psychometricians and testing companies. It compared year-to-year changes in test scores and singled out grades within schools for which gains were 3 standard deviations or more from the average statewide gain on that test. In layman’s language, that means the students in that grade showed greater improvement than 99.9% of their classmates statewide.

via When test scores seem too good to believe –

March 31, 2011 at 9:43 am 5 comments

Letter: Female CS concentrators misrepresented – The Brown Daily Herald

The below article appeared in Brown University’s Daily Herald newspaper, in response to the article I blogged about a few weeks ago (thanks to Steven Sesko for this).  I don’t see “unflattering statistics” in the original article, but I’m not a female in CS at Brown — some of the statistics about under-representation might be perceived as “unflattering.”

It’s a hard place to be in.  In highlighting the many who aren’t there, and bemoaning the small numbers, we may make those that are there feel diminished.  I think we should highlight how male CS has become, and ask if there’s a problem that needs to be addressed.  NCWIT is fighting a good and noble fight.  But I understand that it’s a fight that must be fought delicately, trying hard not to be unflattering to the women in CS now.

There are fewer women than men in the CS department. Yet quantity and quality are not one and the same. The excellence of female students’ departmental contributions is in no way limited by the number of female students — nor is our love for the subject. Writing articles that broadcast the unflattering statistics regarding women in CS and fixate on the trials and tribulations they face, but that do not also mention their joys and successes, is a damaging and reactionary way to dishearten potential computer scientists. The two of us love what we do and want others to join us, not for the sake of boosting the numbers, but so that they can experience first-hand a subject that is uniquely exciting and rewarding. We sincerely hope that after reading this piece, no student — male or female — feels discouraged from exploring the fascinating field of CS.

via Letter: Female CS concentrators misrepresented – The Brown Daily Herald.

March 30, 2011 at 11:50 am 2 comments

CE21 Advice: Go beyond your classroom

At the CE21 Community Meeting, I heard people talking about the great things that they’re doing in their classroom, and how they are looking for education researchers with whom they could collaborate for a CE21 proposal.  That’s a great idea, and making that happen was the point of holding the community meeting.  But I offer a piece of advice: Go beyond your classroom.  Work in multiple classrooms. Don’t collect data for your study in the classroom where you’re teaching.

My colleague Amy Bruckman told me that, at MIT, the Human Subjects Review Board will not allow a researcher to gather data on his or her own classroom.  There is an inherent conflict-of-interest, if you are studying your class and teaching your class.  As a teacher, you want to do everything you can to support your students’ success.  As a researcher, you have to do certain things and not do certain things, so that you can conduct your study.

The SIGCSE Symposium is mostly faculty studying their own classroom.  That works fine if the goals are to develop better teaching practices, to do a fair assessment of what you are doing, and to share it with others. That’s called action research and has a lot of benefits for teaching practice.  But that’s not what I read NSF as wanting from CE21.

CE21 is supposed to be rigorous education research, in a computing education context.  It’s serious research with serious funding.  If you’re a serious researcher, then one of your first questions is where you should best do the research you want to do.  Your classroom is a great place to get ideas.  It’s never a great place to test your ideas. You should test your ideas so as to convince others — testing in your class is akin to saying, “See! It worked for me!”  That’s not convincing.

If you have a great idea that you want to develop and test with a CE21 grant, then find some collaborators.  Convince a colleague to work with you, to test your ideas in someone else’s classroom.  If you can’t convince someone else to work with you, you’ll never convince a review panel to give you money to develop and test your ideas.

When I’ve made statements like this in the past, I sometimes get push back: “I’m at a small place.  I can’t go off to do research in somebody else’s classroom!  Sometimes, there isn’t another classroom!”  If that’s the case, in my opinion, the NSF CE21 program is not for you.  (I’m not an NSF program officer, but I do get funding from and review for the Education side of NSF, so I have some insights into what NSF considers serious education research.)  CE21 is trying to bring significant resources to do high-quality, critiquable research to advance the state of our understanding about computing education.  In particular, CE21 is about trying to advance the CS10K agenda, which means your best bet is to be working with high school teachers and students.  Whatever you propose, go beyond your own classroom.

March 29, 2011 at 9:16 am 5 comments

CMU “eliminating” object-oriented programming

I talked to people about the new Carnegie Mellon University curriculum last week, but no one to whom I spoke made such a strong statement as below, that OO is being “eliminated entirely.”  I was pleased to hear that the new curriculum is multi-lingual and multi-paradigmatic.  I’m not sure how the curriculum can be entirely OO-free since the first course is in Python.  I know that the second course is in C0 (“C not”), and the third course is in ML. The report that the below blog post links to is much more careful in its claims about object-oriented programming. I did a Blog@CACM post, using the post below as an example, about how we polarize discussions in computing education rhetoric — the CMU report on the new curriculum is much more reasoned (in its analysis) and reasonable (in its recommendations).

Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum.  A proposed new course on object-oriented design methodology will be offered at the sophomore level for those students who wish to study this topic.

via Teaching FP to freshmen « Existential Type.

March 28, 2011 at 10:27 am 23 comments

Impact of CS on female non-majors: Beyond a pipeline model

I had a reporter talk to me recently about women in computing.  I rattled off statistics to her, and told her about curricular and “Georgia Computes!” efforts.  She was all “yeah, yeah, yeah” then asked me if I knew about real women in computing, especially women in my classes.  I told her that I mostly teach non-majors, but was learning interesting stories about the impact of our introductory course on their lives.  She loved those, and encouraged me to share them, so let me tell you two here.

Anne was a senior when we taught the Introduction to Media Computation course the first time.  (Lots of seniors had been putting off their computing requirement until their last year, hoping that something better would come along.)  She sat in the second row, right in the middle, and asked me questions every lecture.  I’d use her frowns as an indication that I wasn’t making sense yet in lecture.  After she finished the class, she came to see me. “I’ve always wanted to TA a course, but never had the time before.  Now, I’m about to graduate.  Could I TA this course during my last semester here?”  Since she was a good student, and I really needed to get more female TA’s (my pool of undergraduate TA’s were mostly male in the beginning), I gladly agreed.

During that semester, Anne did a great job as a TA, and as a Senior, she got some terrific job interviews — better than she expected.  In fact, she was getting interviews that her peer Accounting majors weren’t getting, even when they had better grades.  She finally asked a recruiter, “You know, my grades aren’t that good.  Why did you interview me?”  The recruiter told her, “You’re an Accounting major who can TA a CS course?  You must be amazing!”  She was hired by a firm that focused on IT, and when I last saw her at an alumni event a couple years ago, she was with an IT firm in their accounting department.  She is making a career of the subject that she simply wanted to try as a TA.

Rachel was an Architecture major who took the introductory course because it was required, did really well, and then became a TA for the course.  With 300+ students every semester, and a desired 25:1 student:TA ratio, we need a lot of TAs.  She helped teach Python and HTML (e.g., we write Python programs that generate HTML).

I know Rachel because she and her family go to our church.  She took a job with a construction firm right out of College, and did well for several years.  Then the Recession hit.  She was out of job for awhile, and even talked to Barb about going back to school to become (really!) a high school computer science teacher.  Then, she got a job in Web Design.  That was two years ago.  She came to one of the performances of our play in February, and I got to catch up with her.  She’s still doing Web Design and loving it.  She was just teaching herself Ajax, and enjoyed the opportunity to learn and use new things.

What’s most interesting about both of these jobs is that these women probably both count as women entering the IT field — but neither started there.  Neither of these is a story about a “pipeline” from high school to college to job in IT.  Neither became CS majors.  Rather, both of these are about opportunities that arose from having a computing class, that each discovered she enjoyed and was good at.  They followed the majors that they wanted, but ended up in IT. That was a door that got opened for them because they had to take a required freshman course on media computation with Python.

March 25, 2011 at 8:03 am 3 comments

Why we teach how linked lists are made, and how memory representations work

One of the ongoing battles in CS Education is whether or not to teach how data structures are built.  One school of thought goes something like this, “We have to teach how data structures are really implemented, because unless you realize how the runtime behavior differs between a singly-linked list and a doubly-linked list and a tree, you really can’t make informed choices between them.”  In other words, we teach the implementation to inform the use.  An opposing school of thought says, “It’s ridiculous to have anyone implement yet another of these complex data structures!  How many linked list implementations do we need?  Instead, we should focus on how to use them well.”  That school of thought sees data structures as a programming or even vocational benefit.  Several colleagues in computing education wrote a nice piece describing the intent of teaching data structures, which differ from teacher-to-teacher.

Based on interviews with Computer Science educators and analysis of CS literature, we identified five categories of intent: developing transferable thinking, improving students’ programming skills, knowing “what’s under the hood”, knowledge of software libraries, and component thinking.

I’ve come to realize that I have another reason for teaching the implementation of data structures, which I don’t think is covered by the five reasons in that piece.  It’s only through dealing with implementation structures that I (and my students) have seen their misconceptions highlighted, like the ones I talked about in my ontological categories post.  I continue to struggle with my students’ understanding of object, variable, reference, and “link” (the arrows we draw between boxes in data structure diagrams).  We have wonderful discussions now, where we talk about the best visual representation for various structures — great “meta-level” discussions to have.

I think they’re starting to get it (and I have these peer instruction results, so that I can make that claim with some confidence), but it’s a real struggle.  Moving from singly-linked lists to doubly-linked lists helped face the problem well: It’s too easy to simply say, “Well, that’s just the next node,” and gets more complicated when students have to say, “That node is the next of the previous, and the previous of the next” and now start to wonder what those words mean.  “Next” has a commonplace meaning.  We don’t talk about the “next” and the “previous” at the same time in our daily conversation, but we have to deal with both simultaneously when implementing them.

I had a chance to discuss these issues yesterday with some really great cognitive and learning scientists.  Some pointed out that the problem is all the harder because there’s no there there — all these words, all these ways to refer to objects, are just different perspectives, and there’s no real solid thing that’s being described.  I countered that there was a real, inspectable, testable thing: the actual values in real memory addresses. That argument didn’t hold much weight with them, because few of us really use that level.  Things are defined through their use, and different uses lead to different definitions, and might as well be different things.  “Explaining memory is just layering yet another perspective, and that one has even less usefulness than the others and is even more complicated. ”  They thought that it’s like teaching quantum mechanics to fourth graders so that they have a scientist’s understanding of heat.

I’m not convinced, but at a higher level, I’m interested by the kinds of arguments we’re having.  These questions of “what is our intent in our teaching?,” “what’s real?,” and “what does it mean for something to be ‘defined’?” seem esoteric, or worse, pointless for the in-the-classroom CS teacher.  Those are questions for navel-gazing philosophers, we might think.  Actually, they are the answer to some of our fierce debates in computing education.  Why do we teach data structures?  Why do we teach hardware, architecture, and memory structures?  I’m sure that we all have immediate answers that we whip out in undergraduate curriculum committee meetings.  What’s our evidence for our answers?

  • The cognitive scientists were asking us to consider, “Does it really make sense any more for computer scientists to understand the computer down to the metal?”
  • I’m asking us to consider that maybe the reason to teach data structure implementation has no practical or vocational benefit — an important purpose is just to highlight and correct what students don’t understand.

March 24, 2011 at 6:56 am 11 comments

A Definition of Computational Thinking from Jeannette Wing

I met with Jeannette Wing yesterday, and we discussed the need for a good, authoritative definition of computational thinking.  I told her about the CE21 Community Meeting where I saw K-12 evaluators looking for a definition that they could use to develop an assessment of computational thinking at the middle school level.  Some of these evaluators were using the CS:Principles materials which made me uncomfortable — we designed those principles and practices to reflect what we saw as the core of computer science and as being appropriate for an advanced placement course.  We didn’t write these to be a guide to what middle school students need to know about how to think about and with computing.

She gave me a copy of the most recent The Link, a CMU publication, in which she has an article, “Computational Thinking — What and Why?”  She offers a definition and a rationale for the definition, taken from a work-in-progress paper by Jan Cuny, Larry Snyder, and Jeannette, “Demystifing Computational Thinking for Non-Computer Scientists.”  She gave me permission to blog on the definition and the rationale.

Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.

The article goes on to expand on this definition and offer examples.  She says, “Computational thinking overlaps with logical thinking and systems thinking. It includes algorithmic thinking and parallel thinking, which in turn engage other kinds of thought processes, such as compositional reasoning, pattern matching, procedure thinking, and recursive thinking.”  Jeannette pointed to a section of the paper on “Benefits of Computational Thinking” as being key:

Computational thinking enables you to bend computation to your needs. It is becoming the new literacy of the 21st century. Why should everyone learn a little computational thinking? Cuny, Snyder and I advocate these benefits [CunySnyderWing10]:

Computational thinking for everyone means being able to:

  • Understand which aspects of a problem are amenable to computation,
  • Evaluate the match between computational tools and techniques and a problem,
  • Understand the limitations and power of computational tools and techniques,
  • Apply or adapt a computational tool or technique to a new use,
  • Recognize an opportunity to use computation in a new way, and
  • Apply computational strategies such divide and conquer in any domain.

Computational thinking for scientists, engineers, and other professionals further means being able to:

  • Apply new computational methods to their problems,
  • Reformulate problems to be amenable to computational strategies,
  • Discover new science through analysis of large data,
  • Ask new questions that were not thought of or dared to ask because of scale, but which are easily addressed computationally, and
  • Explain problems and solutions in computational terms.

This definition is still pretty high-level, but is still much better than having no definition.  It’s a broad definition that encompasses a lot of powerful cognitive skills.  We can move away from trying to draw lines between what is and what isn’t computational thinking, and instead focus on implications.  What parts of this are appropriate to see at the middle school level?  How do we teach these abilities?  How would we measure them?

March 22, 2011 at 6:50 am 23 comments

Visiting CMU: Historical Home of CS1-for-All

It’s Spring Break at Georgia Tech this week.  Last week was crammed full of midterm grading. Now that it’s Spring, I’m traveling north to colder climates.

Today, I’m at Carnegie Mellon University to speak in their Program for Interdisciplinary Education Research (PIER) today, and at the “EdBag” tomorrow.  I’m excited (and a bit nervous) — I’ve never spoken here at CMU before.  Leigh Ann Sudol-DeLyser is my student host, and she gave me a great tour of the campus yesterday.  For today’s talk, I’m giving a variation of my “Meeting the Computing Needs for Everyone” talk (describing Brian Dorn’s work and the role of contextualized computing education in this goal), but with special attention to the Alan Perlis lecture from 1961.

I re-read that chapter again yesterday.  Wow — it’s really clear that the idea of teaching everyone an introductory course on CS has its home here, at the University that grew out of Carnegie Tech.  While I had remembered that Peter Elias of MIT had pushed back against the idea of such a course as being unnecessary, I hadn’t remembered how J.C.R. Licklider and Perlis responded.

  • Elias argues that programming is just a “mental chore” that the computer should be able to take care of for us: “If the computers, together with sufficiently ingenious languages and programming systems, are capable of doing everything that Professor Perlis describes—and I believe they are (and more)—then they should be ingenious enough to do it without the human symbiote being obliged to perform the mechanical chores which are a huge part of current programming effort, and which are a large part of what must now be taught in the introductory course that he proposes.”
  • Licklider emphasizes what might be possible with this new kind of language. “Peter, I think the first apes who tried to talk with one another decided that learning language was a dreadful bore…But some people write poetry in the language we speak.”
  • Perlis makes a really interesting pedagogical rebuttal. He says that what he really wants to teach are abstractions, and a course in programming is the best way he can think of doing that. He also says (not quoted below) that he has no evidence for this, but believes it strongly. “The purpose of a course in programming is to teach people how to construct and analyze processes…A course in programming is concerned with abstraction: the abstraction of constructing, analyzing, and describing processes…The point is to make the students construct complex processes out of simpler ones….A properly designed programming course will develop these abilities better than any other course.”
  • John McCarthy (father of Lisp) also responded in opposition to Elias. “Programming is the art of stating procedures. Prior to the development of digital computers, one did not have to state procedures precisely, and no languages were developed for stating procedures precisely. Now we have a tool that will carry out any procedure, provided we can state this procedure sufficiently well. It is utopian to suppose that either English or some combination of English and mathematics will turn out to be the appropriate language for stating procedures.”  Interesting how McCarthy and Licklider, as in Donald Knuth’s Turing award lecture, talk about programming as art.

Leigh Ann told me that the “EdBag” is a place to play with new and incomplete ideas.  I’m planning to talk about the challenge of producing more high school CS teachers, including alternatives like Dave Patterson’s proposal.  I’ve been thinking a lot about using a worked examples approach, informed by Ashok Goel’s structure-behavior-function model of design cognition.

Tomorrow, I fly to DC and spend two days reviewing NSF proposals.  Still trying to get the rest of my proposals read today, and all the reviews written tonight.  Thursday night, I’ll get back home to Atlanta where it really is Spring already.

March 21, 2011 at 7:16 am 4 comments

White House Launches New Tally of STEM Education Programs – ScienceInsider

Carl Wieman is now part of the White House office of science and technology policy, and the first thing he’s doing is counting — what’s out there, and is it working?

“The ACC is a list of programs, basically,” Wieman tells ScienceInsider. “You need something more nuanced than simply labeling it STEM education. Because that leads people to ask, ‘You’re spending all this money, why don’t we have great STEM education?’ The reality is that [these programs] do a large variety of different things, from graduate fellowships at the Nuclear Regulatory Commission to an introduction to science for kindergarteners. Different parts of different agencies do things that are important to their mission.”

Wieman says the new panel, under the White House’s National Science and Technology Council, will look at “what these programs do, how they fit together, and how well they match what we feel are best practices.” He says that the review will rely heavily “on evidence and on what we know about learning.”

via White House Launches New Tally of STEM Education Programs – ScienceInsider.

March 18, 2011 at 11:54 am 1 comment

Call for Participation in SPLASH Educators’ Symposium

Eugene Wallingford just shared this with the SIGCSE-Members list — relevant here, too!

Now that SIGCSE 2011 is in the books, please consider submitting
a paper or proposal to the Educators’ Symposium at SPLASH 2011!

SPLASH is the new umbrella conference for OOPSLA, in which many
of you have participated over the years.  The new name reflects
the fact that OOP isn’t the only focus of the conference.  If
you’ve attended the Educators’ Symposium over the last decade,
you already know that.  OOP is one focus, but the symposium also
deals with other current and future topics in teaching programming
and software development.

The 2011 Educators’ Symposium is tackling this broad mandate head-
on.  What is important in teaching programming to future and
current professionals who work in this rapidly changing world?
What is important in teaching programming to an audience with
interests that range from science to the web to data mining to art?
Where do we go in a post-OO world?

That is the charge for attendees at the 2011 Educators’ Symposium:
charting a course for the next 10 years of software development

Check out the call for proposals at
Submissions are due April 8, 2011.

If you have any questions, please let me know!

—- Eugene, for the symposium committee:

Eugene Wallingford, U. of Northern Iowa
Curt Clifton, Rose-Hulman
Danny Dig, U. of Illinois
Joe Bergin, Pace U.
Owen Astrachan, Duke U.
Rick Mercer, U. of Arizona, USA

The Educators’ and Trainers’ Symposium is part of the
ACM International Conference on
Systems, Programming, Languages, and Applications:
Software for Humanity (SPLASH’11)

March 17, 2011 at 10:09 am Leave a comment

The role of the teacher in peer instruction

The radical constructivists tell us that a teacher who tells the students anything “steals from them the opportunity from them to learn it for themselves.”  The role of the teacher is to be a guide and facilitator.  My first PhD advisor, Pat Baggett, used to say in response, “Not all students are Newtons.”  (Computer scientists may not realize that these debates really do go on in Education schools — Pat literally said that line, several times, in several different settings where I was present.)  Few students can construct complex ideas like Calculus from experience and first principles. The point that inference is often hard for students came to me again this week.

I continue to teach my data structures class using peer instruction.  We’ve been working our way through recursive traversals of linked lists and trees this week, with trees containing sounds.  We had just talked about the method for collecting all the sounds from a linked list of sounds, declared public Sound collect(), when I put up this slide.

In discussion about the code, it was pretty clear to me that they were confused what collect() was really doing, so, on-the-fly, I drew up this slide.  In a linked list with three notes in it (middle C C4, E4, and G4), how many sound objects will collect() return?

Let’s consider the pieces of data that the students have.  They’ve seen the code public Sound collect().  They can see that collect() is asked to play(), and only the class Sound knows how to play. And there is the fact (perhaps not inferred yet by the students) that Java methods can only return a single object — even when it’s an array, it’s just one object.

Here were the responses:

Lots of students see 3 objects coming back from collect().  I let them argue it out, while I wandered the room — responding to questions, listening to how the arguments were being made.

Second vote time:

More students are coming to see that it’s only one object coming back from collect() (which appends all sounds together, simply digital splicing).  But still many think it’s three objects (and are confident — nobody’s choosing “IDK” for “I Don’t Know.”) We then had a great discussion, where students insisted that there were three objects being returned, and I addressed their arguments (e.g., if you add three raindrops together, you get one big raindrop.)

I’m not arguing that my students are dumb.  Through peer instruction, I have come to understand better what they understood coming in, how well they understand what I’ve been teaching them, and how far they’ve come.  They’re really learning alot.  But they’re not learning it alone, nor even just through social learning and peer interaction.  The teacher is needed, because students can cling to wrong ideas and can avoid inference for a long time.

March 16, 2011 at 9:20 am 7 comments

MediaComp goes Nifty

One of the most popular sessions every year at the SIGCSE Symposium is “Nifty Assignments.”  Faculty choose their coolest assignments and package them up with directions and examples.  These are submitted to Stanford lecturer Nick Parlante, who selects the best and maintains his carefully curated Nifty website.  Nobody wants to be scheduled opposite the Nifty session because all other sessions are nearly empty — the Nifty room is always SRO.

We did submit some Media Computation assignments early on, but they were rejected.  Criteria for a good Nifty assignment include that it be easily taught by others, that the technologies and pedagogies used were widespread, and that the assignment could be picked up by just about anybody.  The argument was that MediaComp just wasn’t that common back then.

That was then.  This year, Nick Parlante the Curator selected a Media Computation assignment submitted by Nick Parlante the Lecturer!  There’s another Nifty Assignment this year, from David Malan of Harvard, which does Media Computation in simple C by manipulating BMP’s, so no additional libraries required.  Nick’s assignment is based on the new CS101 that he’s teaching at Stanford.  His class (and the assignment) are based in JavaScript, and he’s created some cool examples at  Particularly interesting: Because it’s HTML 5.0 and JavaScript, that page works just fine on the iPad, too.

It’s a great sign for us that MediaComp has gone mainstream, when a MediaComp project is “Nifty.”

March 15, 2011 at 9:26 am 1 comment

iPads for College Classrooms? Not So Fast, Some Professors Say. – Technology – The Chronicle of Higher Education

I’d like to see the studies that this article is referencing.  I do agree — Window’s style TabletPC’s are much more flexible, and I find Ubiquitous Presenter to be a powerful educational technology.  (Great to see Beth Simon and Bill Griswold quoted in this piece.)  But I wonder if the iPad allows for a different kind of interactivity, one that can also be used for learning, but we’ll have to learn how to leverage that.

Despite the iPad’s popularity—Apple has sold nearly 15 million of them and just came out with the iPad2; and there are dozens of competitors, like the Samsung Galaxy—early studies indicate that these finger-based tablets are passive devices that have limited use in higher education. They are great for viewing media and allow students to share readings. But professors cannot use them to mark up material on the fly and show changes to students in response to their questions, a type of interactivity that has been a major thrust in pedagogy.

Even students have issues. When the University of Notre Dame tested iPads in a management class, students said the finger-based interface on its glassy surface was not good for taking class notes and didn’t allow them to mark up readings. For their online final exam, 39 of the 40 students put away their iPads in favor a laptop, because of concerns that the Apple tablet might not save their material.

“When they’re working on something important, it kind of freaks them out,” says Corey M. Angst, the assistant professor of management who tested the tablets.

via iPads for College Classrooms? Not So Fast, Some Professors Say. – Technology – The Chronicle of Higher Education.

March 14, 2011 at 8:32 am 2 comments

Students more interested in having fun than doing good

There’s a challenging and interesting paper being presented this afternoon at SIGCSE 2011 Exploring the Appeal of Socially Relevant Computing: Are Students Interested in Socially Relevant Problems? by Cyndi Rader, Doug Hakkarinen, Barbara Moskal, and Keith Hellman from the Colorado School of Mines. I’ve worked with Barbara Moskal before, and know her to be a careful and thoughtful evaluator. So, when I read their abstract, especially the bottom line, I was surprised and intrigued.

Prior research indicates that today‘s students, especially women, are attracted to careers in
which they recognize the direct benefit of the field for serving societal needs. Traditional
college level computer science courses rarely illustrate the potential benefits of computer
science to the broader community. This paper describes a curricula development effort
designed to embed humanitarian projects into undergraduate computer science courses. The impact of this program was measured through student self-report instruments. Through this investigation, it was found that students preferred projects that they perceived as “fun” over the projects that were social in nature.

As I expected, the paper is careful and insightful. The authors did create some new socially relevant assignments to put into CS1 and Software Engineering assignments, and they asked students about their experience doing those. They also collected a wide variety of assignment descriptions for students to rank in terms of how interesting the assignment was: “A coding of ‘1’ reflected a rating of ‘I definitely would not like to do this project’ and a coding of ‘4’ reflected a rating of ‘I definitely would like to do this project.’ In other words, a higher rating reflected greater interest in the given project.”

  • The authors found that students preferred the projects building games to those focused on social good. They also found a distinction that another researcher (Buckley et al., SIGCSE 2008) had identified — that students were more motivated by social and personally meaningful: “In other words, students may need to recognize the application of the solution to a problem to their own life.”
  • While the Software Engineering assignments worked well, the CS1-level socially-relevant assignments did not — in part, because they were just so hard.  “Our efforts were successful in Software Engineering, with 88% and 93% responding positively to the SAR and DM projects, respectively. However, only 54% of the studentsin the CS1 course, including 47% of the females, indicated that they found the SAR project appealing.” The authors conclude that, “This [the lack of interest in the socially-relevant projects in CS1] may, in part, be due to the fact that it was difficult to reduce socially relevant problems to a level that beginning students could easily comprehend. This made it difficult to capitalize on the appeal of socially relevant problems in the early computer science courses.”

I’m looking forward to seeing this paper presented this afternoon. There’s a certain cynical similarity to this paper, and work we’ve reported on about teachers. Davide Fossati’s paper on Saturday describes that faculty he interviewed changed their teaching practice for their own reasons, never because of student learning results, and Lijun Ni’s work last year showing that teachers adopt a new approach because they find something fun, not because it’s been shown to be effective.  I wonder if we’d see similar results outside the United States?

March 11, 2011 at 10:40 am 2 comments

SIGCSE Board: CS programs being canned or downgraded

Renee McCauley, SIGCSE Board Chair, is keeping a list of the CS programs being phased out in the US.

  • University of Cincinnati, no new majors starting in Fall 2012.
  • Fort Lewis College, CS major being terminated, announced December 2010
  • SUNY, Geneseo,  CS major no longer registering majors, announced Novemer 2010
  • Berry College, downgrade of major to minor, announced November 2010
  • Albion College, CS major terminated, announced May 2010

via SIGCSE Board 2010-2013: CS programs being canned or downgraded.

March 11, 2011 at 9:45 am 2 comments

Older Posts

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

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,394 hits
March 2011

CS Teaching Tips