20.1 Programming Paradigms

Files and Resources

Specification

  • Understanding what is meant by a programming paradigm

  • Show understanding of the characteristics of a number of programming paradigms:

    • Low-level programming

      • understanding of and ability to write low-level code that uses various addressing modes: immediate, direct, indirect, indexed and relative

    • Imperative (procedural) programming

      • assumed knowledge and understanding of Structural Programming (see details in AS content section 11.3)

      • understanding of and ability to write imperative (procedural) programming code that uses variables, constructs, procedures and functions. See details in AS content.

    • Object-oriented programming (OOP)

      • understanding of the terminology associated with OOP (including objects, properties, methods, classes, inheritance, polymorphism, containment (aggregation), encapsulation, getters, setters, instances)

      • understanding of how to solve a problem by designing appropriate classes

      • understanding of and ability to write code that demonstrates the use of OOP

    • Declarative programming

      • understanding of and ability to solve a problem by writing appropriate facts and rules based on supplied information

      • understanding of and ability to write code that can satisfy a goal using facts and rules

Programming Paradigms

Programming paradigms are a way to classify programming languages according to the style of computer programming. Features of various programming languages determine which programming paradigms they belong to; as a result, some languages fall into only one paradigm, while others fall into multiple paradigms. Some paradigms are concerned mainly with implications for the execution model of the language,while others are concerned mainly with the way that code is organised, such as grouping code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar.

Common programming paradigms include imperative, functional, declarative which does not state the order in which operations execute, object-oriented which groups code together with the state the code modifies, procedural which groups code into functions, logic which has a particular style of execution model coupled to a particular style of syntax and grammar, and symbolic programming which has a particular style of syntax and grammar.

[Wikipedia]

Imperative Programming

The specification in 20.1 requires you to know and understand the requirements from unit 11 (11.3). They will not be covered in any detail here.

Object-Oriented Programming

See the subpage here.

Declarative Programming

See the subpage here.

Low Level Programming

See the subpage here.