(a)

The nature of applications, justifying suitable applications for a specific purpose

(b)

Utilities

(c)

Open source vs closed source

(d)

Translators:

  • interpreters
  • compilers
  • assemblers

(e)

Stages of compilation:

  • lexical analysis
  • syntax analysis
  • code generation
  • optimisation

(f)

Linkers and loaders and the use of libraries