Course
code CS345
credit_hours 3
title Structure of Programming Languages
arbic title
prequisites CS311, CS321
credit hours 3
Description/Outcomes The course provides a concise introduction to the essentials of imperative programming languages, focusing on principles rather than specifics. Fundamental issues in language design. Overview of programming paradigms. Type systems: Data types type constructors, type compatibility, type conversions. Models of execution control: Order of evaluation of sub-expressions conditional execution iteration exceptions and exception handling parallel composition.
arabic Description/Outcomes
objectives Upon completion of this course, students should be able to:
1. Be familiar with several language paradigms.
2. Understand how languages relate to different application domains.
3. Understand the design space of programming languages, including concepts and constructs from past languages as well as those that may be used in the future.
4. Be able to develop a critical understanding of the programming language we use by being able to identify and compare the same concept as it appears in different languages.
5. Know the details of contemporary data types, control structures, subprograms, and other important features of programming languages.
6. Specify design issues and considerations for various programming language features.
7. Know the basics of lexical and syntax analysis.
arabic objectives
ref. books 1. H. Bal, D., Grune, Programming Language Essentials, Addison-Wesley, 1997.
2. R. Sebesta, Concepts of Programming Language, 7th Edition, Addison-Wesley, 2005.
arabic ref. books
textbook R. Sebesta, Concepts of Programming Language, 10th Edition, Addison- Wesley, 2012.
arabic textbook
objective set combined
content set bullets
Course Content
content serial Description
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16