This presentation gives you various types of programming models, A clear concept of object oriented languages, Classes and Object Concept, Different types of programming paradigms, program tokens, statements, expressions, Concepts of Inheritance, Encapsulation, Abstraction, Polymorphism, Interface etc.
2. OUTLINE
Programming Concepts
Programming Logic
Program Running
Components of a Program
Programming Paradigms
Structured Programming
Object Oriented Programming
Inheritance
Interfaces
Polymorphism Interface
Encapsulation and Abstraction
Bibliography
3. Programming Concepts - 1
Computer Programming: It is a
predefined way of telling the
computer that what task is to be
performed. It is the implementation
part of the activity of "SOFTWARE
DEVELOPMENT"
Computer Program: It is a set of
sequence of instructions, that a
computer will understand and try
to execute. One or a related set of
computer programs may be called
a "COMPUTER SOFTWARE"
4. Programming Concepts - 2
Computer Languages (Full-Fledged):
High Level Programming Languages:
Usually English Like Instruction set with
a power to build application logic.
Usually have an extremely strict syntax
rules. e.g. C, Java, C++, C# etc.
Low Level Programming Languages:
Set of Hardware related Mnemonics for
direct control over processing and
input/output functions. E.g. Assembly
Language
5. Programming Concepts - 3
Computer Languages (Specific
Purpose):
Formatting and Interface Languages:
Languages made primarily for the
purpose of User side rendering of
information. E.g. HTML, DHTML, XML
Etc.
Data Query Languages: Languages to
get and post to structured system of
records called a database. SQL etc.
Data Definition Languages: Languages
to define properties of Data or any type
of content items. E.g. XML Schema
(XSD), SQL-DDL (create table etc.)
6. Programming Logic and Algorithm
Logic/Algorithm: Formulation
Involved in performing a task. For e.g.
◦ Fahrenheit to Celsius Conversion Formula.
◦ Writing of Data in a file one character at a
time or one block at a time.
◦ Compression of image file to a smaller size
file.
◦ Method of following a protocol such as the
HTTP protocol.
Usually these words are
interchangeably used but the word
algorithm is more suitable for specific
tasks which has a mathematical
model .
e.g. image compression is more
appropriately called algorithm while
writing to a file may just be called a
simple logic.
7. Program Running
Interpretation:
◦ Process of parsing the program instructions
one by one so that it directly produces the
desired output.
◦ For e.g. JavaScript is interpreted at the
browser to run the given functionality.
◦ Errors in the program code are caught at the
time of running the program and are likely
hinder application workflow.
Compilation:
◦ Process of parsing the program instructions
in one go and produce an intermediate file
that can be directly run by the host system.
◦ Errors are required to be removed before
compilation is successfully completed.
◦ Application workflow is usually not hindered
as basic errors are removed initially. Only
unexpected input conditions produce errors.
8. Programming Instruction Types (Based on Its Purpose)
The Primary Purposes of
Programming Instructions are.
◦ To take Input.
◦ To give Output
◦ To perform operations.
◦ To run a program section
based on a condition selection.
◦ To repeat a section of code
based on condition.
Think that a computer is a
generic machine that can
emulate other machines
based on the program it
runs.
INPUT
OUTPUT
OPERATE
SELECTION
REPETITION
9. /* A Sample Java Program */
package com.mycom.app
import java.util.Scanner;
public class Tokens
{
public static final String s = "Java";
public static void main(String[ ] args)
{
int i;
int sum = 0;
int num ;
Scanner in = new Scanner(System.in);
System.out.print("Enter a no.");
num = in.nextInt();
for (i = 1; i<= num; i++)
{
sum = sum + i;
}
System.out.println("Summation of "+num +" is :" +sum);
}
}
Keywords: The
instruction word used
in a certain language.
For eg. public, class,
int, for, static, final,
void, while etc.
Literals: User provided
strings or numbers etc.
Literals do not change.Operators: Things like
=,+, -, *, /, I , &, ++, ^ etc.
Identifiers: User
defined data item,
function or class
names etc.
Separators: Things like
{ }, ( ), [ ] , ; etc.
Comments: Text not
to be processed.
Programming Components (Tokens)
10. Programming Terms
Statements: The actions that a program takes
are expressed as Statements. It is usually
considered as one full instruction step to be
executed at a time.
◦ Declaration and Assignment (int a=0;)
◦ Expression (area = 3.14*(radius*radius); )
◦ Selection or Iteration (if, switch, do, for etc.)
◦ Jump (break, continue, return etc.)
Expressions: A sequence of one or more
operands and zero or more operators that can
be evaluated to a single output.
◦ ((x<10)&&(x>5))||((x > 20)&&(x < 25))
11. Programming Paradigms
Declarative: What computation should be
performed and not how to compute it.
Imperative (requiring attention): That define
sequence of tasks to control flow of computational
algorithm.
◦ Non-Structured: Allows Jumping randomly by line
numbers or labels. E.g. Basic, Assembly, Cobol, Batch
Files.
◦ Structured: Use only sequence, selection(condition) or
iteration(loop) methods to provide instructions. E.g. C,
C#, Java etc.
12. Structured Programming Models
Procedural: Grouping of series of
instructions as a procedure (routine, function,
subroutine, method, module) that can be
called from multiple places to undertake the
same task again.
Object Oriented: Allows to define templates
generally called classes, similar to real life
definitions that encapsulates various
properties and methods. For. E.g. real life
template “CAR” would mean properties like:
Colour, Body Style, Fuel Type and Methods
like: Driving( ), Changing Gears( ), Opening( )
Doors etc.
The physical interpretations like MARUTI-
ALTO, HONDA-CITY, HUNDAI-SANTRO,
TATA-NANO are understood as the objects
of the class CAR. Thus the name has been
given as object oriented programming or
OOP.
13. Object Oriented Programming
Class: A template definition of data items(properties) and
actions(Methods). For example the diagram of a CAR or
map of Building can be a real world metaphor to a class.
Object: The physical item based on the class definition is
an object. For Example the real CAR or actual Building
would be an Object. So one can say Objects are instances
of Class.
It is clear that one can have any number of instances as the
physical space permits.
NOTE: Although OBJECTS are physical entities and
CLASSES are simply templates, still OOPs concepts allow
realisation(instance creation) of objects within a class as
well.
14. Instance Creation Example
In a real programming situation instances
(objects) are often created by using the "new"
keyword.
Instances which are now called objects can
directly call any method of the class.
14
public class Book{
public int bookNum;
public void setNum(int Num){ bookNum =Num;}
public static void main(String[ ] args){
Book myBook=new Book(); //Instance Creation
myBook.setNum(2); //Calling method from the Instance
System.out.println("Num of book:"+myBook.bookNum);
//Using variable from the instance
}
}
15. OOPS - Inheritance
Inheritance: One can observe that
even the template definitions have
more definitions of categories within
a template. For . E.g. Definition of a
"Car" can be the main template and
Definition of a "Small_Car" will be as
such a category with in "Car" .
It is clear that the definition of a
"Small_Car" will have all the
definition items included in the
definition of a "Car" . So we can say
that class "Small_Car" can be
inherited from its parent class "Car"
. More properties may follow in the
definition of "Small_Car"
Class Car
Class Car
Class Small_Car
Class Big_Car
16. Inheritance Example
In a real programming situation inheritance is often done using the
extends keyword (in java).
Inherited classes are called the sub-class or child class, while the class
above is called super class or parent class.
16
public class Inheri{
public static void main(String[] args){
CopyBook cb = new CopyBook();
cb.setNum(4);
System.out.println("Book Number: "+cb.bookNum);
System.out.println("Blank Pages: "+cb.blankPages);
}
}
class Book{ //Parent Class
public int bookNum;
public void setNum(int Num){ bookNum =Num;}
}
class CopyBook extends Book { //Child Class
public int blankPages=100;
}
child class can use
variable or method from
a parent class as well as
its own class.
17. OOPS: Polymorphism
Polymorphism: Values of different data types to be handled using a uniform
interface . For e.g. if we assume footControl( ) to be method in the class
CAR then this method can actually be behaving in a polymorphic manner if
the data parameter types are different, a clutch, a brake or an accelerator.
Class CAR
{
property wheelSize;
Method footControl(pedal clutch)
{
Detach Engine Rotor from Wheel Rotation Rod;
}
Method footControl(pedal brake)
{
Initiate Brake Fluid to Brake Drum;
}
Method footControl(pedal clutch, pedal accelerator)
{
Control Speed of the Car;
}
}
//polymorphism can be based on parameter types or number of parameters
18. Polymorphism Example
In a real programming situation polymorphism is often implemented
using difference in argument count or argument type
Polymorphism is another name of method overloading which can be
used for a method or for an operator (assuming it to be a special case of
method only as add(a,b) ).
19
public class Area {
static int QArea(int s){return s*s;}//1 int argument
static int QArea(int l, int b){return l*b;}//2 int args
static float QArea(float s){return s*s;}//1 float arg
public static void main(String args[]){
System.out.println("Square Area:"+QArea(5));
System.out.println("Rectangle Area:"+QArea(5,4));
System.out.println("Square Area (f):"+QArea(3.1f));
}
}
Here QArea is a polymorphic or
overloaded method with different
number of arguments and
argument types.
19. OOPS – Encapsulation & Abstraction
Encapsulation: It is the way where actual methodology of
achieving a result is hidden from the external world users.
For e.g. we can define a class CAR as follows.
Class CAR
{
property colour;
Method Steering(turn)
{
if turn is anticlockwise make the front wheel go
left;
if turn is clockwise make the front wheel go right;
}
}
Here we see that method Steering( ) is actually hidden
behind the class CAR and details of the method are hidden
to the external world and whenever the designer wants he
can change the design of achieving the goal of turning the
steering handle. This is called ENCAPSULATION.
20. OOPS – Encapsulation & Abstraction
Abstraction: In previous example we can see that user is
only required to know about turning the steering and he is
not required to bother about internal system of turning a
wheel.
So we can call the method Steering is as such an
ABSTRACT method made by ENCAPSULATING the action
that is taken when turning is done. The purpose of an
abstract method would be distinctly different from any other
method of the class CAR. The purpose we achieve out by
encapsulation is called ABSTRACTION.
In Java, one can also use abstract keyword with a class to
indicate that it contains some methods that are abstract,
which contain only the declaration of method and not the
body of method.
22. THANK YOU…
Ask me and guide me at
sunmitraeducation@gmail.com.
Share this information with as many people
as possible.
Keep visiting www.sunmitra.com for
programme updates.