Sign In

Communications of the ACM

BLOG@CACM

What's the Best Way to Teach Computer Science to Beginners?


Mark Guzdial

http://bit.ly/1qnv6gy October 8, 2009

I have been interested in John Sweller and Cognitive Load Theory (http://bit.ly/1lSmG0f) since reading Ray Lister's ACE keynote paper from a couple years back (http://bit.ly/1wPYrkU). I assigned several papers on the topic (see the papers in the References) to my educational technology class. Those papers have been influencing my thinking about how we teach computing.


Comments


Maciej Syslo

Mark,
I see some inconsistency in the arguments used in the discussion. From one side, we teach students reading by reading, but on the other side, some people question when we teach problem-solving by solving problems. Reading is a general skill and competency, basic and used in mastering other skills. Program-texts are greek for most beginners in programming, they should first learn "vocabulary" of programs, that is basic structures/constractions used in programs and, more important, they should learn meanings of this constructions. Simple reading programs does not help very much and teaches nothing if the context is not considered (parameters, instructions which precede and follow etc.).
Today we should also remember that visual programming (using graphical blocks), as the first step in programming, changes the meaning of "reading" programs. In fact, the Scratch environment is designed to use and modify other programs when building our own programs. Therefore, "reading" and "writing" such programs is a continuous integrated process of reading and writing, Then when students change their visual programming environment for textual, the same approch remains - they make use of subroutine libraries or programs found in the net to write their own programs
Maciej M. Syslo
syslo@ii.uni.wroc.pl


Mark Guzdial

Hi Maciej,

I'm a big believer in empirical evidence. When it comes to learning, we need to test our models with experimentation and not rely on thought experiments. For example, students don't learn to read by reading. They learn to read by being immersed in a textual culture, by having parents read to them, and contrary to some expectation, by writing -- see this report: http://www.readingrockets.org/articles/researchbytopic/36871. The empirical evidence suggests that reading problems can help develop problem-solving skills more than just solving more problems, but at a certain level of experience -- see the work on expertise reversal effect for where it's more important to problem-solve than to read worked examples https://en.wikipedia.org/wiki/Expertise_reversal_effect.

Thus statements like "Simple reading programs does not help very much and teaches nothing if the context is not considered" need to be tested. We cannot assume that they are true on face value or by thought experiments.

- Mark


Displaying all 2 comments

Log in to Read the Full Article

Sign In

Sign in using your ACM Web Account username and password to access premium content if you are an ACM member, Communications subscriber or Digital Library subscriber.

Need Access?

Please select one of the options below for access to premium content and features.

Create a Web Account

If you are already an ACM member, Communications subscriber, or Digital Library subscriber, please set up a web account to access premium content on this site.

Join the ACM

Become a member to take full advantage of ACM's outstanding computing information resources, networking opportunities, and other benefits.
  

Subscribe to Communications of the ACM Magazine

Get full access to 50+ years of CACM content and receive the print version of the magazine monthly.

Purchase the Article

Non-members can purchase this article or a copy of the magazine in which it appears.