Abstract
Two of the most demanding subjects in a Computer Science Curriculum are Compiling Techniques and Databases. In both courses, a major problem is: what should be the main project in the laboratory?. Since 1974, we have had students at various universities write compilers (2) in such a course. In each case, a complete compiler has been implemented. We have tried to establish a direct connection between the Compiling Techniques Course and the Databases Course because both can be selectively chosen by the same students.
This paper is divided into three parts: first, we outline the content of each course and the relationship existing between them; secondly, we analyze the criteria for language selection with regards to both courses (also with respect to methodology and to structured programming); third, we discuss the language and illustrate it using some examples.
- 1 Daley, J. S. "A Laboratory Approach to Teaching Compiler Writing" Proc. SIGCSE/CSA Techn. Symp., Detroit, Sigcse Bulletin, 10 (1978)1, pp. 19-21]] Google Scholar
Digital Library
- 2 Thalmann, D. and Levrat, B. "Un semestre pour Ecrire un Compilateur: RALBOL" Proc. IFIP 75, Computers in Education, Marseilles, North-Holland, 1975, pp. 561-566.]]Google Scholar
- 3 Lochovsky, F. U. and Tsichritzis, D. C, "Teaching Data Management Using an Educational Data Base Management system", Proc. SIGCSE/CSA Techn. Symp., Detroit, Sigcse Bulletin, 10(1978)1, pp. 65-69.]] Google Scholar
Digital Library
- 4 Codd, E. F. "A Relational Model of Data for Large Shared Data Banks" Comm. ACM, 13 (1970)6, pp. 377-387.]] Google Scholar
Digital Library
- 5 Thalmann, D. and Thalmann, N. "L'Apport du Calcul Relationnel dans la Définition et l'Implantation des Langages", Proc. Canadian Computer Conf., CIPS Session '78, Edmonton.]]Google Scholar
- 6 Schmidt, J. W. "Some High Level Constructs for Data of Type Relation", ACM, TODS, 2 (1977) 3, pp. 247-261.]] Google Scholar
Digital Library
- 7 Thalmann, D. "La Construction des Compilateurs", Vol. 1-2, Swiss Federal Institute of Technology, Lausanne, 1976.]]Google Scholar
- 8 Jensen, K. and Wirth, N. "Pascal-User Manual and Report", Springer-Verlag, 1976.]] Google Scholar
Digital Library
- 9 Thalmann, N. and Thalmann, D. "The Use of Pascal as a Teaching Tool in Introductory, Intermediate and Advanced Computer Science Courses", Proc. SIGCSE/CSA Techn. Symp., Detroit, Sigcse Bulletin, 10 (1978)1, pp. 277-281.]] Google Scholar
Digital Library
- 10 Adida. M. and Delobel, C. "Les Modèles Relationnels de Bases de Données", IRIA, 1976.]]Google Scholar
- 11 Date, C. J. "An Introduction to Database Systems", Addison-Wesley, 1975.]] Google Scholar
Digital Library
- 12 Wiederhold, G. "Database Design", McGraw-Hill, 1977.]] Google Scholar
Digital Library
- 13 Thalmann, N. "Etude Comparative des Systèmes de Gestion de Bases de Données", Document de Travail #99., Départment d'Informatique et de Recherche Opérationnelle, Université de Montréal, 1978]]Google Scholar
- 14 IBM "IBM/360 Applications Description Manual", White Plains, N. Y., GH-20-0765.]]Google Scholar
- 15 "System 2000 General Information Manual", MRI Systems Corp., Austin, Texas, 1972.]]Google Scholar
- 16 Abrial, J. R. "Projet Socrate", Univ. Scientifique et Médicale de Grenoble, 1972.]]Google Scholar
- 17 CODASYL, "Data Base TASK Group Report", ACM, N.Y., 1971.]]Google Scholar
- 18 Codd, E. F. "A Data Base Sublanguage Founded on the Relational Calculus", Proc. 1971 ACM SIGFIDET Workshop on Data Description, Access and Control.]]Google Scholar
- 19 Dijkstra, E. W. "Goto Statement Considered Harmful", Comm. ACM, 11(1968)3, pp. 147-148.]] Google Scholar
Digital Library
- 20 Wulf, W. A. "A Case Against the GOTO", Proc. ACM Annual Conf., Boston, 1972, pp. 791-797.]] Google Scholar
Digital Library
- 21 Clint, M. and Hoare, C. A. R. "Program Proving: Jumps and Functions", Acta Informatica, 1(1972), pp. 214-224.]]Google Scholar
Digital Library
- 22 Zelkowitz, M. V. and Bail, W. G. "Optimization of Structured Programs", Software-Practice and Experience, 4(1974), pp. 51-57.]]Google Scholar
Cross Ref
- 23 Dijkstra,.E.W. "Notes on Structured Programming", N. Y., Academic Press, 1972]] Google Scholar
Digital Library
- 24 Hoare, C. A. R. "Notes on Data Structuring", N. Y., Academic Press, 1972.]]Google Scholar
- 25 Wirth, N. "Algorithms + Data Structures &equil; Programs", Prentice-Hall, 1976.]] Google Scholar
Digital Library
- 26 Thalmann, D. "Data Structures in Mini-and Microcomputers", Proc. MIMI 77, Montréal, IEEE Press, 1978]]Google Scholar
- 27 Chamberlain, D. D. and al "Views, Authorization and Locking in a Relational Data Base System", Proc. National Computer Conf. 1975, pp. 425-430.]]Google Scholar
Index Terms
Direct connection between Compiling Techniques and Databases courses
Recommendations
Direct connection between Compiling Techniques and Databases courses
SIGCSE '78: Proceedings of the ninth SIGCSE technical symposium on Computer science educationTwo of the most demanding subjects in a Computer Science Curriculum are Compiling Techniques and Databases. In both courses, a major problem is: what should be the main project in the laboratory?. Since 1974, we have had students at various universities ...
Compile-time meta-programming in a dynamically typed OO language
DLS '05: Proceedings of the 2005 symposium on Dynamic languagesCompile-time meta-programming allows programs to be constructed by the user at compile-time. Although LISP derived languages have long had such facilities, few modern languages are capable of compile-time meta-programming, and of those that do many of ...
Compiling Embedded Programs to Byte Code
PADL '02: Proceedings of the 4th International Symposium on Practical Aspects of Declarative LanguagesFunctional languages have proven substantially useful for hosting embedded domain-specific languages. They provide an infrastructure rich enough to define both a convenient syntax for the embedded language, a type system for embedded programs, and an ...






Comments