LINUS(ID:5831/lin016)Instructional algorithmic languagefor Language for INstructional USe Hybrid of FORTRAN, PL/I and Algol 68 designed as an introductory instructional language Implemented at Bowling Green State University Related languages
References: Extensions to Standard Fortran. One possible way to gain some of the advantages of structured programming would be to add the keywords "if ... then ... else" and "do ... while" to Fortran. Several experiments have been made in this direction, including "structured Fortran" extensions named DEFT, IFTRAN, LINUS, MORTRAN, SFTran, and SPIFFY. (No doubt there are others.) in Proceedings of the 1974 ACM Annual Conference San Diego, November, 1974 view details in Proceedings of the 1974 ACM Annual Conference San Diego, November, 1974 view details INTRODUCTION One of the crucial decisions in organizing a first course in computer science is the choice of a programming language. Although there is considerable variance of opinion as to what the ideal language should be, two main approaches can be delineated. The first approach stresses the necessity of learning the dominant scientific language, which in the Americas amounts to a vote for Fortran (2). The practicality of this choice is as indisputable as the awkwardness of the syntax of that language. The alternative view stresses the importance of the program structure in developing a sound sense of "algorithmic thinking". Proponents of this view would suggest Algol W (4) or perhaps Pascal (5). We contend that both approaches have important advantages. This paper explores an approach which attempts to maximize the benefits of both. For pragmatic reasons, the student of a first course should obtain a knowledge of the fundamentals of Fortran. A number of structural problems (especially with ANS Fortran) present obstacles to the student in learning algorithmic thinking. These include inadequate control structures, lack of data type character, no free format input/output, and use of default data typing and conversions to trap the unwary. By regarding ANS Fortran as a machine, to which programs in a higher level language are translated, the advantages of learning Fortran are still realized. Initially, the student concentrates on learning a language which is free of the above restrictions. Later, in the same way an assembler programmer acquires knowledge of his machine, the student acquires knowledge of Fortran. The solution we have adopted is to implement a language called Linus (Language for INstructional USe). This language ispreprocessed to ANS Fortran, but has more the appearance of PL/I or Algol 68 (3), facilitating learning corresponding features of those languages. The majority of the language has been implemented and is presently undergoing testing. Extract: IMPACT ON CURRICULUM IMPACT ON CURRICULUM At Bowling Green State University, course B1 of curriculum 68 (i) is divided into a two quarter sequence. Currently, in this sequence the student is taught a thorough knowledge of Fortran IV and a comfortable knowledge of Snobol4. Using Linus the student learns algorithmic thinking with a language that is structurally simpler and more consistent. As he studies the Fortran Drograms produced by the preprocessor, he begins a gradual transition into Fortran. By using the FORTRAN block, an increasing proportion of the program can be written in Fortran. At the end of the first quarter the student will be using Fortran, but now he will be more disciplined in his programming. For example, even though there is no WHILE construct in Fortran he will tend to program its Fortran equivalent, having learned it from the preprocessor. If the Linus experiment proves successful in the first two courses of the curriculum its uses in other courses will be explored. For example, it could be a useful language in teaching Data Struc- tures (If) or Discrete Structures (B3). Extract: FUTURE PLANS FUTURE PLANS When the full Linus language has been implemented, its effectiveness in teaching will be evaluated. To do this, the beginning students in computer science will be divided into two control groups. One group will be taught Fortran, and the other group Linus. Tests will be given to each control group to determine the effectiveness of Linus. Thought is also being given to a Snobol4-based Linus and a PL/I-based Linus. These would be useful for a student who already knew Linus and wished to rapidly acquire a working knowledge of Snobol4 or PL/I. A Snobol block and a PL/I block would also be provided to allow the student to move into the desired language. in Proceedings of the fourth SIGCSE technical symposium on Computer science education table of contents 1974 view details |