F28LL - Programming Languages

Idris Skloul Ibrahim

Course leader(s):

Aims

The aim of this course is to provide students with a solid foundation in programming languages by introducing key concepts, features, and paradigms, and by developing practical skills in using both primitive and functional programming languages that are relevant to industrial practice.

Syllabus

1. - Overviews of programming language (PL) history, methods of definition (e.g., syntax, semantics), and methods of implementation (e.g., compiler, interpreter, virtual machine).

2. - Overview of programming language paradigms in industrial languages like Python, covering aspects such as imperative/declarative styles, evaluation order, support for higher-order functions, data mutability, tail recursion, and compilation methods.

3. - Overview of key programming language concepts and features using examples in industrial languages like Python, covering variables, scope, data abstraction, control structures, type mechanisms, and programming paradigms.

Learning outcomes

By the end of the course, students should be able to do the following:

Further details

Curriculum explorer: Click here

SCQF Level: 8

Credits: 15