Introduction to computers and programs. Programmer’s algorithm, byte code and Java Virtual Machine. Java program’s structure, constants, variables and built-in data types. The arithmetic, assignment, increment and decrement operators. Classes and object definition, UML representation of a class, declaration of objects (Instance variables), primitive types and reference types. Relational and logical operators, Boolean expressions, conditional statements, loop statements. Object oriented principles, encapsulation and information hiding, methods and the message passing principles, setters, and getters. Methods in depth, passing parameters, constructors, setters. Arrays, usefulness of arrays, declaration of arrays, access to array elements, operations on arrays.