Internal data representation, integers, reals, characters. Problem solving and algorithm design. Program structures. Sequencing, selection and iteration. Pseudo-code, flow-charts and other techniques. High-level programming environments. Variables, expressions and assignments. Introducing C programming. Structured programming; sequential, selective and repetitive structures. Function definition and function calls. Prototypes and header files. Recursive functions. Arrays and pointers. Dynamic memory management. Parameter passing conventions. Multi dimensional arrays. Conditional compilation, modular programming and multi-file programs. Exception handling. File processing. Formatted I/O. Random file access. Index structures and file organization.