Demonstrate competence in programming fundamentals including structure and best practice • Apply numerical methods in a programming context to solve common civil engineering problems • Write programs to generate data for, or solve civil engineering problems • Critically compare numerical methods and programmes, considering computational efficiency and accuracy of the results