Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uupsi!sunic!fuug!demos!news-server From: plb@plb.icsti.su (Peter L.Brusilovsky) Newsgroups: comp.edu Subject: Re: Language Use Message-ID: Date: 23 Mar 91 10:17:00 GMT Sender: news-server@jumbo.hq.demos.su Reply-To: plb@plb.icsti.su Organization: International Centre for Scientific and Technical Information Lines: 61 I was silent looking on this interesting discussion. Let me now to introduce one more oppinion from the USSR. I apologise in advance for my poor English... 1. The situation at the Dept of Applied Mathematics and Cybernetics, Moscow State University. (Applied Mathematics + CompSci) 1983 (Non-CS students): Algol -> Fortran 1983 (2/3 of CS students): Algol -> Fortran -> Assemblers 1983 (1/3 of CS students): Algol -> Fortran -> Lisp+PLANNER 1990 (Non-CS students): Pascal -> Basic -> (some of st-s) Fortran 1990 (MathLog students): Pascal -> Basic -> Prolog 1990 (2/3-CS students): Pascal -> C -> Assemblers 1990 (1/3 of CS students): Pascal -> Assemblers -> Refal -> Lisp+PLANNER Note 1: '1/3 of CS students' are the those from the Chair for Alg. Languages Note 2: I see, the approach in 1990 is quite the same as in 1983, but "Pascal is Algol of nowdays and C is Fortran of nowdays". It is my own oppinion, based on a teaching and programming experience with all these four languages. Are you agree? 2. Why not to start with mini-languages (pre-languages)? To support the first steps of learning programming we need: a) simple language with no unimportant details, to see the main concepts of programming better b) easy-to-start language, to write quite interesting programs just at the first or the second lessons. c) language with visible interpretation, to see immediately the results of all the commands' performing - this is a strong tool to understand the semantics of language constructions There is no any "professional" laguage with a-b-c features (LOGO is an exlusion, it is educational language). Let's build such a simple language to support the first steps of learning. We could learn such a mini-language for 4-5 lessons and then start to learn the professional ones. As an example of mini-languages (m-l) I could suggest LOGO-turtle (embedded one), Karel, Josef (independent m-ls). The mini-languages approach is quite developed in the USSR and there are a lot of Russian mini-languages. We could build a special m-l for a special cathegory of students. 3. The sequences of languages to learn, some viewpoint from USSR for 'classic' CS students: m-l -> Pascal or Modula-2 -> C[++] -> [LISP?] ... for 'symbolic' CS students: m-l (Logo) -> LISP + Prolog -> [Pascal] ... for 'Math-related' students: m-l -> Pascal or Modula-2 -> Basic or Fortran ... for "advanced Computer literacy": m-l -> Pascal or Basic [or Fortran??] for "only Computer literacy": m-l (Karel,...) Note: I am not acquanted with Scheme (it's unknown in the USSR yet). Peter ------------------------------------------------------------------------------ Dr. Peter Brusilovsky || International Centre for Scientific Telex: 411925 MCNTI || and Technical Information (ICSTI), FAX: +7 095 943 0089 || Kuusinen str. 21b, Moscow 125252, USSR E-mail: plb@plb.icsti.su or plb%plb.icsti.su@relay.eu.net ------------------------------------------------------------------------------