## Archive for February, 2018

### Confusion over the forms of programming problems: Mathematics/Physics versus CS

I’m teaching Media Computation again this semester, about 250 students (over 50% female) in a huge lecture hall.  It’s hard to wander the room to answer questions, especially during peer instruction, but we do it anyways.

I’ve been thinking a lot about one question on the first quiz in week #2 of the class.  All my students are Georgia Tech undergraduates but not-CS majors, so, very smart, lots of math and science background, but almost no programming background.

Here was one of the two problems that had the lowest score. Students were to write down what this program would print.

```def computeSalary():
rate = 10.00
hours = 40
salary = hours * rate
hours = 30
print salary
increase = 1.00
salary = hours * (rate + increase)
print salary```

I suspect most teachers would think that this is a pretty standard first semester, even first couple weeks problem. I certainly did. I even discussed almost the exact same program in lecture.

The most common wrong answer was to write only what the second print statement generated. The first print statement was ignored.

During the last 5-10 minutes of the quiz, almost everyone was gone, and I answered lots of questions from the remaining students — picking my way through the narrow aisles in the lecture hall. They were struggling, so one might expect that they would try to get clues by asking questions. This was a problem that they asked lots of questions about.

I was struck by the words that students used when they described what was the one number that they were writing. One told me that the number she wrote down was the “result” of the function. Another told me that that was the “answer.” I came away with the sense that the students were thinking about the program as a mathematics function or a physics story problem.

We often talk about how computer programs might lead to misconceptions for students because of flawed transfer from mathematics. For example, Python functions have mutable data, use the “=” sign in a non-mathematical way, and have side effects. I wonder if the confusion here is about the similarity in form of the problem. Students see a series of equations in math, or a description of a situation in physics, and the answer is a number, an answer, a single result. Not so with programs — it’s a series of statements (like those others), but there may be more than one thing that the program does. We’d need to do real research to see if there is anything to this, not just me noting anecdotal comments from a half dozen students.

### What Universities Must Do to Prepare Computer Science Teachers: UTeach leads a multi-university group to grow computing education

Kimberly Hughes, Director of the UTeach Institute at The University of Texas at Austin has written a blog post about a multi-university effort to grow CS education. They have an interesting set of recommendations. I look forward to seeing the white paper that the blog post promises!

In-service teacher professional development has been key to the explosive growth of K–12 CS education offerings, but the role of universities in the preparation of computer science teachers is absolutely critical if we are going to address the current shortage of CS teachers at scale and with any kind of lasting impact. Yet there are precious few exemplars on which to model new programs. Partly this has been a chicken and egg problem. For example, the UTeach program at UT Austin has had an undergraduate pathway to CS certification for more than ten years. But with so little demand for CS teachers at secondary schools throughout the state, very few students were recruited and prepared. Now that the demand for CS teachers is increasing, UTeach Austin and other UTeach partner universities are ramping up and expanding their efforts.

### SIGCSE 2018 Preview: Black Women in CS, Rise Up 4 CS, Community College to University CS, and Gestures for Learning CS

While I’m not going to be at this year’s SIGCSE, we’re going to have a bunch of us there presenting cool stuff.

On Wednesday, Barb Ericson is going to this exciting workshop, CS Education Infrastructure for All: Interoperability for Tools and Data Analytics, organized by Cliff Shaffer, Peter Brusilovsky, Ken Koedinger, and Stephen Edwards. Barb is eager to talk about her adaptive Parsons Problems and our ebook work.

My PhD student, Amber Solomon, is presenting at RESPECT 2018 (see program here) on a paper with Dekita Moon, Amisha Roberts, and Juan Gilbert, Not Just Black and Not Just a Woman: Black Women Belonging in Computing. They talk about how expectations of being Black in CS and expectations as a woman in CS come into conflict for the authors.

On Thursday, Barb is presenting her paper (with Tom McKlin) Helping Underrepresented Students Succeed in AP CSA and Beyond, which are the amazing results from the alumni study from her Project Rise Up effort to help underrepresented students succeed at Advanced Placement CS A. When Barb was deciding on her dissertation topic, she considered making Rise Up her dissertation topic, or adaptive Parsons problems. She decided on the latter, so you might think about this paper as the dissertation final chapter if she had made Rise Up her dissertation focus. Project Rise Up grew from Barb’s interest in AP CS A and her careful, annual analysis of success rates in AP CS A for various demographics (here is her analysis for 2017). It had a strong impact (and was surprisingly inexpensive), as seen in the follow-on statistics and the quotes from the students now years after Rise Up. I recommend going to the talk — she has more than could fit into the paper.

On Friday, my PhD student, Katie Cunningham, is presenting with her colleagues from California State University Monterey Bay and Hartnell College, Upward Mobility for Underrepresented Students: A Model for a Cohort-Based Bachelor’s Degree in Computer Science.  The full author list is Sathya Narayanan, Katie, Sonia Arteaga, William J. Welch, Leslie Maxwell, Zechariah Chawinga, and Bude Su. They’re presenting the “CSin3” program which drew in students from traditionally underrepresented groups and helped them earn CS degrees with remarkable success: A three year graduation rate of 71%, compared to a 22% four-year graduation rate, as well as job offers from selective tech companies. The paper describes the features of the program that made it so successful, like its multi-faceted support outside the classroom, the partnership between a community college and a university, and keeping a cohort model. The paper has been recognized with a SIGCSE 2018 Best Paper Award in the Curricula, Programs, Degrees, and Position Papers track.

On Friday, my colleague Betsy DiSalvo is going to present at the NSF Showcase some of the great work that she and her student, Kayla des Portes, have been doing with Maker Oriented Learning for Undergraduate CS.

On Saturday, my EarSketch colleagues are presenting their paper: Authenticity and Personal Creativity: How EarSketch Affects Student Persistence with Tom McKlin, Brian Magerko, Taneisha Lee, Dana Wanzer, Doug Edwards, and Jason Freeman.

Also on Saturday, Amber with her undergraduate researchers, Vedant Pradeep and Sara Li, are presenting a poster which is also a data collection activity, so I hope that many of you will stop by. Their poster is The Role of Gestures in Learning Computer Science. They are interested in how gesture can help with CS learning and might be an important evaluation tool — students who understand their code, tend to gesture differently when describing their code than students who have less understanding. They want to show attendees what they’ve seen, but more importantly, they want feedback on the gestures they’ve observed “in the wild.” Have you seen these? Have you seen other gestures that might be interesting and useful to Amber and her team? What other kinds of gestures do you use when explaining CS concepts? Please come by and help inform them about the gestures you see when teaching and learning CS.

### Stanford is NOT switching from Java to JavaScript: I was mistaken

Last April, I wrote a blog post saying that Stanford was abandoning Java for JavaScript in their intro course (see post here).  The post was initiated by an article in the Stanford Daily. The post caused quite an uproar, way more than I expected. More than one Stanford faculty member reached out to me about it.  In particular, Marty Stepp told me that I was definitely wrong, that Stanford would mostly be teaching Java in a year. I promised that if I was wrong a year later, I would write another post correcting my first post.

It’s been a year, and I was wrong. Stanford is NOT abandoning Java for JavaScript.

I’m glad I was wrong, but it has nothing to do with Java or JavaScript.

I heard about the possible switch to JavaScript several months before from a Stanford faculty member.  When I saw the Stanford Daily article, I thought it was okay to talk about it. Marty told me at the time that I was wrong, and that the article was ill informed.  Still another Stanford faculty member wrote me about the tensions over this issue.

A lesson I learned from Mike Lach and others involved in the NGSS roll out is that all curricular decisions are political decisions.  A framework might be based on scientific expertise, but what is actually taught is about choice and vision — different opinions of how we interpret where we are now and what we want in the future.  If you haven’t heard about the politics of curricular choices before, I highly recommend Schoolhouse Politics.

I am not at Stanford, so I don’t know how curricular decisions have been made and were made here. I based my post on talking with some Stanford faculty and reading the Stanford Daily article.  I predicted that the forces pushing for JavaScript would end up changing the curriculum. They didn’t (or haven’t so far).  The Stanford lecturers are excellent, and they are the ones actually teaching those classes. I’m glad that they get to continue teaching the classes the way that they think is most valuable.

Below is what Marty wrote me about the courses at Stanford, and a link to the Stanford course offerings, showing that Stanford is still primarily a Java house:

This calendar year our CS1 Java course is still quite clearly the dominant course. Nick Parlante is also teaching two smaller experimental offerings of a Python class in our winter and spring quarters. There may be another experimental JavaScript and/or Python course on the books for fall, but it certainly will not be the main class; the CS1 in Java will continue to be so throughout all of the next academic year. Currently no plan is under way to change that, though we certainly are open to evolving our courses in the long term like any other school would be. I would like to note that the state of intro at Stanford is exactly as was described to you by myself and others 10 months ago.

### Governor of Rhode Island explains why we should teach programming to everyone

Gina Raimondo, the governor of Rhode Island, was on Freakonomics Radio a few weeks ago. Stephen Dubner challenged their plans to offer computing education at all grade levels in every district.  She had a strong response. Dubner’s question is good. We still don’t have the empirical evidence for the value of teaching computing to everyone. We should do that research — not to figure out if Raimondo made the right bet, but to tune what we’re doing to make sure that we get the maximum benefit for the investment.

I recommend the whole interview.

DUBNER: So, I hear about this kind of thinking a lot, and I certainly understand the appeal and the resonance. But I do also wonder if there’s a proven upside of having everyone learn computer science or programming. It strikes me a little bit like the equivalent of having every student in America during the boom of the internal combustion engine learn to take apart a carburetor. And then I think, if you look at the history of economics and progress, that one of the main strengths of economic progress is the division of labor and specialization, rather than everybody chasing after the latest trends. So I’m curious what the evidence was that inspired that move of yours.

RAIMONDO: I think of it as access and exposure, and also just providing people with a basic level of essential skills. So, everyone has to take math. They may become a writer, they may become an actor, but they ought to have a certain basic level of math skills. First of all, because it’s an essential skill to function. And by the way, they might like math. I think digital skills are the same thing. No matter what job you have, you have to have some basic familiarity with computer skills and digital skills. And so it is as essential in this economy as any other skill that we teach. But also, we know — and there’s loads of data on this girls, people of color, and low-income folks are less likely to go into I.T. fields, which tend to be higher-paying. However, if they’re exposed to some computer training, they’re much more likely to go into the field and do well at it.

### Teasing out the meaning of “online classes” — Online Courses Are Harming the Students Who Need the Most Help: NYTimes

The NYTimes published an interesting piece on the state of online education today. Increasingly, online education is being used in schools as a response to students failing in face-to-face, traditional classrooms.  If you’re not making it in the regular class, try it again in the online class.  The article describes how that’s not working. Students who fail in traditional classes need more personal contact and support, not less.

I love that the name of the column where this article appeared is called “The Economic View,” because that’s exactly what it is.  We do now how to teach every student well — give each child a well-educated teacher for their particular subject (Bloom’s two-sigma effect). We can’t afford that, so we make do with less.  But we should aim to do no harm.  Current practice with online classes is clearly doing harm.

The NYTimes article is reporting on empiricism.  We cannot empirically determine what might online classes become. The author, Susan Dynarski of the University of Michigan, is reporting on current practice and on the result of policy.  Can online classes help students?  Absolutely, and the OMS CS is a good example of that.  Can we build online classes that work better for students who struggle with traditional classes?  Maybe — it’s hard to see them in this study. At the ECEP 2018 meeting, Caitlin Dooley (Associate Superintendent for Georgia) said that their online classes do better than face-to-face classes, in part because of caring (“mama bear”) teachers who support the students outside of the online classes.  The online classes that Susan Dynarski is studying are clearly not working well for struggling students.  There may already be models that work well, but they’re swamped in a general study of policy across different kinds of online classes.  Dynarski’s article may just be telling us that the current average practice is insufficient. There may be better models (maybe still in research) that could correct these ills.

Dynarski’s article is fascinating and is sounding an important alarm. It should be even greater motivation for those of us who are working to invent better online education.

Online education helps school districts that need to save money make do with fewer teachers. But there is mounting evidence that struggling students suffer.

In the fully online model, on the other hand, a student may never be in the same room with an instructor. This category is the main problem. It is where less proficient students tend to run into trouble. After all, taking a class without a teacher requires high levels of self-motivation, self-regulation and organization. Yet in high schools across the country, students who are struggling in traditional classrooms are increasingly steered into online courses.

### Finding a home for computing education in US Schools of Education: Priming the Computing Teacher Pump

Priming the Computing Teacher Pump: Integrating Computing Education into Schools of Education

This report focuses on Schools of Education (rather than Departments or Colleges of Computer Science/Computing) for creating pathways for CS teacher education.

We challenge US teacher education programs to innovate and integrate a new discipline into their programs. What we propose is nothing less than a change to the American Education canon. Such enormous change will require innovating in different ways, using different models and strategies, before we find models that work. The report, Priming the Pump, will highlight examples of integration from across the United States, and provide concrete recommendations for discussion.

With the expansion of computing education in mainstream K-12 schools, the current training mechanisms for teachers quickly will fall short of supporting a sustainable pipeline of teachers for the scale many cities and states have committed to.

Location: Microsoft Times Square – 11 Times Square, New York, NY

Date + Time: Thursday, April 12th, 2018; 3PM – 6PM ET

www.computingteacher.org

____________________________________________________________________

Apply to Attend and for possible travel funding: Formal Invite to Follow Upon Receipt of Registration

_____________________________________________________________________

Highlights from Priming the Computer Teacher Pump

What do teachers need to know about computing? The question of what teachers need to know about computing should be at the core of developing both the structure and content of teacher preparation programs.”

Teacher Development Models for Computing Education: Currently, few models exist in the United States for the development of rigorous computing education teachers, especially focused on computer science or computational thinking, within schools of education.”

CS Education in Teacher Education: Schools of Education face a number of challenges in terms of preparing more computer science teachers. Trends over the last decade have shown a general lack interest from graduating students in pursuing a career as a teacher. In a 2016 national survey, The National Education Association reported that the number of students planning to major in education in 2014 dropped to an historic low of 4.2%.”

“Preparing Educational Leaders to Support CS Education: There is urgency around preparing administrators and other educational leaders with the knowledge and skills needed to support computer science teaching and learning for all students. To successfully do this, computer science education must be fully established within the complex and multi-layered United States school system.”

_______________________________________________________________________

Organizers/Authors

Leigh Ann DeLyser

NYC Foundation for CS Education (CSNYC)

Joanna Goode

University of Oregon

Mark Guzdial

Georgia Institute of Technology

Yasmin Kafai

University of Pennsylvania

### Education is About Providing Hope to Everyone: Contrasting the Lost Einsteins and Kennett, Missouri

I’ve had two articles bouncing around in my head that offer contrasting views of higher education and for me, of the purpose for computing education.

In “Lost Einsteins: The Innovations We’re Missing,” the NYTimes tells us about unequal access to opportunity in the United States.  We do not have a meritocracy. Our inventors, patent holders, and innovators overwhelmingly are male, white, and upper income. Two children of equal ability do not get the same access to opportunity, if one is poor, female, or from a minority group. That opportunity includes higher education, access to funding, and the social capital of figuring out how to file a patent or produce an invention.

Women, African-Americans, Latinos, Southerners, and low- and middle-income children are far less likely to grow up to become patent holders and inventors. Our society appears to be missing out on most potential inventors from these groups. And these groups together make up most of the American population.  The groups also span the political left and right — a reminder that Americans of different tribes have a common interest in attacking inequality.

In “A Dying Town: Here in a corner of Missouri and across America, the lack of a college education has become a public-health crisis,” the Chronicle of Higher Education tells us the story of Kennett, Missouri, a town with little hope and few college degrees.  Perhaps it’s correlation, but maybe it’s causation. Only one in 10 adults in Kennett, MO has a four-year degree.  The article points out the correlates for attaining a college degree. There are decreased mortality rates with college attendance.

It would be easy to say this is just about being poor, but people who study the phenomenon say it’s not that simple. Yes, having a job — and the paycheck and health insurance that come with it — matters. Those aren’t all that make a difference, however. Better-educated people live in less-polluted areas, trust more in science, and don’t as frequently engage in risky behaviors. Have a college degree and you’re more likely to wear a seat belt and change the batteries in your smoke alarm.

Both of them are sad stories. I’m struck by the differences in the desired goal in each.  In “Lost Einsteins,” we are told about the innovations and inventions we all are missing out on, because access to opportunity (including higher education) is so biased. In “A Dying Town,” we’re told that everyone need access to the opportunity for higher education.  In Kennett, MO, a college degree means hope, and hope means life — literally.

In “Lost Einsteins,” opportunities like higher education are about creating inventors and innovators. In “A Dying Town,” opportunities like higher education are about improving quality and length of life.  Contrast these perspectives as being like coaching a sports champion and providing public health. I made a similar contrast in my book Learner-Centered Design of Computing Education in how we think about computing education.  Many CS teachers are trying to produce innovators, inventors, champions, and Tech heroes — they want their students to go to the great Tech companies, or invent the next must-have app, or start a company that will be worth millions if not billions.  I argue that we have a much greater need to provide everyone with the computing literacy that they need to be successful in the 21st Century.  It is important to coach the champions, but not at the cost of providing the public health that everyone needs.

I’m curious about the relationship between college degrees and the health issues in Kennett, MO.  I have taught undergraduates for over 25 years.  I’ve never taught anyone to wear a seat belt or to change the batteries in their smoke alarms.  Where did they learn that?  Is it just because they’re smarter after they get the degree?  Or were they prone to do those things anyway, because they were the kind that sought out higher education?  I don’t know, but if it’s causal, we have to be careful not to lose those important side benefits of a college degree as we downsize higher education.  As we get rid of the teachers for the MOOCs, and get rid of the campus for virtual space, we might also get rid of whatever intangibles that lead a college graduate to make the right choices in life, like wearing a seat belt and having a long, healthy, and productive life.

### Will be missing my friends at SIGCSE 2018 — Preparing for What’s Next

I am not going to SIGCSE 2018.  I haven’t missed SIGCSE in a lot of years, and I’m sorry to miss it this year.  SIGCSE is the biggest computing education conference in the world, and it’s the best place to hear what’s going on in CS classes and the United States — and to possibly influence what’s going on.  I’m particularly sorry because I owe Owen Astrachan a beer and dinner.  I lost our bet about Code.org and CSP Curricula.  I have to find another time to pay up.

I’m not going because it’s a time of change for me.  I don’t know for sure what I’m going to be doing next. This post is another in the (perhaps wearisome) series of posts where I explored what a post-full professor should do and my failure CV.

There are two forcing functions for the change:

• My wife and research partner, Barbara Ericson, is finishing her PhD on adaptive Parsons problems.  She is going to shift her emphasis from being Director of CS Outreach to more research.
• Our role in ECEP is ending in September.  From “Georgia Computes!” to ECEP, we have been doing work in Broadening Participation in Computing (BPC) for over a dozen years.  We want to move on. Others will carry ECEP further.  I started doing work in BPC as a natural next step from my research on making computing education for a broader audience (e.g., Media Computation).  Different kinds of research and leadership are important for the next steps of BPC Alliance work.

SIGCSE may not be as big a part of my academic life, depending on what comes next for me. I may do more Engineering Education Research in the future.  I may get more involved in preparing future CS teachers. My research directions are changing. I will continue to work towards Computing Education for All, and I’m interested in studying and developing different ways of getting there. The proposals I’m submitting these days are about doing work that looks like Bootstrap. I’d like to do more in applying computing (specifically, programming) as a notation and tool for learning in disciplines other than computer science. Venues other than SIGCSE may be the right places for this kind of work.

It’s going to be a great SIGCSE, and I’m thrilled that my student, Katie Cunningham, is co-author on a paper that will be receiving a Best Paper Award. Sorry I won’t be there to see all my SIGCSE friends this year.