This unit introduces the basic principles of Software Development starting from identifying the problem to solving and designing solutions. Learners will learn how to implement an algorithm in programming language. They will also be able to build the source code and carry out appropriate testing, debugging and maintenance. Various fundamental programming aspects will also be covered. This includes data types, operators, expressions, standard input and output as well as program control methods-conditions, loops, etc. Learners will be able to make use of modular structure with functions. They will also be able to apply mechanisms used to pass information between functions. The learners will also carry out testing and debugging mechanisms to their programs.