The module aims to give the students an understanding of how problems can be solved systematically, plan their solutions and write them in the form of algorithms. This module also develops a range of mathematical techniques including set theory, logic, relations , functions and operational research techniques.  In addition it gives a grounding in standard software packages, to give students an understanding of their use in problem solving as well as to make students able to apply these packages appropriately in subsequent modules.