ITEC 380
ORGANIZATION OF PROGRAMMING LANGUAGES
ITEC 380. Organization of Programming Languages
Three hours lecture (3).
Prerequisite: ITEC 224 and ITEC 320.
Programming language constructs, run-time behavior of programs, desirable features of languages, design and implementation considerations to obtain those features. Students who have received credit for CPSC 380 may not receive credit for ITEC 380.
The purpose of this course is to expose the student to a wide variety of programming language facilities and features. The elements of a number of programming languages are discussed, focusing on the following:
1. History of computing with focus on programming languages
2. Classification of programming languages
3. Desirable aspects of programming languages
4. Matching a programming language to an application
5. Language translation process
6. Formal specification of programming languages
7. Programming language characteristics
8. Information binding
9. Control structures
10. Data aggregates
11. Procedures and abstraction
12. Parameter passage techniques
13. Data abstraction
14. Specific programming languages as examples of language classes
The topics in this course generally follows the recommended curriculum for organization of programming languages, as given by the Association for Computing Machinery. These topics are covered in most texts on programming language concepts.
A variety of languages will be presented to demonstrate the range of features which can be found in modern programming languages. Students will develop programs in several languages to foster this understanding. Comparisons of features and their interactions with one another will also demonstrate the intricacies of language design. Students may be required to make an in-depth group study of a particular language. Formal and informal in-class writing and problem-solving exercises may also be required.
To provide students with an understanding of concepts underlying diverse types of programming languages, the goals of different languages, and how many languages meet - or fail to meet - those goals. Students will also be better able to choose an appropriate programming language for the problem at hand.
The students will be given several programming assignments in a variety of languages. At least 1 in-class exam and the final exam will also be used to assess students' progress.
None
DATE ACTION APPROVAL
September 2001 Updated John P. Helm, Chair