This course provides an introduction to basic computer programming concepts and techniques useful for Computer Scientists, Mathematicians and Engineers. The course exposes students to practical applications and complexities in computing and commonly used tools within these domains. It introduces techniques for problem solving, program design and algorithm development using MATLAB and/or PYTHON programming language. The content of this course gives an introduction to the MATLAB and/or PYTHON environment and the help system, data types and scalar variables, arithmetic and mathematical functions, input and output, selection and iteration statements. Functions: user defined functions, function files, passing information to and from functions, function design and program decomposition, recursion. Arrays: vectors, arrays and matrices, array addressing, vector, matrix and element-by-element operations. Graphics: 2-D and 3-D plotting. Mathematical modelling: dynamical systems, linear systems of equations, numerical differentiation and integration.