High Level Programming Languages (CCOM4029)

Latest Course Syllabus-ABET Style () (PDF)

Credits: 3
Students should take this course at: 2nd Year - 2nd Semester

Pre-requisite: Data Structures (CCOM3034)


Description

In this course fundamental aspects of high-level programming languages, including data objects, operations, sequence control, data control, storage management, syntax, and semantics are presented. Also, the students are exposed to different language paradigms, E.G. imperative, parallel, functional rulebased (logic), and object-oriented languages. The course gives hands on experience and allows students to develop moderate-level programs in various programming languages, one for each paradigm.


Content

  • Role of programming languages

  • Language description: syntactic structure

  • Structured programming

  • Types: data representation

  • Procedure activations

  • Object-oriented programming

  • Elements of functional programming

  • Elements of logic programming

  • Concurrent programming

  • Language description


Objectives

  • Prepare an oral presentation about a high level programming language.

  • Understand the syntax and semantics of at least three programming languages.

  • Understand how languages are designed and implemented.

  • Recognize the models of language design (imperative, applicative, ruled-based, and object oriented) and their common characteristics.

  • Evaluate which programming language is more suitable for solving specific problems.

  • Write programs on at least three of the programming languages representing the different models of language design.

  • Address the issue that knowing a language is more than knowing its syntax.

  • Understand the role of computer hardware in implementing language semantics.

  • The student will study independently a seminal or current resaerch paper