(a)

Approaches to software development:

  • waterfall
  • agile
  • Extreme Programming
  • spiral model
  • Rapid Application Development

(b)

The relative merits and drawbacks of different methodologies and when they might be used

(c)

Writing and following algorithms