Xref: utzoo comp.edu:2247 comp.lang.pascal:1794 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!oliveb!apple!rutgers!njin!princeton!siemens!demon!balcer From: balcer@demon.siemens.com (Marc J Balcer) Newsgroups: comp.edu,comp.lang.pascal Subject: Re: CS-1 Summary: Pseudocode for teaching? Keywords: beginning computer science course Message-ID: <8602@siemens.siemens.com> Date: 5 May 89 16:24:02 GMT References: <2130@iitmax.IIT.EDU> <2394@brahma.cs.hw.ac.uk> Sender: news@siemens.siemens.com Reply-To: balcer@demon.UUCP (Marc J Balcer) Organization: Siemens Research and Technology Laboratories Lines: 65 In article <2394@brahma.cs.hw.ac.uk> nick@cs.hw.ac.uk (Nick Taylor) writes: >In article <2130@iitmax.IIT.EDU> thssccb@iitmax.IIT.EDU (catherine c bareiss) writes: >> One day a week, a lecture on a topic (using psuedo code). > >Is this a good idea? ... >but I harbour deep suspicions that it might actually make the learning task >more confusing... After about 4-5 weeks in the introductory Pascal course, I'll start using a pseudocode when explaining algorithms. Example: set total to zero for every element in table do add its value to the total write the value end print the total Invariably there will be the student(s) who have not yet mastered even the most fundamental detail of Pascal syntax and many others for whom the syntax is not "second nature." Some will copy down the pseudocode word-for-word and then type it in and try to run it. (It happens) It's very difficult for students, when confronted with several very similar notations, to keep straight "this is design language," "this is Pascal," "this is Scheme." Now in a Data Structures or Compiler Design class, there's usually very little problem with using pseudocode. It's a convenient, informal shorthand. These students have mastered the syntax of their programming language. >... an aid to programming language teaching - especially for >teaching a first language. > Many of us who teach programming (er, I mean "introductory computer science") courses have struggled with this. It would certainly be nice to have students who complete the first year of CS able to: - see a computer as more than just a "Pascal box" - think about a problem at a more abstract level than the implementation language - see Computer Science as more than "just learning languages" yet also able to plan and write clear, coherent programs. One popular approach is to teach the course either "language-free" or using several languages at once. We justify this by saying (and rightly so) that a computer scientist must be capable of working with several different notations. BUT can we expect that every student will be immediately capable of making these kinds of "context switches?" I'm not sure. --------------------------------------------------------------------------- Marc J. Balcer [balcer@demon.siemens.com] Siemens Research Center, 755 College Road East, Princeton, NJ 08540