Qassim University
College of Sciences and Arts at Unizah
Department of Computer Science
Summer Semester
Course Description:
Fundamental concepts of programming languages are covered in the course by discussing the design issues of the various language constructs and examining the design choices for these constructs in some of the most common languages. Topics include: programming language preliminaries, evolution of the major programming languages, describing syntax and semantics, lexical and syntax analysis, names, bindings and scopes, data types, expressions and assignment statements, statement-level control structures, subprograms, abstract data types and encapsulation constructs, support for object oriented programming, concurrency, exception handling and event handling.
Course Material:
Required: Lecture slides
Textbook: Concepts of Programming Languages (9th Edition), Robert W. Sebesta, Addison Wesley, 2009.
Development Environment:
IDEs for various programming languages
Course Objectives:
Upon completion of this course, the student should be able to:
A. Describe how the hardware and operating system implement high level language constructs.
B. Recognize programming hazards.
C. Have an understanding of different programming language types
i. Procedural
ii. Object Oriented
iii. Functional
iv. Logical
Course Components:
· Introduction to the Course
· Preliminaries
· Evolution of Major Programming Languages
· Syntax and Semantics
· Names, Bindings, and Scopes
· Data Types
· Expressions
· Control Structures
· Subprograms
· Abstract Data Type and Encapsulation Constructs
· Object-oriented Programming
· Concurrency
· Exception and Event Handling
· Functional Programming
· Logical Programming
· Sorting Algorithms
Assessment Instruments
Makeup Policy
No missed tests without prior excuse. Each case will be handled separately based on its own merits. Makeup tests will be much more difficult than regularly scheduled tests. Each student is responsible for what is covered and assigned in any classes which they miss. Abuse of this policy will result in a loss of leniency.
Note that:
·This syllabus may change as the course progresses