Training Objective: The objective of the course is to provide trainees with the software programming skills/tools. The course aims to enhance their analytical and programming skills, algorithms development, software architecture functions. During the training we work on making the trainee think about solutions, generate logic, convert logic to algorithm, then evolve software solutions. Most of the time in the course will be spent working on projects related to the training modules