CSE 428: Introduction and Overview


The aim of the course is to offer a comparative overview of the main programming paradigms: For each paradigm, we will examine: For each paradigm we will consider one or two real programming language for exercises and practice. We will not study any particular programming language in detail: The purpose of the course is not to learn the skills of programming in a particular language, but rather to understand the general principles of programming languages. This course should provide the ability to:

Overview of programming paradigms

The languages in blue indicate the languages which we will probably choose for exercises and practice during the course
Functional Programming
Logic Programming and Constraint Logic Programming
Imperative Programming
Object-Oriented Programming
Concurrent and Distributed Programming

Levels of programming Languages

We can trace a brief history of programming languages according to their generations.
First Generation: Machine Languages.
Second Generation: Assembly Languages.
Third Generation: High-level Languages.
Fourth Generation: Declarative Languages.
Fifth Generation Languages.