Fundamentals of Programming
This module is an introduction to the historical and social context of computing, Basic concepts in programming (Data types, Control structures, Functions, Arrays, pointers, Files), Running, Testing and Debugging scripts and programs, Overview of Programming paradigms. Programming concepts are demonstrated in a variety of languages and practised in a standard programming language (C). The module will also introduce students the best practices in secure coding such as input validation and data sanitization, and issues such as integer exploits and buffer overflows.