Posts tagged ‘teachers’

How can teachers help struggling computationalists

My Blog@CACM post for this month is about imagining the remedial teaching techniques of a school-based “Computing Lab” in the near future.

It’s becoming obvious that computing is a necessary skill for 21st Century professionals. Expressing ideas in program code, and being able to read others’ program code, is a kind of literacy. Even if not all universities are including programming as part of their general education requirements yet, our burgeoning enrollments suggest that the students see the value of computational literacy.

We also know that some students will struggle with computing classes. We do not yet have evidence of challenges in learning computation akin to dyslexia. Our research evidence so far suggests that all students are capable of learning computing, but differences in background and preparation will lead to different learning challenges.

One day, we may have “Computing Labs” where students will receive extra help on learning critical computational literacy skills. What would happen in a remedial “Computing Lab”? It’s an interesting thought experiment.

Source: Designing the Activities for a “Computing Lab” to Support Computational Literacy | blog@CACM | Communications of the ACM

I list several techniques in the article, and I’m sure that we can come up with many more.  Here’s one more each DO and DON’T for “Computer Lab” for struggling computationalists.

  • DO use languages other than industry standard languages.  As I’ve mentioned before in this blog, CS educators are far too swayed by industry fads.  I’m a big fan of Livecode, a cross-platform modern form of HyperCard. An ICER 2016 paper by Raina Mason, Simon et al. estimated Livecode to have the lowest cognitive load of several IDE’s in use by students.  If we want to help students struggling to learn computing, we have to be willing to change our tools.
  • DON’T rely on program visualizations.  The evidence that I’ve seen suggests that program visualizations can help high-ability students, and well-designed program visualizations can even help average students.  I don’t see evidence that program visualizations can help the remedial student.  Sketching and gesture are more effective for teaching and learning in STEM than diagrams and visualizations.  Sketching and gesture encourage students to develop improved spatial thinking.  Diagrams and visualizations are likely to lead remedial students into more misconceptions.


October 21, 2016 at 7:51 am 9 comments

Meeting the need for computing teachers in Australia

ICER 2016 was just held in Melbourne, Australia, so I found the article linked at the bottom (and from which these images come from) particularly relevant and interesting.

Australia is facing a boom in primary school students, which creates additional demand for teachers.  As has been mentioned here previously, there is a shortage of teachers.  The shortage isn’t distributed across fields.  In particular, over 30% of computing teachers in Australia are teaching without qualification (see image below).  When considering other shortages (e.g., declining number of computing teachers in Scotland, as described in the last post), it’s clear that the pipeline of CS teachers is going to be an impediment to CS for all.

But an influx of new students isn’t the only problem our school system needs to address.Shortages in specific subject areas mean that many students are being taught by teachers working outside of their qualifications.

Source: What will school education look like by 2020?

September 14, 2016 at 7:55 am 1 comment

Losing CS Teachers in Scotland: Latest report on CS teacher numbers from Computing At School Scotland

If you can forgive the bias in the graph (what looks like a 90% drop is actually a 25% drop), you will find this to be an important and interesting report. Scotland has one of the strongest computing at schools efforts in the world (see site here), with an advanced curriculum and a large and well-designed professional development effort (PLAN-C).  Why are they losing CS teachers?

When I wrote about this in 2014 (the trend has only continued), I pointed out that part of the problem is teachers refusing to shift from teaching Office applications to computer science.  The current report doesn’t give us much more insight into why. The point I found most interesting was that Scottish student numbers dropped 11%, and teacher numbers in the other disciplines are also declining (e.g., mathematics teachers are declining by 6% over the same period), but at a much slower rate than the CS decline of 25%. That makes sense too — if you’re a teacher and things are getting tough, stick with the “core” subjects, not the “new” one.  It’s worth asking, “How do we avoid this in the US?” and “Can we avoid it?”

We know too little about what happens to CS teachers in the US after professional development. I know of only one study of CS teacher retention in the US, and the observed attrition rate in that study was far worse than 25%. Do we know what US retention rate is for CS teachers? Maybe Scotland is actually doing better than the US?

Today we launch our latest report into the numbers of Computing Science teacher numbers across Scotland.  We have carried out this survey in 2012, 2014 and now 2016 as we are concerned about the decreasing number in Computing teachers in Scottish schools.  Nationally we now have 17% of schools with no computing specialist and a quarter of Secondary schools have only one CS teacher.

Source: Latest report on CS teacher numbers | Computing At School Scotland

September 12, 2016 at 7:26 am 1 comment

Survey for Human-Computer Interaction (HCI) Instructors

From Lauren Wilcox:

Betsy DiSalvo, Dick Henneman and I have designed a survey about a topic that is near and dear to us as HCI faculty:  topics, learning goals, and learning activities in HCI classrooms!

We hope to do an annual “pulse” of HCI instructors across the globe.

The survey takes about 15 minutes. We plan to share the results with the broader academic HCI community.

We are hoping that you can take the survey, and also please share with your colleagues who teach HCI-related classes.

September 5, 2016 at 7:55 am 4 comments

Where are the Python 3 Libraries for Media Computation

My Blog@CACM post for this month is on JES, the Jython Environment for Students, which at 14 years old and over 10,000 downloads, is probably one of the oldest, most used, and (by some definition) most successful pedagogical Python IDE’s.

The SIGCSE Members list recently had a discussion about moving from Python 2 to Python 3. Here’s a description of differences. Some writers asked about MediaComp. With respect to the Media Computation libraries, one wrote:

I’m sad about this one, because we use and like this textbook, but I think it’s time to move to Python 3.  Is there a compatible library providing the API used in the text?

Short answer: No. There are no compatible Media Computation libraries for CPython 2 or 3.

We keep trying. The latest attempt to build Media Computation libraries in CPython is here: It doesn’t work on all platforms yet, e.g., I can’t get it to load on MacOS.

We have yet to find a set of libraries in Python that work cross-platform identically for sample-level manipulations of sounds. For example, PyGame’s mixer object doesn’t work exactly the same on all platforms (e.g., sampling rates aren’t handled the same on all platforms, so the same code plays different speed output on different platforms). I can do pixel-level manipulations using PIL. We have not yet tried to find libraries from frame manipulations of video (as individual images). I have just downloaded the relevant libraries for Python 3 and plan to explore in the future, but since we can’t make it work yet in Python 2 (which has more mature libraries), I doubt it will work in Python 3.

I complained about this problem in my blog in 2011 (see post here). The situation is better in other languages, but not yet in Python.

  • I have been building Media Computation examples in GP, a blocks-based language (see post here).
  • Jeff Gray’s group at U. Alabama has built Blockly-like languages Pixly and Tunely for pixel and sample level manipulations.
  • Cynthia Lee at Stanford has been doing Media Computation in her classes in MATLAB and in C++
  • The Calico project supports Media Computation in IronPython (based on Python 3) and many other languages, because it builds on .NET/MONO which has good multimedia support.
  • We’re able to more and more in JavaScript-based Python implementations (like Pythy and Runestone), because JavaScript has excellent cross-platform multimedia support.

When we did the 4th edition of our Python Media Computation textbook, I looked into what we’d have to change in the book to move to Python 3. There really wasn’t much. We would have to introduce print as a function. We do very little integer division, so we’d have to explain that. The focus in our course (non-technical majors, first course) is at a higher level than the differences between Python 2 and 3. I am confident that, at the end of our course, the majority of our students would understand the differences between Python 2 and 3. As we move more to browser-based IDE’s, I can support either Python 2 or 3 syntax and semantics. Preparing students for industry jobs using exactly CPython 3 is simply not a priority in our course.

August 19, 2016 at 7:46 am Leave a comment

Does pre-service CS education reduce the costs and make more effective in-service PD? Paths to #CS4All

What we’re trying to achieve in CS education in the United States is rarely done (successfully) and hasn’t been done in several decades (see previous post on this).  We’re changing the education canon, what everyone is taught in schools.  It’s a huge effort, involving standards and frameworks, convincing principals and legislators, and developing teachers and curricula.

Right now, we’re mostly developing the teachers we need with in-service education — which is expensive.  We’re shipping around trainers, people providing professional development to existing teachers.  We’re paying travel costs (sometimes) to teachers, and stipends (sometimes) for their time.

I have argued previously that we have to move to a pre-service model, where new teachers are prepared to be CS teachers from undergraduate education.  It’s the only way to have a sustainable flow of CS teachers into the education system.  NYC is working on developing per-service programs now, because it’s a necessity for their CS education mandate.  No reform takes root in US schools without being in schools of education.

At a meeting of the Georgia CS Task Force, where talking about the high costs of in-service CS teacher education, we started wondering if the costs might be cheaper in the long-run by growing pre-service education, rather than scaling in-service.  Of course, we have to build a critical mass cohort of in-service teachers (e.g., to provide mentors for student teachers) — in many states, we’ve already done that.

Creating pre-service programs at state universities creates opportunities for in-service education that are cheaper and maybe more effective than what we’re creating today. Pre-service programs would require CS Education faculty (and likely, graduate students) at state universities.  These people are then resources.

  • First, those faculty are now offering pre-service PD, which is necessary for sustainability.
  • Regional high school and elementary school teachers could then go to the local university for in-service programs — which can be run more cheaply at the university, than at a downtown hotel or conference center with presenters shipped in from elsewhere.
  • The CS Ed faculty are there as a resource for regional high school teachers for follow-up, and the follow-up is a critical part of actually instituting new curricula.
  • Many education schools offer resources (e.g., curriculum libraries, help with teacher questions) that would be useful to CS teachers and are available locally with people who can answer questions.

Pre-service programs require more up-front costs (e.g., paying for faculty, setting up programs).  But those costs likely amortize over the lifetime of the faculty and the program.  Each individual professional development session offered by local faculty (either pre-service or in-service) is cheaper than each in-service  session created by non-local presenters/developers.  Over many years, it is likely cheaper to pay the higher up-front costs for pre-service than the long, expensive burn of in-service.

I don’t know how to figure out the cost trade-off, but it might be worthwhile for providers like and PLTW to play out the scenarios.

July 20, 2016 at 7:54 am 4 comments

Herbert Simon: When CS was interdisciplinary and multi-cultural

I’m teaching our introductory course in Human-Centered Computing for new PhD students this Fall. I have a huge reading list to review, including Latour, Geertz, Russell & Norvig, Goffman, Tufte, and so on.

I got to re-read Herbert Simon’s Sciences of the Artificial. I was struck by this quote at the end of Chapter 5.

Those of us who have lived close to the development of the modern computer through gestation and infancy have been drawn from a wide variety of professional fields, music being one of them. We have noticed the growing communication among intellectual disciplines that takes place around the computer. We have welcomed it, because it has brought us into contact with new worlds of knowledge—has helped us combat our own multiple-cultures isolation. This breakdown of old disciplinary boundaries has been much commented upon, and its connection with computers and the information sciences often noted.

Simon, Herbert A. (1996-09-26). The Sciences of the Artificial (MIT Press) (p. 137). The MIT Press.

I believe that the early days of computing were interdisciplinary and multi-cultural. Those interdisciplinary and multi-cultural forces created computer science, but once created, new cultures formed without continuing interdisciplinary and multi-cultural influences. What Simon did not foresee was the development of unique technology-centric culture(s), such as the Reddit culture and Silicon Valley Culture (as described in Forbes and New Yorker). Valuing multiculturalism and diverse perspectives in the early days of computing is in sharp contrast to today’s computing world. (Think Gamergate.)

Note who is considered a computer scientist today. In the early days of computer science as a discipline, faculty in the computer science department would have degrees from mathematics, electrical engineering, philosophy, and psychology. Today, you rarely find a computer science faculty member without a computer science degree. When I first started my PhD in Education and Computer Science at the University of Michigan, one of the CS graduate advisors tried to talk me out of it. “No CS department is going to hire you with an Education degree!” Fortunately for me, he was wrong, but not far wrong. There are few CS faculty in the US today who have a credential in education — that’s not a successful add-on for a CS academic. That’s a far cry from the world described in Simon’s quote.

July 18, 2016 at 7:13 am 3 comments

Older Posts

Recent Posts

October 2016
« Sep    


Blog Stats

  • 1,279,920 hits

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

Join 4,579 other followers

CS Teaching Tips