Home About Forms Registration Graduation Course Descriptions Student Resources Faculty Resources

Information Technology 680

ITEC 680: Programming Languages

Prerequisite: ITEC 501 and ITEC 502, or Permission of ITEC Department

Credit Hours: (3)

Programming language constructs, run-time behavior of programs, desirable features of languages, design and implementation considerations to obtain those features.

 

Detailed Description of Content of Course

The purpose of this course is to expose the student to a wide variety of programming language facilities and features.

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
15. Compiler construction

 

Detailed Description of Conduct of Course

A variety of languages will be presented to demonstrate the range of features which can be found in modern programming languages. The course will focus on the concepts involved in many features of various programming languages, not focusing on mere syntax. 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.

 

Goals and Objectives of the Course

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. Fundamental concepts in Programming Languages will be discussed in detail: typing, scoping, procedures, exception handling, concurrency. These concepts will be discussed in terms of how different languages support (or do not support) these concepts.

 

Assessment Measures

Assessment measures may include several programming assignments in a variety of languages and several exams.

 

Other Course Information

None