Posts filed under ‘Uncategorized’

Harvard student newspaper calls for University to curtail CS50

At first blush, the Harvard Crimson‘s call seems a stark contrast to the Berkeley student’s call for more access to CS (see previous post here).  I hear both student articles asking for the same thing — computing as a literacy to which everyone gets access.

CS50 is a phenomenon.  Set aside the “CS50 paraphernalia” described below.  CS50 has pizza parties and all night hackathons, sponsored by Facebook.  Events are held at the Microsoft New England Research and Development Center.  It’s probably the richest and most privileged CS class in the world.  If you got into Harvard, and were excited to learn to code, CS50 is absolutely the class you want to be in — and you’re going to get an experience that matches your expectations.

Check out the syllabus for CS50 (linked here). This is a hard-core, intense computer science class for computer science students.  It runs on the CS50 appliance in Ubuntu Linux.  The course covers C, PHP, and SQL.

When I visited Harvard’s Graduate School of Education last year, I met students who really wanted to learn computer science.  They wanted to learn CS in order to teach it.  They wanted to learn about Scratch and Blockly, Greenfoot and BlueJ, Media Computation and CS Principles.  That’s not the goal of CS50, but the CS50 size and culture sucks all the air out of the room.  There’s not going to be another introductory CS course taught when Harvard has CS50 on its hands and in its checkbook.

The Harvard Crimson is saying that they want classes, liberal arts style classes, not phenomena. If it was just a normal class, maybe you could offer more than one of them?  Maybe some aimed at other kinds of introductory CS needs?

Outside of the classroom, however, CS50 is anything but the liberal arts course its creators proclaim. Its unprecedented corporate sponsorship ensures that the course has an unmatched visibility on campus.No other course gives away and sells merchandise en masse to its students and fan base. T-shirts, umbrellas, aprons, stress balls, M&Ms, and other CS50 paraphernalia are ubiquitous on Harvard’s campus. No other course makes the first five weeks—that is, the add-drop period—significantly easier than the proceeding eight weeks of the semester, luring less confident students until it’s too late to turn back. In no other course on Harvard’s campus are students allowed to simultaneously register for conflicting courses, even if they too are filmed. No other course has disciplinary procedures that bypass the Ad Board. No other course has seen reports that TFs are instructed to decline to give comment on the course to The Crimson before conferring first with the professor.

Source: Harvard Should Curtail CS50 | Opinion | The Harvard Crimson

October 7, 2015 at 7:35 am Leave a comment

NSF is hiring a permanent Program Director in CS Ed

Andy Bernat just told me about this job — I don’t know how I missed it earlier.  This is exciting! NSF is going to hire a permanent full-time CS education Program Director. The deadline is October 20, so get applications in soon.

A DUE Program Director can have a lot of influence in the field.  Andy was a rotating Program Director in DUE when he funded the Bootstrapping and Scaffolding projects which kicked off the rebirth of CS Ed in the United States, and led to the creation of the ICER conference.

This job opportunity announcement has been amended to extend the closing date to Tuesday, October 20, 2015.

The NSF is seeking qualified candidates for a permanent full-time Program Director position in the Division of Undergraduate Education (DUE), Directorate for Education and Human Resources (EHR), Arlington, VA. The ideal candidate will have expertise in computer science, computer science undergraduate education, and knowledge of computer science education research. While candidates in all areas of computer science are encouraged to apply, there is particular interest in seeking candidates with expertise in the application of computing in interdisciplinary settings and/or data-intensive research.

Source: USAJOBS – Search Jobs

October 6, 2015 at 12:50 pm 3 comments

Prescribing a lifetime drug at high cost: New York City sets 10 year goal to offer CS in all schools

NYC has joined Chicago and San Francisco and Arkansas in requiring CS in all schools.  I appreciate that they recognize the value of computing education.  I worry that the people making these decisions don’t realize what’s involved in covering them.  In particular, is de Blasio’s decision in New York City a commitment to a long-term cost that they can’t sustain?

de Blasio’s program is going to spend $81M to help existing teachers become CS teachers over the next ten years. Let’s imagine that he succeeds and his program prepares enough CS teachers so that every school has enough teachers to provide CS learning opportunities to every NYC students.

What happens after that? A lot of the teachers going through CS teacher professional development today are new teachers, less than five years into the job. Across all STEM subjects, we lose about 50% of all new teachers within five years. In an ECS study, it was closer to 60% attrition in 3 years. We’re going to burn through those teachers quickly. counts on CS teachers being in the classroom for only three years.

Where will NYC get the teachers to sustain the effort? Do they need to raise another $81M to keep retraining existing teachers?  It’s far cheaper to get teachers pre-service, straight from undergraduate. There are less than five pre-service CS teacher education programs in the United States. None are currently in New York (city or state).

de Blasio’s decision is like an architect’s decision to design a building using a particular kind of material that is hard to make and for which there are no current manufacturers. Or a doctor prescribing a drug that you’ll need for the rest of your life — but which can only be made by a specific pharmacy company at a high cost.

Some of that $81M should be used to build the infrastructure, to create the system that will keep supplying CS teachers for NYC — to create teacher certifications, start teacher education programs, and hire education faculty who will focus on CS education.  I pointed out previously that that’s how Germany is bootstrapping CS education. They’re making the investment in CS ed faculty who will keep programs running for decades.  My Blog@CACM post (link here) this month is on how CS departments can help grow CS teachers.

CS education is important to 21st century literacy. It’s so important that we shouldn’t promise it only to kids who are in NYC over the next 10 years.  What I hope is that de Blasio’s decision leads to that kind of investment. I hope that NYC, Chicago, San Francisco, and Arkansas are going to direct attention to what’s needed to create the steady-state flow of new computing teachers into classrooms.

Meeting that goal will present major challenges, mostly in training enough teachers. There is no state teacher certification in computer science, and no pipeline of computer science teachers coming out of college. Fewer than 10 percent of city schools currently offer any form of computer science education, and only 1 percent of students receive it, according to estimates by the city’s Department of Education.

Computer science will not become a graduation requirement, and middle and high schools may choose to offer it only as an elective. But the goal is for all students, even those in elementary school and those in the poorest neighborhoods, to have some exposure to computer science.

Source: De Blasio to Announce 10-Year Deadline to Offer Computer Science to All Students – The New York Times

October 5, 2015 at 8:11 am 4 comments

Come join us at LaTiCE 2016 – Call for Papers

I’ve been asked to be the keynote speakers at LaTiCE 2016.  Hope some of you can join us! Papers due Oct 11.

The Fourth International Conference on Learning and Teaching in Computing and Engineering (LaTiCE 2016) aims to create a platform towards sharing rigorous research and current practices being conducted in computing and engineering education. The previous three LaTiCE conferences have been successfully held in Macau (2013), Malaysia (2014), and in Taiwan (2015). The fourth LaTiCE conference will be held at IIT Bombay, India, from March 31st to April 3rd, 2016.

LaTiCE 2016 is jointly organized by the Indian Institute of Technology Bombay (IITB), India, and the Uppsala Computing Education Research Group (UpCERG), Uppsala University, Sweden. It is technically co-sponsored by the Special Technical Community for Education Research (STC Education), which is an IEEE Computer Society initiative to connect those interested in all forms of educational research and pedagogy in the field of computing and engineering.

The conference is preceded by a doctoral consortium on March 31st. The conference is a gathering for presentations of research papers, practice sharing papers, work-in- process papers, and display of posters and demos.

Main Conference Themes

  • Computer Science and Engineering Education research
  • Secondary School Computer Science
  • ICT in Education

Conference sub-themes

  • Computing and engineering education research, theories, and methodologies
  • Cross-cultural aspects of computing and engineering education
  • Educational technology, software, and tools
  • Teaching innovations, best practices, experience sharing in computing and engineering education
  • Course module design, proficiency assessment, and module cross-accreditation
  • Improving student engagement in computing and engineering
  • Collaborative learning in computing and engineering- team and project skills

Source: LaTiCE 2016

October 2, 2015 at 8:32 am Leave a comment

Steve Cooper heads to University of Nebraska-Lincoln

The Chronicle‘s column on people has a piece about computing education researcher Steve Cooper who is moving from Stanford to the University of Nebraska-Lincoln. I just recently blogged about Steve’s terrific ICER 2015 paper (see post here). As Ben Shapiro quipped on Facebook, with Steve at U. Nebraska-Lincoln and Brian Dorn at U. Nebraska-Omaha and Omaha is hiring another computing education researcher (see job ad here), Nebraska (a relatively low-population state) likely now has the highest number of computing education researchers per capita in the United States!

From Stanford to Lincoln

Stephen C. Cooper doesn’t like being “smack dab in the middle of things.” He’d rather be out at the edge, he says, and trying to go in different directions.

Source: ‘Freaks of Fortune’ Author Leaves Princeton for U. of Chicago, and Other News About People – People – The Chronicle of Higher Education

September 30, 2015 at 8:05 am Leave a comment

What can I do today to create a more inclusive community in CS? Guest Post from Cynthia Lee

In July, Cynthia Lee, Leo Porter, Beth Simon, and I held a workshop (funded by the NSF IUSE program) for new faculty at research-intensive universities, to help them to be more effective and efficient teachers. We had eight new faculty attend. We taught them about peer instruction, worked examples, how to create a syllabus, techniques for dealing with plagiarism, how to make time for teaching, and how to create a more inclusive classroom. The response was terrific. As one participant told us, “I can’t believe how much actionable knowledge I picked up about teaching in just a day and a half!”

We’ll be inviting new faculty from research-intensive universities again in Summer 2016.

The below list was created by Cynthia Lee for the workshop participants. I loved it and asked if I could offer it here as a guest post. I’m grateful that she agreed.


  • Email top performers on a recent homework or exam to congratulate them; be sure to include a diverse group.
  • Personally invite a woman or minority student who is doing well to major in CS, apply to an internship, or go to grad school. If your TAs work with small groups of students in a discussion section, have them do this as well.1
  • Review today’s lecture slides to make sure that your gender pronouns are varied, and not in ways that conform to stereotype.
  • Avoid heteronormative examples (e.g., bijective function between sets “boys” and “girls”).
  • When using arbitrary names in examples, choose a broader selection (Juan, Neha, Maria, Mohammed, instead of just Jane Doe and John Smith). To represent your school’s population, use a previous quarter roster for ideas.
  • At the beginning of the quarter, ask each student to email you to introduce themselves by naming one of their core values, and one way that CS relates to or could be used in service of that core value (or write it down in class, and/or share with a neighbor in class).2
  • Never say, “This UI is so easy your mom could use it” or “How would you explain this to your mom?” or other phrases that equate women with lack of tech savvy. 3
  • Review today’s lecture slides to make sure that stock photos and illustrations with people in them include diverse races and genders in non-stereotyped roles.
  • Believe that hard work and effective practice matters more than DNA. Your beliefs influence students’ beliefs and impact their performance. 4
  • Take a moment in class today to encourage students to focus on their “slope,” not their “y-intercept.” That is, in the long run it matters how fast you’re growing and learning, not advantages or deficiencies in where you started. 5
  • Start class today by telling the students you’re proud of them and how hard they are working. Tell them you are enjoying working with them this quarter.
  • Start class today by renewing your encouragement to students to come to office hours. Explicitly instruct them how to do it: “you don’t need to have a particular question-you’re welcome to just stop by for 5 minutes to introduce yourself” and “I’m not just here for homework questions-if you are considering changing your major to CS and want to talk about it, if you want to know what it’s like to work as a software engineer, if you are thinking about applying to grad school but don’t know where to begin, I’m happy to discuss that kind of thing as well.”
  • Have very clear written expectations for student work (coding style, project components, etc.). Where possible, show sample solutions exactly as you would want a student to write them (don’t just give a “sketch” of the solution).
  • Allow and encourage pair programming on assignments. 6
  • Provide students with clear and timely feedback, including class-wide distribution data. Women and minority students often fear the worst about their position relative to the class and can be reassured by data. 7
  • After a midterm exam, step through the math showing that they can still pass the course even if they did poorly. It’s just some multiplication, but take the time to talk about it. Be factual-no need to “sugar coat”-but provide facts that will help students who think things are worse than they really are.
  • When a student is speaking, wait for the student to finish then count “one one-thousand, two one-thousand” in your mind before responding. Both men and women are prone to prematurely cutting off women when they speak. You may do this unconsciously unless you consciously add that pause. 8
  • Occasionally choose a lecture to actually write a tally of how many times you’ve called on men vs women in the class. Both men and women are prone to calling on men more often. You may do this unconsciously unless you consciously do otherwise. 9
  • Actively mitigate when students may be intimidating each other. When a student uses jargon in a question (often one of those questions that is more of a boast than a real question), explicitly identify when you expect that most students will not be familiar with that jargon, and/or it is not something other students are expected to know for the class (“Thanks for your comment. For the rest of the class, I’m sure most of you aren’t familiar with some of those terms-don’t worry, you’re not alone. Those terms are outside the scope of this class and not necessary to know.”)
  • Ensure that you and your TAs call each student by their preferred name and gender pronoun-including allowing students to write their preferred name on homework and exams-even if these do not match their current legal and/or registrar records of name and sex. This issue deeply affects transgender students, and also many students who prefer to have an alternate anglicized name. Some institutions are good about allowing students to easily make these changes with the registrar so the preference will automatically show up on your roster. Find out about your school’s policies. You could also put a statement in your syllabus that you welcome students to email you about their preference.
  • Watch out for examples or anecdotes about your childhood or daily life that may cause students to feel excluded for economic reasons (e.g., talking about pricey gadgets or vacations in Hawaii as normal). Even if you know that you did not experience these things and are simply using them as an example, students don’t know that and can mistakenly assume you are referring to them in a normative way.
  • Mid-quarter, reach out to a student who has filed a disability accommodation form with you and ask them if their needs are being met in your class. Reaffirm your commitment to complying with their approved accommodations and your willingness to receive complaints if there is a problem.
  • Encourage your colleagues to do the items on this list. Advertise your good example by bringing up your performance of these items in conversations with other faculty.


  1. Holly Lord and Joanne McGrath Cohoon. “Recruiting and Retaining Women Graduate Students in Computer Science and Engineering,” 2006. ↩︎
  2. Research shows this intervention mitigates stereotype threat. Reduced racial gap by 30%. ↩︎
  3. This sexist trope is something women have been working to expunge from our vocabulary. Unfortunately, still often seen in discussion of UI design.,_your_mother_could_do_it ↩︎
  4. Carol Dweck. “The New Psychology of Success.” This research shows that minority students perform worse in classes where the professor believes in a “fixed mindset” (talent is innate) when compared to performance in classes where professor has a “growth mindset” (talent can be developed through effort). See also CS-specific work on mindsets: Laurie Murphy and Lynda Thomas. “Dangers of a fixed mindset: implications of self-theories research for computer science education.” ITiCSE 2008. ↩︎
  5. Articulating this idea as slope/y-intercept is from Professor John Ousterhout of Stanford. ↩︎
  6. Among other research showing benefits of pair programming: Leo Porter and Beth Simon. “Retaining nearly one-third more majors with a trio of instructional best practices in CS1,” SIGCSE ’13. ↩︎
  7. These fears are related to “Imposter Syndrome”-even highly talented students from under-represented groups fear that they are unskilled, and more unskilled than everyone else. Overview of Imposter Syndrome research: ↩︎
  8. Occasioned by a news item about a panel discussion in Silicon Valley, NYTimes reviews research on women being interrupted when speaking: ↩︎
  9. Jere Brophy and Thomas Good. “Teachers’ communication of differential expectations for children’s classroom performance,” 1970. ↩︎

September 28, 2015 at 8:50 am 4 comments

Student and Teacher CSP Ebooks are now Available

We now have TWO ebooks supporting CS Principles (see website here) now available — one for teachers and one for students.

Our teacher ebook summer study is now ended. (Announcement about launching the study is here.) We’re crunching the data now. We’ve already learned a lot about what teachers want in an ebook. We learned where our user interface wasn’t obvious, and where we needed to explain more. We learned that teachers expect end-of-chapter exercises. We have used what we have learned so far to produce the two new ebooks.

STUDENT CSP EBOOK: About a year ago, we received additional NSF funding (from the Improving Undergraduate STEM Education (IUSE) program) to develop a student version of our CSP ebook. We have been running participatory design studies and gathering usability surveys from students to get input on what a student ebook should look like. We have now released the first version of the student ebook.

The student CSP ebook is available at  It doesn’t require a login, but we recommend that teachers have their students login. Without a login, we store saved answers on the local computer, but if the student logs in, we save the answers by the student’s username.  The course name is StudentCSP.

We recommend that teachers create a custom version of the student ebook for your students.  This allows teachers to customize the ebook, assign homework, and view student’s progress, and even create additional assessments for students.

New Version TEACHER CSP EBOOK: We iterated on our teacher ebook at the same time that we were developing the student ebook. We hypothesize that the student CSP ebook may actually encourage teachers to complete the teacher ebook. We can imagine that teachers who use the student ebook might want to stay one step ahead of the students, e.g., “My students are starting Chapter 3 on Monday, so I better finish Chapter 3 this weekend.”

We have now created a second version of our teacher CSP ebook. This one is in lockstep with the student CSP ebook, includes all the end-of-chapter exercise answers and teacher notes (e.g., on how to teach particular concepts, common student difficulties, etc.). We are not making the second teacher ebook available openly (because it includes answers to the student problems).

Teachers, please contact us at with the name and location of your school, and we’ll send you the URL.

We recommend that teachers create their own course for their students.  See for why a teacher might want to build a custom course and how to do it.

  • You must register on Runestone first at Enter StudentCSP as the course name. Be sure to record your username. We find that users often forget what they entered and assume it was their e-mail address — and it may not have been. You can also choose to sign in with your account on Google Plus, Facebook, Twitter, or several others.
  • Then go to and select “Create your own Course”.
  • Create a unique name for your course (use your school name and StudentCSP and year maybe), add a description, and your institution, and then select “CS Principles: Big Ideas in Programming by Mark Guzdial, Barbara Ericson, and Briana Morrison“.
  • Leave the rest as defaults and click the “Submit” button.  This will build a custom version of the student ebook for your students and it will have a unique URL and course name.  You will be listed as the instructor and can look at the log files and view other information on the instructor page (you can get to this by clicking on the icon that looks like a head and shoulders and the top right of your screen when you are in the ebook).

September 25, 2015 at 8:00 am 4 comments

Older Posts

Recent Posts

October 2015
« Sep    


Blog Stats

  • 1,129,963 hits

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

Join 3,650 other followers

CS Teaching Tips


Get every new post delivered to your Inbox.

Join 3,650 other followers