(a) Need for and characteristics of a variety of programming paradigms.
(b) Procedural languages.
(c) Assembly language (including following and writing simple programs with the Little Man Computer instruction set).
(d) Modes of addressing memory (immediate, direct, indirect and indexed).
(e) Object-oriented languages with an understanding of classes, objects, methods, attributes, inheritance, encapsulation and polymorphism