Posts tagged ‘DrScheme’

Matthias and Gordon win SIGCSE 2011 Honors

I’ve been meaning to post this note from Dan Joyce to the SIGCSE Members list.  Congratulations to Matthias and Gordon! Both well-deserved honors!

It is my pleasure to announce the 2011 SIGCSE award winners.

The SIGCSE Award for Lifetime Service to the Computer Science Education Community has been awarded to Gordon Davies, Department of Computing, Open University (retired).

The SIGCSE Award for Outstanding Contribution to Computer Science Education has been awarded to Matthias Felleisen, Trustee Professor at College of Computer Science, Northeastern University. (Ed note: Known for his TeachScheme approach, DrScheme, and the new Racket environment.)

Professor Felleisen will give a plenary address at the Technical Symposium.

Professor Davies will address the First Timer’s luncheon at the Technical Symposium.

These awards will be presented at the 42nd SIGCSE Technical Symposium being held in Dallas, Texas, USA, March 9-12, 2011.

I am sure you will join me in congratulating these outstanding educators.

For more information about these awards, including lists of previous winners, please see

Dan Joyce
Vice Chair SIGCSE


October 20, 2010 at 2:46 pm 1 comment

Matthias Felleisen in Response to Blog Post

Matthias Felleisen tried to respond to the blog post where I commented on his and Shriram Krishnamurthi’s recent CACM article, but WordPress kept discarding his text!  I offered to post it here as a new entry.

Dear Mark: thanks for the thorough response to our CACM article.

You are correct in that we have not published any quantitative or
qualitative studies concerning the outcomes of TeachScheme! or
Bootstrap courses—even though we have the data, collected by external and independent evaluators. There are several reasons for our decision,
though two are particularly important. First, publications about such studies
tend to leave me disappointed. Some confirm the obvious, others use
highly questionable methods, and few (if any) results live up to
reproducibility, the most important criteria of experimentation. Second, my own experience as a CS researcher with a highly unusual outreach project (15 years running now) suggests that such studies convince few people (if any). Instead, when people find out about our studies (and their  positive results), they come up with reasons for why such positive results could not possibly be obtained at their institution. As for the specific concerns about Bootstrap—the school level curriculum for   synthesizing mathematics and programming/computing—the evaluation is out of my hands, and I expect that you will actually see highly detailed (and positive) results in a couple of years from now.

You are also correct that the “whole package has to look and feel like mathematics.” We completely support this goal, and my very first NSF proposal in 1995 outlined a strategy for getting just there,   including an especially developed programming language (dubbed Jam), the IDE (more than Boxer and more than DrScheme), an alignment of the curriculum with the NCTS standards, and more. While the response was highly positive in general, the reviews didn’t accept the idea that purely functional programming is mathematics and that a lot of (school) mathematics is  functional programming; the program  officer re-directed us into computer  science and Teach Scheme Not (aka !) was born.

So, if you really agree with our goals, and if you really think it is a good route to go, come work with us. We need help.

Matthias Felleisen

September 9, 2009 at 12:49 pm 5 comments

Aligning Computer Science with Mathematics by Felleisen and Krishnamurthi

The July 2009 Communications of the ACM has an interesting article by Matthias Felleisen and Shriram Krishnamurthi Why Computer Science Doesn’t Matter with the great subtitle “Aligning computer science with high school mathematics can help turn it into an essential subject for all students.”  The argument that Matthias and Shriram are making is that we can use programming to teach mathematics better, and help students learn both.  In so doing, we prevent marginalization of computer science and support an important goal of the American education system, the teaching of “‘rithmetic.”

It’s a good argument and one that I support.  I am dubious about some of the education claims made in the argument, like “we have already seen our curricular approach…help students raise their alebra scores” and “Formal evaluation shows the extremely positive impact this curriculum has…”  (I’ve been searching through the sites given in the article, but can’t find peer-reviewed, published papers that support these claims.)  But these are really minor quibbles.  Having written one of these pieces, I know that the tyrany of 1800 words is severe, and the authors can be excused for not providing background citations to the studies supporting their claims.  Instead, I’d like to provide some of the background literature that supports their claim.

Can we use programming to help students learn mathematics?  Absolutely!  Probably the most famous study supporting this argument is Idit Harel’s dissertation work on Instructional Software Development Project (ISDP). Idit had fourth graders write software in Logo to teach fractions to third graders.  She found that a real synergy occurred between the concepts of programming and the concepts of mathematics, and her students ended up learning more about both compared to another class.  Yasmin Kafai (who just moved to Penn from UCLA this last year) continued this project, exploring novel collaboration models (e.g., the fourth graders become fifth grade “consultants” as another cohort of fourth graders helps another cohort of third graders) and expanding from mathematics into science.  My own dissertation explored the synergy between physics and programming.  My results weren’t as strong — I had good physics learning, but not good computer science learning.  I suspect the problems were the challenge of making real learning in only a three week summer workshop, and not having the kinds of IDE’s that Matthias and Shriram are calling for.

“Our community must realize that minor tweaks of currently dominant approaches to programming won’t suffice.”  Completely agreed, and the best argument for this point came from Bruce Sherin’s powerful dissertation (with Andy diSessa at Berkeley).  Bruce taught two groups of students lessons in physics, one using programming and one using algebra.  (Andy would probably argue with Matthias and Shriram, “The ideal language and the IDE for imaginative programming are still to be designed.”  Over 20 years ago, Boxer implemented much of what they’re calling for.)  Bruce found some really interesting differences between what was learned via each form of notation.  For example, programming was better for figuring out causality and sequencing. An algebraic formula like x = x0 + vt leaves invisible to the novice that the t is what will typically vary in that equation.  On the other hand, algebra was better for understanding balance and equilibria.  A formula like F=ma works in both directions:  increase the mass or acceleration and the force increases, or if the force declines, then either the mass or the acceleration must have declined.  Most programming languages do not make evident how constraints work in the world.  The media extensions that Matthias and Shriram describe help address some of the challenges Bruce found when students had a single physics concept (e.g., an object moving because it’s location changed) being represented by multiple lines of code.

“As computer science educators, we must also demand a smooth, continuous path from imaginative programming to the engineering of large programs.”  Alan Kay has been making this argument for years.  He refers to the concept of Omniuser who can move from scripting in E-Toys, to changing how the levels close to the metal of the machine work, all with a single system and (hopefully) a single notation.  His STEPS effort is seeking to build such systems. In particular, Alan and his team are exploring “systems math” which is a kind of powerful mathematics that can only really exist in the powerful medium of programming.  Thus, STEPS gives us a way to go beyond just support “‘rithmetic” to support powerful new kinds of mathematics learning.

I’m a big fan of Scheme and consider DrScheme to be one of the finest pedagogical IDE’s ever created.  TeachScheme is a brilliant curriculum.  My guess is that careful studies of the effort would support many of the claims being made by Matthias and Shriram.  More importantly, though, I believe that they’re right that programming could actually improve mathematics learning.  Doing it in such a way that students’ mathaphobia doesn’t drive even more students from computer science is a real challenge.  An even bigger challenge is doing it in such a way that can gain the support of organizations like NCTM and that meets the mathematics standards in our schools. As they say, “Any attempt to align programming with mathematics will fail unless the programming language is as close to school mathematics as possible.”  It’s more than just the programming language — the whole package (curriculum, IDE, language) has to look and feel like mathematics to make it successful with the mathematics education community.

July 7, 2009 at 7:44 pm 4 comments

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

Join 10,186 other subscribers


Recent Posts

Blog Stats

  • 2,060,632 hits
June 2023

CS Teaching Tips