Fundamentals of Programming

AEE1151

This module is intended for students with no prior computing knowledge or experience beyond basic familiarity with the operation of a personal computer and can be taken by any student interested in acquiring basic programming skills.

The topics covered in this module include: 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.