Introduction to computer hardware and software. Binary system and data representation. The software life-cycle. Flow charts and IPO-charts. Introduction to computer programming and problem solving. Structured high level language programming with an emphasis on procedural abstraction and good programming style. The basic looping and selection constructs arrays, functions, parameter passing and scope of variables.