Author_Institution :
Dept. of Comput. Sci., Texas Tech. Univ., Lubbock, TX, USA
Abstract :
Summary form only given. At Texas Tech University, C S 3461 (Concepts of Programming Languages) is a study of programming language theory and design, with Ada 95 as the primary language used. This course is also part of an eight-course software engineering-related sequence in the Texas Tech undergraduate curriculum. A class in programming language theory and design is of course not primarily concerned with software engineering; however, as the need for languages which support the software engineering methodology has increased, therefore, there has become a need to discuss related issues in the programming languages course, such as object-oriented design, program validation, and proofs of correctness. In addition, as the software engineering content of the introductory programming sequence (which is a prerequisite to this course) has increased, the degree of design and testing required for the programming assignments in this course has also occurred. In 1995, the Department of Computer Science received a grant from the Defense Information Systems Agency´ to revise this course so that it primarily revolved around Ada 95 as the language by which design issues are discussed. Besides the class lectures, this four-semester hour course contains a laboratory component which covers Ada 95, Smalltalk, and Prolog. The students learn the languages through the use of laboratory tutorials, and are required to implement programming languages using this knowledge. In this manner, a mixture of theory and practice is provided to the student
Keywords :
Ada; computer science education; educational courses; programming; software engineering; Ada 95; Prolog; Smalltalk; Texas Tech University; correctness proofs; four-semester hour course; introductory programming sequence; laboratory component; laboratory tutorials; object-oriented design; program validation; programming language design; programming language theory; programming languages course; software engineering-oriented concepts; software engineering-related sequence; undergraduate curriculum; Computer languages; Computer science; Information systems; Knowledge engineering; Laboratories; Large-scale systems; Logic programming; Object oriented programming; Software engineering; Software testing;