Learning Outcomes:
On successful completion of this module students should be able to:
o display a deep understanding of object-oriented programming,
o understand functional programming and how it integrates with object-oriented programming
o compare and contrast different object-oriented and functional programming languages,
o assess and improve the internal quality of a software application
o design, implement, test and debug multi-paradigm programs of moderate complexity,