Archive for August, 2011
Software is the modern language of science
This is a great quote, and really speaks to the importance of computing in modern science and engineering.
“We are thinking about ways to encourage the publication of more modern forms of scientific output,” he said. He suggested in organizing scientific data for multiple communities, new approaches that merge databases with wikis, in addition to using social networking media tools such as Flickr and Twitter, will be very powerful. He noted that there are even new programs that create openly writable information storage and search platforms, such as those discussed in posters at the conference.
“We need to make the world writable,” Seidel told TeraGrid ’11 participants, adding that “software is the modern language of science these days.”
via HPCwire: NSF’s Seidel: ‘Software is the Modern Language of Science’.
Female STEM faculty in community college have parity and are happy
I would not have guessed this. I think of community college faculty as driven hard with a huge teaching load. Women STEM faculty at community colleges are happy, are roughly equal in number to men, and are paid well. Wow — interesting results!
The National Science Foundation is supporting a research project to focus more attention on STEM faculty at community colleges, where men and women are about 50-50 in faculty positions over all, and where women make up 47.7 percent of STEM faculty (compared to about one third at four-year institutions). Researchers who are part of a team at Ohio University studying the issue gave an overview of initial findings here at the annual meeting of the American Sociological Association.
Their major conclusions: Women in STEM faculty positions at community colleges are happy, and it’s not because their jobs are somehow easier than those at four-year institutions (although they are different). The Ohio researchers are combining their national statistical analysis with in-depth interviews with small groups of women on STEM faculties at community colleges — starting with 29 at institutions in Ohio, and then extending to other states. The analysis is complete in Ohio, and early results suggest similar findings coming from other states.
So far, the results suggest a career path that many women find satisfying. “These women are happy, they have pay equity, and there are more of them than at four-year colleges,” said Cynthia Anderson, associate professor of sociology and anthropology at Ohio.
Back when women were over a third of computer scientists
Fun piece, including a great scan from Cosmopolitan, on how women used to be a big percentage of the computing industry.
In fact, for a hot second back in the mid-sixties, computer programming was actually portrayed as women’s work by the mass media. Check out “The Computer Girls” from the April 1967 issue of Cosmopolitan magazine. It appeared between pieces called “The Bachelor Girls of Japan” and “A Dog Speaks: Why a Girl Should Own a Pooch.”
Beyond Interests to Values: Drawing African-American teens into CS
I’m eager to hear the discussion about Betsy DiSalvo and Amy Bruckman’s paper to appear in the August CACM (linked below). The paper is on the Glitch project that I’ve talked about here. Betsy and Amy are addressing a problem that many working in Broadening Participation in Computing are facing, and that we’ve had with Georgia Computes! We’ve had dramatic success in drawing women and Hispanic students into computer science — and we’ve barely budged the African-American numbers. Why? Betsy’s results suggest that GaComputes initiatives play to students’ interests, but to really get students to dig into CS, we need to play to their values. Glitch has been successful because they’ve figured out what African-American teen men in Atlanta most value, and then play to those values. I’d bet that Betsy would say that the video games in Glitch aren’t why she’s had so much success — that’s an interest. It’s because she pays them and they’re training to be game-testers which is a real job. Those are values, beyond just interests. They start their paper with a bold claim:
Computer science is not that difficult but wanting to learn it is.
via From Interests to Values | August 2011 | Communications of the ACM.
Why U.S. Teachers Work the Most But U.S. Students Stay Average
Interesting set of studies that argue that US teachers work a lot, but aren’t so productive (in terms of student achievement). How could more of teachers not correlate with better students? An interesting argument here suggests that the low salaries of US teachers are at fault. Are we attracting the most productive possible teachers?
Among 27 member nations tracked by the Organization for Economic Cooperation and Development, U.S. teachers work the longest hours, the Wall Street Journal reports. This seems particularly impressive as the U.S. has long summer vacations, and primary-school teachers only spent 36 weeks a year in the classroom, among the lowest of the countries tracked. Yet the educators spent 1,097 hours a year teaching, in the most recent numbers from 2008. New Zealand, in second place at 985 hours, had schools open for 39 weeks a year. The OECD average is 786 hours…
One conclusion to be drawn from this is, as the Journal writes, “American teachers are the most productive among major developed countries.” But it also notes that “student achievement in the U.S. remains average in reading and science and slightly below average in math when compared to other nations in a separate OECD report.”…
There is something strange about this finding that countries where the teachers work fewer hours produce better educated students. Although the Journal does not address this in its article, the issue is energetically taken up elsewhere. To some it is a salary issue. Business Insider reported that in comparison to other developed countries, American educators work the most hours of all industrialized nations, but are the fifth lowest paid after 15 years on the job. Finland, the company ranked highest in international tests, has teachers that work the fifth fewest hours, and are the ninth lowest paid.
via Why U.S. Teachers Work the Most But U.S. Students Stay Average – Business – The Atlantic Wire.
Programming is for entrepreneurs and thinkers–and coders, too
One lesson that I draw from this Washington Post op-ed is that not all programming jobs are created equally. Yes, programming is the activity of those who do “grunt coding.” But programming is also the activity of those creating new businesses, and of those thinking with software. Programming jobs are not either/or. It’s not that they’re here in the US, or they’re overseas. That’s like saying that all writing jobs will go away if journalism collapses. There is lots of kind of writing, and there is lots of kinds of programming. Programming is a useful job skill.
But as it turns out there was a fundamental flaw with that either/or dynamic that Marc Andreessen articulated perfectly in his recent Wall Street Journal oped: Software is eating the world. Ironically, Andreessen became a coder because he read in US News & World Report it was a good way to make money. Lucky for him, he wasn’t born a decade or so later.What that means is software jobs are not the zero sum game we anticipated back in the early 2000s when many companies were sending them overseas. Instead, they’ve expanded exponentially as more industries have become fundamentally about virtual delivery. And the trend isn’t just about a company like Pandora, Zynga or Amazon pushing music, gaming and books to be software-only products, rather than physical things packaged on shelves. Nor is it just about the new globally exploding market of social media. We’re also seeing the biggest resurgence in companies disrupting the real world since the early days of the Internet, with Airbnb, Uber, Groupon, GetTaxi, and a host of other names taking on long-neglected, fragmented industries in new digital ways. Andreessen and his partners are betting that healthcare and education are next. Accel, too, has been placing some big bets on education.
via Software Is Eating All the Jobs Too – The Washington Post.
Why we ought to teach Java: Computing education and social practice
We’re re-examining/reconstructing our reading list for the qualifying examination for our PhD in Human-Centered Computing. One of the papers I’ve had the chance to read (and re-read — it’s a dense piece) is by James Greeno, Allan Collins, and Lauren Resnick, three top-notch education researchers.
Greeno, J., Collins, A., & Resnick, L. (1996) ‘Cognition and learning,’ in Berliner, D. & Calfee, R. (eds.), Handbook of Educational Psychology, Macmillan, New York: 15-46.
They contrast three views of education, which are paradigm shifts in the Kuhnian sense. It’s not that one is better than the other. One looks at different things than the other, creates different theory, leads to predictions about entirely different things. The first was behaviorist/empiricist — learning was observed responses to stimuli. Behaviorism explains a lot, and can lead to strong predictions. The second is the cognitive/rationalist view, the view of learning as have knowledge structures in the brain. This was the view started by Piaget, and it has had the greatest impact on schools. The third view is the “situative/pragmatist-sociohistoric.”
A third perspective on knowing focuses on the way knowledge is distributed in the world among individuals, the tools, artifacts, and books that they use, and the communities and practices in which they participate. The situative view of knowing, involving attunements to constraints and affordances of activity systems, suggests a fundamental change in the way that instructional tasks are analyzed. The change is away from analyses of component subtasks to analyses of the regularities of successful activity…When knowing is viewed as practices of communities and abilities of individuals to participate in those practices, then learning is the strengthening of those practices and participatory abilities.
This is the perspective described in Lave & Wenger’s classic Situated learning: Legitimate peripheral participation (also on our HCC reading list). The situative view is most powerful in describing learning in naturalistic settings, from apprenticeship to life-long learning (e.g., how professionals get better at what they do). An important difference between the situative and the cognitive is in defining “what’s worth knowing.” The situative is focused on learning how to participate in a community of practice, to be part of the discourse and activities of a group of people who work towards similar sets of goals in similar ways.
Computer science education is feeling the tension between the cognitive and the situative today. I see it in the discussion about Greenfoot. We CS educators talk about our foundational concepts, and we talk about learning the tools of our community. We say that “We don’t teach languages, we teach concepts,” but then we talk about our courses as “the C course” and “the Java course.” Once, the community of practice in computing was mathematics and electrical engineering. That’s what people knew and talked about, and that’s what we now call our foundational concepts. Today, there is a huge community of computing professionals and scientists with lots of activities and tools. They have a practice and an on-going discussion. Knowing the common knowledge and practices in use in computing today is not vocational — it’s about being able to communicate with others in the practice. Java is the the most common language in the discourse of computing education today. No computer science undergraduate is educated without knowing it. This fact has nothing to do with what languages best make evident the concepts of computing. This has everything to do with being part of a community.
What we teach in our Media Computation data structures book when we teach about simulations in Java is absolutely harder than when I taught similar content in Squeak. But it’s harder, in part, because we’re dealing with how to make this work around the strong typing in Java, and we’re making sure that students understand interfaces. Those are worth knowing, too. Strong typing and interfaces are part of what the community of practice of computing values and talks about today. Students are not well-educated if they cannot be part of that conversation (even if only to say that they don’t like the existing practices!).
As a computing educator, I have a responsibility to stay informed about the activities of computing — in part, that’s what Stroustrup is arguing when he says that professors ought to be building software. I have a whole collection of recent computing books on my shelf that I’m still working through. There are books on Ruby and Lua, Django and script.acul.ous. Are these the right ones? I don’t know. They’re my best guess, and once I read up on them, I’ll have a better sense of whether I think they’re worthwhile. I should be able to talk about the best ideas in tools used by practitioners in my community, the community that I work in and that my students will work in–and importantly, critique them. Part of my job, in the Lave & Wenger sense, is to exemplify the center of the community of practice for my students. To do that, I have to be able to speak the language in that community of practice.
I’m not arguing that Java is a great language, and I’ll continue arguing that Java is a poor beginner’s language. But our students do need to know Java, because Java exemplifies the current ideas and practice of our community. Our students are not well-educated if they can’t participate in that discourse. That’s why it is important for us as computing educators to learn how to teach Java and how to motivate the learning of Java. Not teaching them Java is not an option. Not teaching them Java leaves them uneducated. Not teaching Java only means that our students will be at a disadvantage. Our students don’t win because we refuse to play the game.
An argument from the cognitive perspective (the one I grew up in) is that students who have a strong set of concepts, who understand the core of their field well, can easily teach themselves the current tools and practices of the community. That may be true. What we know about transfer suggests that it’s true. I want to believe that’s true, but I realize that I’m crossing paradigms. I do recognize that the knowledge of the language and tools don’t come for free. Yes, Ruby is like Smalltalk — but just because I know Smalltalk, doesn’t imply that I know Ruby. Just because I know English and Latin and French, doesn’t mean that I know Spanish. It might be easier for me to learn a related language. But I still have to do the work to learn it.
All the tools and languages in common practice in computing today have important ideas embedded in them from some smart people — and maybe some less-important ideas from some not-so-smart people. But they are the ideas that our community is talking about. I’m not a fan of strong typing, but I realize that my students need to know what it’s about, because there are reasons why it’s part of our dialogue today. E.D. Hirsch writes books about “cultural literacy” and has made up long lists of the vocabulary that children need to know at various ages. One can critique Hirsch’s approach for being uninformed by the cognitive. Students need to know the concepts and have the knowledge structures to think about these ideas appropriately, not just know the words. But a focus just on the concepts leaves one open to a reasonable situative criticism. Our students must also be able to talk to the practitioners in our community.
We absolutely need to create better computing education. Java is a poor beginner’s language. We have to continue to critique and develop our practices. Our students are going to join this community, and that involves not just having a set of powerful knowledge structures. It means knowing the language and common practices of this community. Java is important to learn for the situative learning goal. The goal of an education in computing is a set of concepts and the fluency in the languages and practices of the community.
Rising grades in UK A-Levels, but not so much computing
An article on the BBC news site describes a concern about grade inflation on the A-level exams (similar to the Advanced Placement tests in the US, but more important for college admissions). But what I found stunning was not the grade inflation, but how Computing was at the absolute bottom of the pack: In terms of tests taken, in terms of A’s given, and in terms of gender disparity. More students are taking A-levels in Music, Physical Education, and German than Computing! If Computing is so critical to society, shouldn’t we be concerned when essentially all the students in a developed country give up on it?
A-level entries and passes have both risen. A jump in passes in 2002 marks the launch of modular AS and A2 courses, which are assessed on coursework and examinations over two years, with less emphasis on the final exam. Some say they are dumbed down, but others argue that the increased pass rate is because the system helps identify weak students at AS level, who are more likely to pull out before taking the full A-level.
via BBC News – A-levels: Rising grades and changing subjects.
Some Media Computation Teaching Resources
Some too-long-delayed to-do items from the last few weeks:
A complete set of the Media Computation Data Structure book slides is now available at http://coweb.cc.gatech.edu/mediaComp-teach/52. Each individual chapter is there, along with a ZIP (15Mb) of all of them, all in PPT. I revised all of these when I taught with the book this last Spring, but then I updated them (based on my experience teaching with them in the Spring) this Summer.
I have now uploaded all the “video quizzes” from the data structures class I taught this last Spring, with links to the relevant videos for each, to http://home.cc.gatech.edu/mediacomp/90. (If you want access and don’t know the key phrase, please drop me an email.) Most of the questions in the PDF’s of each video quiz include my answers or a model answer. Not all of these answers were correct (sorry!), and I annotated where I know I made mistakes. These can serve as examples to others who might be interested in trying this.
Stanford on-line AI course draws 58,000 — but is it real?
58,000 people is a huge demand for an on-line AI course offered at Stanford. That really argues for the demand for on-line education. But what kind of a course is it?
From the description in the NYTimes piece, there will be video lectures, and interactive “quizzes and grading.” I suspect that the traditional, face-to-face Stanford AI course is more demanding. Our AI courses at Georgia Tech have a significant programming requirement, and have a long pre-requisite chain, including courses in software engineering and data structures. The AI course at Stanford will be joined by a database course and one on machine learning. Our database course requires using SQL to generate queries, and our machine learning course has a significant math requirement.
A challenge in open-learning is doing significant assessment on authentic tasks (like grading programs) and to respond to the variable background knowledge in the cohort. What will students do who lack the appropriate math for the Stanford machine learning course? How will they know that they lack the math background? Where will the teacher send them?
Is this really a Stanford-quality AI course? Or is it more like outreach, community education, or adult ed? The latter is fine, and it’s great to include graded quizzes in an open course. It’s a step forward. But it’s not really a Stanford AI course, then. It’s an experiment in educational technology and distance education.
It’s an important distinction, between an experiment and a class. The NYTimes piece quotes Dr. Ng saying, “I personally would like to see the equivalent of a Stanford computer science degree on the Web.” I’d like to see that, too. My guess is that Stanford wouldn’t actually count any of these courses toward any degree. They’re not really undergraduate classes yet.
The Stanford scientists said they were focused on going beyond early Internet education efforts, which frequently involved uploading online videos of lectures given by professors and did little to motivate students to do the coursework required to master subjects.
The three online courses, which will employ both streaming Internet video and interactive technologies for quizzes and grading, have in the past been taught to smaller groups of Stanford students in campus lecture halls. Last year, for example, Introduction to Artificial Intelligence drew 177 students.
The two additional courses will be an introductory course on database software, taught by Jennifer Widom, chairwoman of the computer science department, and an introduction to machine learning, taught by Andrew Ng.
via Virtual and Artificial, but 58,000 Want Course – NYTimes.com.
App Inventor goes to MIT
MIT is creating a Center for Mobile Learning (Hal Abelson is involved), and it will maintain and develop App Inventor. More information at the Google blog.
The Massachusetts Institute of Technology’s Media Lab has announced the creation of the New Center for Mobile Learning, with start-up support from Google. The research center, to be led by three professors at MIT, is focused on building innovative mobile technologies in education, such as interactive games for children that use GPS. The first project involves creating new features and versions of Google’s App Inventor for Android, which allows programmers to easily build applications for the company’s smartphone operating system.
Eric Mazur’s Keynote at ICER 2011: Observing demos hurts learning, and confusion is a sign of understanding
Our keynote for ICER 2011 was Eric Mazur, famous Harvard physics education researcher. Mazur maintains a terrific website with his publications and talks, so the slides from his talk are available as well as the papers which serve as the content for this talks. His keynote talk was on “The scientific approach to teaching: Research as a basis for course design.” I was hoping that he might give us some advice, from older-and-wiser physics education research to up-start, trying-to-learn-to-walk computing education research. He didn’t do that. Instead, he told us about three of his most recent findings, which were great fun and intriguing.
The first set of findings were about peer instruction, which we’ve talked about here. He spent some time exploring findings on the Force Concept Inventory (FCI), particularly with respect to gender. In the US and Belgium (as one place where he’s explored this), there is a huge, statistically significant gap between men and women on the FCI. In Taiwan, he didn’t find that same gap, so it is cultural, not innate. With peer instruction, the gap goes away. Good stuff, but not shocking.
The second set of findings were on physics demonstrations, when teachers make spark and lights, balance weights, make things explode (if you’re lucky), and do all kinds of things to wake you up and make you realize your misconceptions. Do they really help? Mazur tried four conditions (rotated around, so students would try them each): No demo, observing a demo, observing a demo after making a prediction of what you thought would happen, and then having a discussion afterward. The results were pretty much always the same (here are the results from one study):
Yeah, you read that right — observing a demo is worse than having no demo at all! The problem is that you see a demo, and remember it in terms of your misconceptions. A week later, you think the demo showed you what you already believed. On some of the wrong answers that students gave in Mazur’s study, they actually said “as shown in the demo.” The demo showed the opposite! The students literally remember it wrong. People remember models, not facts, said Mazur. By recording a prediction, you force yourself to remember when you guessed wrong.
That last line in the data table is another really interesting finding — talking about it didn’t improve learning beyond just making the prediction. Social doesn’t help all learning. Sometimes, just the individual is enough for learning.
This result has some pretty important ramifications for us computing educators. When we run a program in class, we’re doing a demonstration. What do students remember of the results of that program execution? Do they even think about what they expect to see before the program executes? What are they learning from those executions? I think live coding (and execution) is very important. We need to think through what students are learning from those observations.
Third finding: Students praise teachers who give clear lectures, who reduce confusion. Student evaluations of teaching reward that clarity. Students prefer not to be confused. Is that always a good thing? Mazur tried an on-line test on several topics, where he asked students a couple of hard questions (novel situations, things they hadn’t faced previously), and then a meta-question, “Did you know what you were doing on those questions?” Mazur and his colleagues then coded that last question for “confusion” or “no confusion,” and compared that to performance on the first two problems.
Confused students are far more likely to actually understand. It’s better for students to be confused, because it means that they’re trying to make sense of it all.
I asked Mazur if he knew about the other direction: If a student says they know something, do they really? He said that they tried that experiment, and the answer is that students’ self-reported knowledge has no predictive ability for their actual performance. Students really don’t know if they understand something or not — their self-report is just noise.
Indiana is hiring in CS Education research!
I can’t remember ever before seeing “Computer Science education research” listed as a hiring focus area for a research-based CS department. “Joint with the School of Education” is a major benefit. Indiana has a strong learning sciences program. A joint position means that you can hire and advise either CS or Education students, and you get access to top-notch faculty colleagues on either side. Another sign that we’re growing up as a field.
The School of Informatics and Computing at Indiana University, Bloomington, invites applications for five positions beginning in Fall 2012, in the areas of:
- Bioinformatics
- Computer Science (all subareas)
- Computer Science education research (joint position with School of Education)
- Computer Security
- Social Informatics
The School expects continued hiring in the coming years.
Positions are open at all levels. Applicants should have a Ph.D.in the relevant area and a well-established record (senior level) or demonstrable potential for excellence in research and teaching (junior level).
via Hiring: About: School of Informatics and Computing: Indiana University Bloomington.
Mark’s Trip Report on ICER 2011: Students’ experience of CS classes, and making compilers more friendly
Last week was the International Computing Education Research conference for 2011 at Rhode Island College in Providence, RI. (What a cool city! My first time, and I enjoyed getting lost on one of my runs!) It was the first time in years that I actually stayed for the whole conference, since I left after the first day last year. I enjoyed realizing again why I loved this conference so much. Several of the papers were wonderful, the discussions and hallway chit-chat were terrific, and it was great to see so many colleagues, as well as meet people whose papers I’ve been reading but hadn’t yet met.
I’m labeling this “Mark’s Trip Report” because I’m not going to attempt to be thorough or fair in what papers I mention. I’ll tell you about what struck me. I’ll do a separate post just on the keynote.
The first set of papers were ostensibly about how students choose computing, but I thought that there was a strong subtext about understanding the student experience of a computing classes.
- Colleen Lewis talked about “Deciding to Major in Computer Science: A grounded theory of students’ self-assessment of ability,” but it was really much more about that “self-assessment” part than about the “deciding” part. Colleen told us that a common theme in her interviews were the tension between growth vs. fixed mindset (drawing on Carol Dweck’s work). Many students decide early on that they’re bad at computing and they can’t get better, i.e., they don’t have the “Geek gene.” Those students won’t choose CS, of course, but for such a disappointing reason.
- Mike Hewner presented his work, which spoke to where students get their information about CS and how a good class experience can color a student’s perception of a specialization area.
- Päivi Kinnunen presented “CS Majors’ Self-Efficacy Perceptions in CS1: Results in light of social cognitive theory” which was about applying Bandura’s work (which explores how early failures at something lower students’ belief of their ability to do that something) to CS1.
Päivi’s paper got me wondering what we’re telling CS majors when we have them use Alice or Scratch in CS1. As we know from Mike’s work, CS majors know something about CS — they know something about the languages used in regular practice. When we tell them to use Alice or Scratch, are we saying to them (in light of Bandura’s work), “You aren’t capable of using the real, authentic practice” and thus lower their self-efficacy? And if we use a “real” language (even if harder) are we saying (in a Dweck growth mindset sense), “Yeah, this is hard, but you can do it. You can learn to handle the real thing.”?
Päivi’s talk was a great set-up for Sally Fincher’s “Research Design: Necessary Bricolage,” which ended up winning the people’s choice (voted) best paper award (called the “Fool’s Award” at ICER). Sally was asking how we go about gathering information about our students’ practices. She said that we rely far too much on semi-structured interviews, and we should think about combining other methods and practices to gain more insight. She showed examples of some of her research instruments, which were really wonderful (i.e., I plan to steal them as early as this semester!). Here’s a neat combination of methods: First, give students a graph of 24×7 in 30 minute increments, and ask them to mark when they work on the class.
That’s the “when.” To get the “where,” Sally (and Josh Tenenberg and Anthony Robins) gave students cheap digital cameras, and asked them to take a picture of where they were working.
That upper left hand corner is a bus seat. Would you have guessed that your students do CS homework on the bus? Notice the mixture of affordances: In the bus, in the dorm room, in the lab with peers, at a table to work with friends. Did you realize that students are working so much away from a rich computational infrastructure? There’s no bottomline result here — rather, it’s about what data we should be gathering to figure out the things that we don’t realize yet that we need to know.
I enjoyed the papers by Cynthia Bailey-Lee, Beth Simon (for her paper on PeerWise with lead author Paul Denny — Beth’s name seemed to be on every-other paper this year!), and Matt Jadud because they were all replication studies. Cynthia was taking a finding from Biology (on using peer instruction) and seeing if it worked in CS. Beth and Matt were both taking earlier CS Ed papers, and see if they still worked in new settings. It doesn’t matter what the bottomline finding was. It’s so cool that our field is starting to go deep and check the work of earlier papers, to explore where it works and where it doesn’t, and to develop more general understanding.
Kathi Fisler presented a really interesting paper, “Do values grow on trees? Expression integrity in functional programming” that was particularly interesting for the variety of interpretations of the paper. Kathi presented it as an exploration of whether function programming is “unnatural” for students. I’m not sure how to ask that question. What I found them exploring was, “How do novices and experts see the nested structure of s-expressions? Do they see the trees? Is that evident in their editing behavior, e.g., do they edit maintaining expression integrity, or do they ignore the parentheses when typing?” Since so much computing involves the Web today, I’m wondering how comparable the results would be to people typing HTML (which is also a nested, tree-based notation).
I had a nice chat with Kathi’s co-author Guillaume Marceau who, with Kathi and Shriram, won the SIGCSE 2011 best paper award on designing error messages for students (which is an issue that has come up here recently). I told Guillaume about Danny Caballero’s thesis, and he told me about why it’s so difficult to get error messages right for students. The problem is that, by the time the parser has figured out what the problem is, all the context information to help the student has been thrown away. An example is “identifier not found.” For a student, a variable and a method/function name are completely different identifiers, completely different meanings. It takes students a long time to generalize an identifier-value pairing such that the value could be an integer, an object, or a code block. For most compilers, though, why you want the identifier is lost when the compiler can’t find an identifier’s meaning. Racket contains compiler calls that help you construct the context, and thus provide good error messages. He doesn’t hold out much hope for Java — it’s so hard just to compile Java, and refactoring it for good error messages to help students may be impossible.
Two other papers that I want to say brief words about:
- Simon’s paper on “Explaining program code: giving students the answer helps — but only just” follows up on the Bracelet work where students were asked to read and explain the purpose of a piece of code. The students failed miserably. Simon wondered, “What if we gave them the answer?” Rather than have the students fill-in-a-blank about what the code did, he gave them a multiple-choice question where the answers were the top five guesses from the first study. Yes, there was improvement. But no, performance was still appalling.
- Michael Lee presented on “Personifying programming tool feedback improves novice programmers’ learning,” which is a slightly wrong title. What they did was to create a programming task (moving a little graphical character around on a board), but “personified” the parser. A mistyped command might get the little character to say sheepishly, “I’m sorry, but I really don’t know how to do that. I wish I did. I know how to do X. Is that what you would like me to do?” I don’t think that the authors really measured learning, but what they did measure was how long students stuck with it — and a personified compiler is not nearly as scary, so students stick with it longer. (See Bandura above.)
Are the professors there to please the students or tell them the truth?
Alan Kay sent me the (below) linked article by Al Gore from Rolling Stone. While the article is about climate change, it’s using climate change as a backdrop for considering the role of news media in science reporting today. Is the role of the news media entertainment, where getting people to watch the show the goal? Or is the goal of the news media fairness, about getting a story out that the journalist believes is true and considers all reasonable positions? The article talks a good bit about the pervasiveness of television as a news source today (yeah, some people get news from the Internet, but many of the major Internet news sites are just the web-side of television media), and how big business directly manipulates television media. I didn’t know that Big Tobacco had paid actors to dress as doctors, to create ads contradicting the Surgeon General on smoking back in the 60’s.
There are critiques of this piece, based on the gap between Gore’s science (which is robust) and his policy recommendations (which have been less successful). But here’s why (I suspect) Alan sent me this piece. What’s our role as professors? Just as media are supposed to play a watchdog role in society, we as professors have a particular role to play in society. In fact, our role is similar to journalists (or so it’s been, historically), and runs into similar tensions. Is our goal to please the students-as-customers, to keep them happy, and give them what (they think) they want? Or maybe our goal is to please the industrial employer-as-customer, to teach their tools, and to give the what (they think) they want? Or is our goal to speak truth (as we see it), to teach what we believe is most fundamental, and thus, to give students and employers a new perspective? Is it more important to get seats in chairs, or to get educated students out of those chairs?
The answer isn’t simple. The new media need viewers to be economically sustainable, but they also need to be the truth-seekers in our society.We need more graduates, and we know that engaging them is the best way to get them to continue. So yes, we need kids in seats, and we need to them to be happy. But we also have a responsibility to educate, to teach students what we truly believe that they need, and to provide a deeper and more powerful perspective to industry.
The referee — in this analogy, the news media — seems confused about whether he is in the news business or the entertainment business. Is he responsible for ensuring a fair match? Or is he part of the show, selling tickets and building the audience? The referee certainly seems distracted: by Donald Trump, Charlie Sheen, the latest reality show — the list of serial obsessions is too long to enumerate here.
Recent Comments