Action Research On Learning Core Java Concepts
Action Research On Learning Core Java Concepts
Table of Contents
List of Figures.................................................................................................................................5
List of Tables..................................................................................................................................6
Action Research on Learning Core Java Concepts....................................................................7
Methodology...................................................................................................................................9
Different Action Research Models..............................................................................................10
Kurt Lewins Action Research Model........................................................................................10
Susmans Action Research Model..............................................................................................10
Kemmis Action Research Model................................................................................................11
Principles of Action Research.....................................................................................................12
Reflexive critique.......................................................................................................................12
Dialectical critique.....................................................................................................................12
Collaborative Resource..............................................................................................................12
Risk............................................................................................................................................12
Plural Structure..........................................................................................................................13
Theory, Practice, Transformation...............................................................................................13
Action Research process..............................................................................................................13
Literature Review and Proposal.................................................................................................14
History of Java...........................................................................................................................15
Advantages of Java....................................................................................................................16
Scope of Java in current Market................................................................................................17
Proposal........................................................................................................................................18
First Iteration: Orientation and Java Development Kit Installation...........................................18
Second Iteration: Learning about Data types and Operators.....................................................18
Third Iteration: Learning about Classes, Objects and Object-Oriented Programming..............19
Fourth Iteration: Learning about Loops and Conditionals.........................................................19
Iteration 1: Orientation and Java Development Kit Installation............................................21
Plan.............................................................................................................................................21
Action.........................................................................................................................................22
Observation................................................................................................................................23
Reflection...................................................................................................................................25
Iteration 2: Learning about Data types and Operators...........................................................26
Plan.............................................................................................................................................26
Action.........................................................................................................................................27
Observation................................................................................................................................28
Reflection...................................................................................................................................31
Iteration 3: Learning about Classes, Objects and Object-Oriented Programming..............33
Plan.............................................................................................................................................33
Action.........................................................................................................................................34
Observation................................................................................................................................35
Reflection...................................................................................................................................36
Iteration 4: Learning about Loops and Conditionals...............................................................38
Plan.............................................................................................................................................38
Action.........................................................................................................................................39
Observation................................................................................................................................40
Reflection...................................................................................................................................42
Summary......................................................................................................................................44
References.....................................................................................................................................45
List of Figures
Figure 1. Kurt Lewins Action Research Model10
Figure 2. Susmans Action Research Model..11
Figure 3. Kemmis Action Research Model....11
Figure 4. Graphical Representation if Iterations....20
Figure 5. Setting Environment variables for Java Development Kit Installation..24
Figure 6. Different Data types in Java language....28
Figure 7. A Java program with Data types Byte and Int....30
Figure 8. A Java program with While Loop...40
Figure 9. A Java program with Dowhile Loop...41
Figure 10. A Java program with For Loop.42
List of Tables
Table.1 Illustrates different types of Operators with symbols31
Sun Microsystems developed Java language based on C++ as they were using UNIX
platform for their systems. The main motive behind choosing C++ is that they wanted the
language to be object-oriented. Initially Java language was named as Oak and later changed it to
Java to avoid ambiguity as there was another programming language called Oak. In the
beginning stages, Java adoption was slow and later on accepted by great number of
organizations, once Sun Microsystems had started marketing Java as a language for web
applications. Initially two versions were developed in 1997 as Java 1.0 and Java 1.1. The major
differences in between these versions lay in Java class libraries (Paul Carter, 1997).
After completion of my bachelors in Pharmaceutical Sciences, I had orientation about
Java language and I have developed special interest in learning Java. I have attended few
seminars which were conducted at college level and got the chance to meet few Java developers.
From there, I moved on and trained in fundamentals of Java. In this semester, I have selected
Java Programming as my project element. I have gone through several articles about Java and its
scope in the current Information Technology (IT) regime. I realized learning Java and gaining
good command over the language would obviously going to help me in securing a good job in
the Software field. Currently this is the motto that has motivated me to go for training in Java
programming. This is my main mission and vision behind this project and also learning Java
would help me to empower my programming skills. Through this project I would like to provide
a detailed project report about my training as Java Developer. The iterations includes different
stages during my learning process and my experience in learning.
Methodology
Action Research (AR) has many other names such as participatory research, collaborative
inquiry, action learning and, contextual action research. In simple words it can be explained as
learning by doing. Action research focuses on contributing to the practical concerns of the
people in problematic situation and also on social science. AR is a phenomenon composed of
research techniques, which assists in conducting action and research simultaneously. Action
research is separate from the general professional practices in many ways. In AR, the researcher
analyzes the problem systematically and confirms that the interference is informed by theoretical
analysis. Here, the researcher inputs most if his time in tuning methodological tools to align with
the situation and on collecting, analyzing and presenting the data. One more key aspect that
distinguishes action research is, impact on people. Generally AR transforms the people involved
in it in to researchers (OBrien, 2001). Action Research also allows them to execute what they
have learned. AR simulates with real life situations and solves the real problems (OBrien, 2001).
AR has unique principles and attributes that distinguish it from all other methods (Dick, 2000).
According to Koshy (2005), AR is entirely based on real life situations and the evidence
based results that arises from it benefits the researchers in their professional development.AR is a
key tool to be used in real life situations rather than those experimental studies, as it deals with
existing problems. AR is also used in certain situations by social science for exploratory research
where the conditions are complicated to trace out distinct research questions (Koshy, 2005).
Overall, AR is a perfect blend of sequence of events and problem solving approach (Mcdermott,
2008). As a sequence of events, it consists of iterative cycles of gathering data, analyzing the
collected data, planning action, taking action and evaluating. In problem solving perspective, it is
the scientific method of experimenting practical problems (Mcdermott, 2008).
10
11
Figure 2. Action Research Model. Adopted from Action research: a sociotechnical systems
perspective by Susman, 1983.
Kemmis Action Research Model
Figure 3 explains the Kemmis AR model (as cited in MacIssac, 1995).This model is
developed based on the native action research process. Kemmis Action Research Model consists
of phases such as planning, acting, observing and reflecting which occurs in cyclic process.
Figure 3. Kemmis Action Research model. Adapted from An Introduction to Action Research
by MacIssac, 1995.
12
13
Plural Structure
Diversity in viewpoints, ideas, commentaries and critique makes the AR process unique.
This diversity is also called as plural structure. The plural structure is the most succeeding
principle of AR and it requires a plural text for reporting (OBrien, 2001).
Theory, Practice, Transformation
In Action Research, theory, practice and transformation occurs in an iterative way.
According to this principle, researchers are free to make precise theoretical justifications for the
actions. The resulting practical observations are further analyzed repeatedly in a transformative
cycle (OBrien, 2001).
Action Research process
Generally in Action Research process a group of researchers participates and go through
several steps such as planning, action, analysis and monitoring the activity of each step which
occurs in cyclic manner. The cyclic nature of Action Research denotes that the need for action
plans to be flexible. As per the Kurt Lewins model, the overlapping of action and reflection is
designed in order to allow changes in plans as the people learn from experience (Huxham, 1996)
Actual process starts by identifying the particular problem. Once the problem is
identified, the Action Research team starts collecting relevant data. The data is collected by
conducting surveys, interviewing people or completing measurements. After collecting data and
reporting it to the organization, researchers identify the need for change (Huxham, 1996).
Team members analyze the data and generate possible solutions to the problem. The
meaning of the data is prepared and reported to the organization. This helps the action
researchers to make structured actions that creates changes within the system. The resulting
actions that occurred after making changes are observed by collecting more data, analyzing
14
results and redefining problems in the system. The action researchers repeats the process until the
problem is solved which is identified initially (Huxham, 1996).
Literature Review and Proposal
The Java language is one of the most adopted computer language due to its clean and
simple object semantics, cross-platform portability and security (Moreira, Midkiff, Gupta,
Artigas, Snir & Lawrence, 2000). Especially Java is well-noted among academic and
organization domains for engineering and scientific computations (Moreira, Midkiff, Gupta,
Artigas, Snir & Lawrence, 2000). Security is the key feature of Java, which has drawn the
attention of the professionals and developers. Security mechanisms are integral part of Java
language. There are three mechanisms that ensures the safety. There are three mechanisms that
ensures the safety. They are as follows:
According to Eckel (1998), Java is committed to reduce the complexity for the programmer.
Gosling and McGilton (1996) stated Java language
is simple, so it can be easily programmed by most developers;
familiar, so that current developers can easily learn the Java programming language;
object oriented, to take advantage of modern software development methodologies and
to fit into distributed client-server applications;
multithreaded, for high performance in applications that need to perform multiple
concurrent activities, such as multimedia; and
interpreted, for maximum portability and dynamic capabilities (Dattero, 2003, p. 311).
15
Java is considered as the modern alternative to C++ and Java also has the advantage of including
explicit mechanisms for parallelism and co-ordination. These are the key features promoted Java
as a natural language for distributed computing. These days Java is being used for highperformance computing as HPC applications require highly tuned run-time environments that
utilize the characteristics of each host architecture (Pancake & Lengauer, 2001). Java is
considered as the modern alternative to C++ and Java also has the advantage of including
explicit mechanisms for parallelism and co-ordination. These are the key features promoted Java
as a natural language for distributed computing. These days Java is being used for highperformance computing as HPC applications require highly tuned run-time environments that
utilize the characteristics of each host architecture (Pancake & Lengauer, 2001).
History of Java
In 1991, Sun Microsystems engineer, James Gosling decided to develop a language for
consumer devices. As these devices do not have powerful Central Processing Units (CPU), he
wanted the language to be small and use efficient code. Gosling also wanted the language to be
platform independent as the consumer devices come from different manufacturers (Carter, 1997).
This project was named as Green. As per the conditions, Gosling developed an intermediate code
called byte code, which is platform independent. This byte code can be converted to native
machine code by an interpreter. Hence with the help of interpreter any byte code program can be
run (Carter, 1997).
Sun Microsystems uses UNIX for their computers and they developed the new language
based on C++ as they wanted the language to be object-oriented. The initial name of the new
language was Oak and later changed to Java. The Green project has gone through many hurdles
and at the initial stages it was not readily accepted by the users. Later it has attracted many
16
professionals and developers, once Sun started marketing it as a language for web applications.
Initially Java was developed under two versions such as 1.0 and 1.1 (Carter, 1997).
There are few fundamental terms regarding Java such as Java programming language,
Java Virtual Machine and the Java platform. The Java applications including applets, servlets and
JavaBeans are written in Java programming language. Java Virtual Machine (JVM) consists of
the byte codes (portable machine language) that can be implemented directly in hardware.
Generally this Java Virtual Machine is implemented in the form software that interprets the byte
code in to native machine language. Java platform is the standard set of Java classes, which can
be used by all Java programs. Java platform is also referred as the Java runtime environment or
core Java APIs (application programming interfaces) (Flanagan, 2001).
Advantages of Java
This section explains the importance of Java and why it is among the most adopted
languages by users. Some of the key benefits of Java are as follows:
Sun promoted Java with the key concept of Write Once, Run Anywhere. This means
that application written once for the Java platform can be run anywhere that supports the
Java platform. Java is integrated in major operating systems and web browsers. Java is
now extensively used in consumer devices, cell phones and television set-top boxes
(Flanagan, 2001).
Security is the key advantage of Java. Java platform enables the users to run code in a
secure environment though the code is downloaded from untrusted sources. This is the
17
when required. This concept explains that program functionality can be extended by
18
Proposal
Good technical knowledge in software domains helps in securing good position in
software industries. As explained in the literature review, Java is one among the top requirements
in the current market. Prior to get into any Java position in current market, efficient training and
complete command over the language is important. Java is base for the many applications among
which Bigdata and Hadoop are on top priority. Securing a position as Java developer in current
competitive market needs efficient skills and good training. Though Java is vast subject, by
following the four iterations, one can touch the surface. Each iteration consists of four phases
such as plan, action, observe and reflect (N. Chetan, personal communication, Sep 17, 2014).
First Iteration: Orientation and Java Development Kit Installation
In this iteration, all the essential fundamentals about Java programming language will be
practiced. This iteration is mainly designed for gathering important books about Java. Attending
webinars, meeting with professionals and going through video tutorials helps researchers in
understanding the importance of language and it also assists researchers in gaining key tips about
the language. The key step in this iteration is learning and installing Java Development Kit
(JDK) installation. This is very important for the beginners as it provides basic knowledge about
installation and troubleshoot the installation errors (S. Sandeep, personal communication, Sep
19, 2014).
Second Iteration: Learning about Data types and Operators
Second iteration is mainly designed for learning about the Data types in Java through
attending classes at Xenon Infotech institute. This is key step as Data type specifies the size and
type of values that can be stored in an identifier. Moreover Java language is rich in its data types
and different data types enable the user to select appropriate type as per the needs of the
19
application. In this iteration essential fundamentals regarding operators are practiced such as
arithmetic operators, increment and decrement operators, relational operators, bit-wise operators
and the shift operators. This also a key concept in Java as it enables the user to manipulate the
values of variables (B. Sudheer, personal communication, Sep 17, 2014).
Third Iteration: Learning about Classes, Objects and Object-Oriented Programming
With the knowledge gained from previous iteration, now the focus is on learning to write
own Java classes. In this iteration, the main focus will be on defining the classes, including
declaring member variables, methods and constructors. Regarding the objects, the training will
be on creating and using objects. Each of these concepts explains how to execute them in the real
world and also provides an introduction to the syntax of the programming language (S. Smith,
personal communication, Sep 17, 2014).
Fourth Iteration: Learning about Loops and Conditionals
In this iteration basic knowledge regarding the Loops and Conditionals is gathered. The
loops in Java language such as while loop, dowhile loop and for loop are flexible. These are
used when block of code is required to execute several number of times. Conditionals is the
another key concept in Java and Boolean variables are used to evaluate conditions (R. Avinash,
personal communication, Sep 17, 2014).
20
21
22
Action
As part of this iteration and my plan, I started going through the origin of the Java
language, history and some language basics prior to the commencement of my course. I have
attended the classes at Xenon Infotech conducted by my instructor Oscar Ravichandran at his
institute. Normally the classes are scheduled from Monday to Friday at 10.00AM to 12.00AM.
Computer labs at Xenon Infotech are scheduled as per the flexibility of the students to provide
hands-on experience. The classes were mainly focused to enlighten students regarding the Java
language. A brief orientation was given regarding Java language and about the features that
distinguishes the Java language from all other languages and current market requirements for
Java employment aspirants. The Object-Oriented programming concepts such as objects, classes,
interfaces, inheritance and packages along with some language basics such as variables,
operators, expressions, statements, blocks and control flow statements were discussed. After the
class, I had a personal meeting with the instructor to discuss my requirements towards the course
and some fundamental tips to keep in mind in learning the subject. During lab sessions, training
was given on installing Java Development Kit in step wise method.
I have also enrolled in online course at Edureka to learn Java essentials. I have gone
through the video tutorials and worked on the assignments given by Edureka faculty. Regarding
the Java installation, I have followed step by step process provided by the Edureka online
learning. Initially Java Development Kit is installed followed by installation of Eclipse
Integrated Development Environment (IDE). As part of my plan, I have also met two
professionals who are currently working as Java Developers, Uday Kiran Kommireddy and Neel
Mallepally to know the actual working environment. I met them during weekend and discussed
regarding the scope and work environment in Java department. I have also gone through Bucky
23
Roberts YouTube videos to know more about the installation of Java Development Kit (JDK)
and basic fundamentals.
Observation
Through the classes conducted at training institute, I have observed few fundamental
concepts regarding Java. Some of them are as follows:
Java is well-known for its concept of Write Once, Run Anywhere. It explains that
application written once for the Java platform can be run anywhere that supports the Java
known to check the compatibility. Mainly knowing the system features is important. Prior to the
24
installation, I have observed the system requirements and installed successfully. The step by step
process given by the Edureka faculty was easy to understand the entire installation process.
Though everything went normally, I have observed a key step in Java Development Kit
installation is setting the environmental variables. Observe the Figure.5 below
Figure.5 Setting environment variables for Java Development Kit installation (O. Ravichandran,
personal communications, Sep 28, 2014).
Setting the environment variables helps in saving the programs at particular folder. I have
observed that restarting the system once, after installation helps the system to be aware of the
changes (O. Ravichandran, personal communications, Sep 28, 2014).
Reflection
During my first iteration, I worked with my instructor Oscar Ravichandran. I feel its great
experience to work with him as he understands the requirements of each student. He is not only
an instructor but also working as Java Developer in United States for past 12 years. Rather than
25
straightly moving on to subject, initially my instructor started with very fundamental basics of
the programming. The power-point presentations were good enough to understand the basics of
the language such as classes, objects, interfaces, packages. Several examples given by instructor
Ravichandran helped me to understand the concepts well. My personal meeting with Oscar
Ravichandran provided an opportunity to explain about me and my educational background.
Though I am from Pharmaceutical Sciences background, he understood my passion towards
subject and encouraged me. Lab sessions helped me to refresh the concepts that were explained
in the class.
During Java Development Kit installation, the instructions given by Ravichandran helped
me to realize the importance of the installation. Mainly I learned how to set environmental
variables for Java Development Kit installation. Moreover the On-line tutorials provided by
Edureka were very helpful and step wise Java Development Kit guide is very much elaborative
and they also provided trouble shooting methods for successful installation.
My meeting with two Java professionals Uday Kommireddy and Neel Mallepally was
fruitful during weekend. Their positive feedback regarding the subject and scope of Java in
current market motivated me to have better focus on the subject. I came to know new aspects
regarding applying for jobs and interview process. Overall during my first iteration everything
went well as I planned.
26
through all the data types, checking their validity, usage and similarly usage of different
operators in writing programs. Different data types used in Java language are Byte, Short, Int,
Long, Double, and Float. Each of these has specific value and designed to use for appropriate
variables. The Operators used in Java are Arithmetic, Assignment, Logical, Bit-wise, and
Relational Operators. During the second iteration, I have planned to attend the classes that will
be conducted at Xenon Infotech institute by my instructor Oscar Ravichandran. Basically I
planned at attend classes in the morning at 10.00AM to 12.00AM for five days in a week right
from Monday to Friday. I have also planned to attend labs to gain hands-on experience regarding
the topics such as different Data types and Operators. In this iteration, I have also planned to
meet my instructor personally to discuss more about data types and operators.
Regarding Data types, I have planned to learn about their importance in writing programs
and also their usage. Similarly in case of Operators I have planned to learn about their usage and
logical ways of applying them during writing a program. As I am a registered member in
Edureka online courses, I have planned to seek guidance from online classes. Edureka online
classes are recordable, and I have planned to record the classes for future reference. Moreover, I
have also planned to discuss course material with my friend Avinash who is working along with
me in this program. Learning through YouTube videos is also in my plan action. In order to
accomplish this, I have planned to follow Bucky Roberts at Bucky Room.org. My ultimate aim
in this iteration is to gain command over the different data types and operators as they are
interlinked with other concepts which I encounter while proceeding any further.
Action
In this iteration, I have attended the classes conducted at Xenon Infotech. The classes
were conducted from Monday to Friday at 10.00AM to 12.00AM. My instructor Oscar
27
Ravichandran instructed me to learn about different data types and operators that are necessary
for Java Language. Getting in to the details, Ravichandran mainly taught me about data types
such as Byte, Short, Int, Long, Double, and Float and mainly explained that each of these hold
specific range of value. Ravichandran mainly taught about usage of the data types and operators
in writing programs. I have practiced the concepts such as data types and operators during lab
hours.
In this iteration I have also attended Edureka online classes to dig deeper into the
concepts pertaining to Data types and Operators. I have recorded most of the classes for future
reference. In this iteration most of the time I have discussed and practiced the concepts with my
friend Avinash at the institute. We both together mainly practiced data types by replacing one
after other in the basic syntax. Regarding operators such as Arithmetic operators, Assignment
operators, Logical operators, Bit-wise operators, and Relational operators I have discussed with
Avinash, which are taught in class. In this iteration, I have also gone through YouTube videos
regarding data types and operators. For this purpose, I have subscribed for Bucky Roberts Java
tutorials for beginners. These videos were provided in topic wise manner in YouTube for easy
access. All these videos in YouTube, which are uploaded and explained by Bucky Robert
himself. My instructor Oscar Ravichandran suggested me a book Sams Teach Yourself Java in
24 hours, sixth edition. I started following this book as it is simple and elaborative. Overall in
this iteration, I started writing minor programs by using various data types and operators.
Observation
In this iteration, I have extensively worked on different Data types and Operators in Java
Language. Mainly, I observed that there are two categories of data types in Java language such as
28
Figure 6. Shows different data types in Java language Retrieved from The Java Virtual
Machine (Venners, 2014).
I have observed that there are eight primitive data types in Java which are predefined by the
language and named by a keyword. Following Figure 1 shows different primitive data types in
Java language (O. Ravichandran, personal communication, Oct 15th, 2014).
Few observations regarding data types are as follows:
Byte data type is four times smaller than the Int data type, therefore it is used to save
space in large arrays. Maximum value of Byte data type is 127 and minimum value is
-128. The size of Byte is 8 bits (O. Ravichandran, personal communication, Oct 15th,
2014).
Short data type is twelve times smaller than Int data type with holding minimum value of
-32,768 and maximum value of 32,767. The size of Short data type is 16bits.
The size of Int data type is 32 bits. Minimum value of Int is -2^31 and maximum value
is 2^31-1. Int data type is used as default type for integral values (O.Ravichandran,
personal communication, Oct 15th, 2014).
29
The size of Long data types is 64 bits and it is used when a wider range than Int data type
is needed. Long data type has the maximum value of 2^63-1 and minimum value of 2^63.
Float data type is a single-precision 32-bit IEEE 754 floating point. It is mainly used to
save memory in large arrays of floating point numbers (O.Ravichandran, personal
2014).
Boolean data types are used to represent one bit information. It is mainly used for values
By using different data types, I have written few programs and successfully executed. The
following Figure 7 shows a simple Java program by using data types such as Int and Byte.
Similar way different data types can be used to write programs as per the requirement (O.
Ravichandran, personal communication, Oct 15th, 2014).
30
Figure 7. Java program with data types Byte and Int (O. Ravichandran, personal communication,
Oct 15th, 2014).
Regarding operators, there are different types of operators such as Arithmetic,
Assignment, Logical, Relational, and Bit-wise operators. Arithmetic operators are used in for
mathematical operations like addition, subtraction, multiplication and division. Assignment
operators are used to assign values on both sides in a program when writing a Java code. Logical
operators such as AND (&&), OR (II), NOT (!) are used to writing specific conditions in Java
language. Relational operators are mainly symbols as given in the following table. Bitwise
Operators are generally applied for data types such as Long, Int, Short, Char and Byte. These
Bitwise operators are used mainly used to perform bit-by-bit operation. Following Table provides
details about different operators used in Java language (O. Ravichandran, personal
communication, Oct 15th, 2014).
Table 1
Illustrates different types of operators with symbols (O. Ravichandran, personal communication,
Oct 15th, 2014).
Operator type
Operator
Arithmetic operator
+, -, *, /, %, ++, --
Relational operator
= =, !=,>,<,>=, <=
Bitwise operator
Logical operator
&&, ll, !
Assignment operator
31
Reflection
During my second iteration, I worked with my instructor Oscar Ravichandran. As I am
from life sciences background, Ravichandran has shown great focus towards me and assisted me
in understanding very core elements of the subject. Being a professional in Java programming,
he also explained real time issues and a way of dealing with them. For instance, if we try to store
two Java jar files with same name in server, we face errors in storing them. I realized that
duplicate files must be detected before sending them to the server. Ravichandran has given me
power point presentations which are helpful me to understand the concepts in simple way.
Especially regarding data types he has given me flow charts which are easy to memorize.
Though I have planned to meet him personally, I couldnt make it as he was busy. However I
compensated this by going through video tutorials provided by Edureka.
During lab sessions, I was accompanied by my friend Avinash who is also a student at
Xenon Infotech. Mainly we followed trial and error method in practicing different data types in
which we used many variables and assigned different values. I was confused in the beginning
with operators but through extensive hands-on sessions with my friend Avinash, I felt much
comfortable. Edureka video tutorials were much elaborative and assisted me in practicing some
new examples. One of my friend Gopinath suggested me Bucky Roberts Java tutorials. I found
them interesting as they are of short duration and simple. The demonstrations on different data
types and operators given by Bucky Robert on YouTube helped me to learn new methods.
Overall, in this iteration I had different sources of learning which helped me to dig deeper in to
the concepts of the Java language. I was enlightened with using different data types and
operators in writing Java programs.
32
33
Action
In this iteration, I have attended the classes conducted at Xenon Infotech. The schedule
was from Monday to Friday at 10.00AM to 12.00AM. My instructor Oscar Ravichandran
instructed me to learn about the Object-Oriented programming concepts in Java language.
Typically my instructor Ravichandran covered the topics such as Polymorphism, Encapsulation,
Packages, Interfaces, and Inheritance. As all these topics are key to Java language, Ravichandran
explained the importance of the concepts and demonstrated with some examples. During lab
hours, I have practiced them with my friend Avinash. We have practiced all these concepts such
as creating packages, creating objects, deploying the objects in polymorphism and binding the
code in single unit in repeated manner along with assignments given by Ravichandran.
In this iteration, I have also attended Edureka online classes to know more about the
concepts of Object-Oriented programming. With this classes, I have revised the topics that are
taught in the class. The classes at Edureka were recordable and I have recorded most of the
classes for future reference. There were assignments given by Edureka faculty to practice the
concepts. Most of them were tricky, therefore tried to solve them with the help of my instructor.
In this iteration, I have also gone through YouTube videos regarding Object-Oriented
programming concepts. For this purpose, I have subscribed to Bucky Roberts Java tutorials for
beginners. These videos were uploaded in topic wise manner in YouTube for convenient access
for the users. All these videos were uploaded and demonstrated by Bucky Robert himself. I have
utilized this for quick reference. My instructor Oscar Ravichandran suggested me a book Sams
Teach Yourself Java in 24 hours, sixth edition. I started following this book as it is simple and
elaborative. Overall in this iteration, I have used multiple resources to gain command over the
basic fundamentals about Object-Oriented programming.
34
Observation
In this iteration, I worked extensively on the Object-Oriented programming concepts of
Java language. I have observed there are few key concepts such as Packages, Interfaces,
Polymorphism, Encapsulation, and Inheritance. Basically I have observed that a class is a
template that describes the behavior of object. Object in Java language is an instance of class.
Polymorphism in Java language is considered as the ability of an object to take on many forms.
The concept of polymorphism is important when a parent class reference is used to refer to a
child class object. The objects that pass through more than one IS-A test are considered as
polymorphic.IS-A a way saying: This object is a type of that object. The key aspect here is all the
objects in Java are polymorphic (O. Ravichandran, personal communication, Nov 7th, 2014).
Polymorphism is extensively used in implementing inheritance. I have also observed the concept
of Encapsulation, which is a technique used to provide access to the private fields in a program
through public methods. For instance if a field is declared private, it cannot be accessed outside
the class. Therefore, encapsulation is also referred as data hiding. Encapsulation acts as a
protective barrier in preventing the code and data being randomly accessed by other code defined
outside the class. Encapsulation helps in modifying our implemented code without breaking the
code of others who use our code. I have observed that encapsulation imparts flexibility and
extensibility to our code (O. Ravichandran, personal communication, Nov 7th, 2014).
I have observed that Inheritance is the process where one object acquires the properties of
another. With the effective use of inheritance concept the information can be made manageable
in a hierarchical order. There are few keywords such as extends and implements can make
one object acquire the properties of another object. An interface is generally referred as the
collection of abstract methods. Initially a class implements an interface, which consequently
35
inherits the abstract methods of the interface (O. Ravichandran, personal communication, Nov
7th, 2014). Here I have observed a key point that an interface is not a class. A class describes the
behavior of object, where as an interface contains behaviors that a class executes. An interface is
declared by using a keyword interface and implemented by using implements as keyword.
Package in Java is referred as grouping of related classes, interfaces, enumerations and
annotations. While creating a package, a name should be given first and this name along with a
package statement must be in the first line of the source file. Packages help in preventing naming
conflicts and also ease the process of locating classes, interfaces, enumerations, and annotations
(O. Ravichandran, personal communication, Nov 7th, 2014).
Reflection
During my third iteration, I constantly focused on the Object-Oriented programming
concepts of Java language. My instructor Ravichandran played crucial role in rectifying some of
my doubts on this topic. Unlike other topics, Object-Oriented programming was slightly
confusing and most of the times I failed to understand the logic between the interfaces and
packages. During this iteration, Ravichandran has shown great focus towards me in
understanding the fundamentals of the subject. His notes was with many examples on Objectoriented concepts assisted me in memorizing the concepts.
During lab sessions, I was accompanied by my friend Avinash who is also a student at
Xenon Infotech. My practice on different Object-Oriented concepts with Avinash was much
fruitful and helped me to get over my confusions on Object-Oriented programming. I came to
learn new concepts while discussing with Avinash on some specific issues. I am very much
benefitted from the lab sessions as they were available in flexible hours. The online classes from
Edureka were also equally informative along with the in-class sessions. It helped me gaining
36
37
38
Action
In this iteration, I have attended the classes conducted at Xenon Infotech. The classes
were scheduled from Monday to Friday at 10:00AM to 12:00AM. In this iteration, I worked with
my instructor Ravichandran on topics called Loops and Conditionals. We have discussed
regarding different types of loops such as While Loop, Dowhile Loop, and For Loop also on
the Conditionals used in Java programming. As Loops and Conditionals provide great room for
multiple ways of writing a program, Ravichandran demonstrated with some examples in the
class. As per my plan, I have also worked with my friend Avinash in lab session to gain enough
hands-on experience on the current topics. Mainly we practiced different loops and tried multiple
ways of writing programs by using them. We have rectified most of our doubts by discussing
them with Ravichandran.
In this iteration, I have also attended Edureka online classes to know more about the
concepts of Loops and Conditionals. With the classes, I have revised the topics that are taught in
the class. I have also recorded most of the classes of Edureka for future reference. I have also
solved the assignments given by Edureka along with my friend Avinash. We have discussed
some of the assignments with Ravichandran and solved them with his guidance. In this iteration,
I have also gone through YouTube videos regarding Loop and Conditionals. For this purpose, I
have subscribed to Bucky Roberts Java tutorials for beginners. I have practiced along with the
videos as they are demonstrated and explained by Bucky Robert. I have used most of the videos
for quick reference. My instructor Ravichandran suggested me a book named Sams Teach
Yourself Java in 24 hours, sixth edition. I started following this book as it is simple and
elaborative. In this iteration, prior to attending classes, I have gone through this book. Overall, I
39
have used multiple resources in this iteration to gain command over the core elements of Loops
and Conditionals.
Observation
In this iteration, I have focused on Loops and Conditionals in the Java language. I have
observed there are different loops in Java language, which are used to execute a block of code for
several number of times. I have observed a key point that the Java programming is sequential
and it flows downward, with every line of code being executed. Therefore, Loops are essential in
controlling the flow of program and also loops save most of the time. Mainly the While loop is
used to repeat a task a certain number of times. We can observe this from the following Java
program written by me using while loop (O. Ravichandran, personal communication, Nov 22,
2014).
Figure 8. Shows a Java program with While loop (O. Ravichandran, personal communication,
Nov 22, 2014).
40
In this program by using While loop the program is repeated until the predefined value.
Therefore, it has displayed all the values of x which, we can observe from the above program.
I have observed that the do.. while loop is also similar to While loop but in this the
Boolean expression appears at the end of the loop and all the statements before the Boolean
expression are tested. It is quite evident from the following Java program written by me using
dowhile loop.
41
Figure 10. Shows a Java program using For loop (O. Ravichandran, personal communication,
Nov 22, 2014).
I have observed that conditionals in Java are used to produce a true or false result and Java uses
Boolean variables to evaluate conditions. The Boolean values true and false are returned when an
expression is evaluated (O. Ravichandran, personal communication, Nov 22, 2014).
Reflection
During my fourth iteration, I have spent most of my time on Loops and Conditionals. My
advanced preparation for class helped me in understanding the concepts very well. My instructor
Ravichandran helped me by rectifying my doubts regarding the application of loops in Java
programming. The concept of Loops and Conditionals confused me when I first started. I faced
hard time when I tried to solve advanced issues. During this time, Ravichandran motivated me
with his words and explained me with various examples and different scenarios. Especially, the
power point presentations helped me a lot to come out from my confusions.
During lab sessions, I was accompanied by my friend Avinash who is also a student at
Xenon Infotech. My hands-on lab sessions on Loops and Conditionals with Avinash was much
fruitful and helped me to get over my confusions about the topics. I came to learn new concepts
42
while discussing with Avinash on some specific issues. I am very much benefitted from the lab
sessions as they were available in flexible hours and also I realized the importance of healthy
arguments on subject as I participated with Avinash. Edureka online classes were also equally
informative along with the in-class sessions. They helped me in consolidating my grip on Loops
and Conditionals. Though I felt the assignments given by Edureka faculty were challenging, it
has given me nice opportunity to know more about Loops and Conditionals. Bucky Roberts
videos on Java programming were simple and helped me to understand the concepts very well.
Bucky Robert demonstrated the concepts clearly and they were useful as quick reference guide.
Overall, in this iteration I had excellent opportunity to learn about Loops and Conditionals of
Java language and it was effective in terms of learning and practice.
43
Summary
According to my overall experience at Xenon Infotech institute, I am very much fortunate
to be student at Xenon Infotech. During my stay at institute, I have focused on different core Java
concepts including Java Development Kit installation, Data types, Operators, Object-Oriented
programming concepts, Loops, and Conditionals. I feel extremely satisfied with my experience
and progress during this period. My instructor Oscar Ravichandran understood my passion
towards subject and constantly encouraged me in learning core Java concepts. I learned Java
Development Kit installation and setting up working environment for Java programming.
Mainly, I got acquainted with using tools in Java such as Java Development Kit (JDK) and
Eclipse Integrated Developing Environment (IDE). I have learned the Object-Oriented
programming concepts and creating objects.
During my learning period at Xenon Infotech, I have mainly concentrated on learning
logical ways of applying Loops, Operators and various data types in writing programs. I have
also benefitted from the hands-on sessions conducted at Xenon Infotech, where I have got the
opportunity to practice more on the core Java concepts. My discussions with my friend Avinash
also played key role in gaining command over the subject. Edureka faculty were helpful and
their timely assistance was valuable to me. The YouTube videos uploaded by Bucky Robert were
easy to understand and I have used them as quick reference guide. I feel this training gave me a
good hope for the future to be a pioneer in the field of Java Development. I am extremely
thankful to my university and my professor for providing a platform to learn new things in the
field of Information Technology.
44
References
Aoife Mcdermott, D. C. (2008). Research for Action and Research in Action: Processual and
Action Research in dialogue? Irish Journal of Management.
Carter, P. (1997). An Introduction to the Java Programming Language. Retrieved from
www.cs.binghamton.edu: http://www.cs.binghamton.edu/~guydosh/cs350/JavaPrimer.pdf
Cay S Horstmann, G. C. (2002). Core Java 2, Volume 1, Fundamentals. Pearsonn Education.
Channel Insider,1. (2012). Java, Software Developers in Demand in 2012: Dice. Retrieved from
http://mylibrary.wilmu.edu/: http://mylibrary.wilmu.edu:6609/ehost/detail/detail?
sid=62f29b61-4bfd-46bb-a20de3560bb265f6%40sessionmgr110&vid=2&hid=117&bdata=JnNpdGU9ZWhvc3QtbGl2Z
Q%3d%3d#db=bth&AN=70147100
Dattero, Q. (2003). Estimating the value of Java and C++ skills. Communications of the
Association for Information System, 310-321.
Dick, B. (2000). A beginners guide to action research. On Line] Available at Http://www. Scu.
Edu. Au/schools/gcm/ar/arp/guide. Html [March 5th, 2008].
Flanagan, D. (2001). Java in a Nutshell, third edition. Sebastopol: 0'Reilly & Associates, Inc.,
101 Morris Street, Sebastopol, CA 95472.
Gallos, J. V., & Schein, E. H. (2006). Organization development: a Jossey-Bass reader. JosseyBass.
Huxham, C. E. (1996). Action Research for Management Research. British Journal of
Management, 75-86.
Koshy, V. (2005). Action research for improving practice: A practical guide. Sage.
MacIsaac, D. (1995). An introduction to action research. Retrieved January, 20, 2002.
45
Moreira J.E, S. P. (2000). Java programming for high performance numerical computing. IBM
Systems Journal, 21-56.
O'Brien, R. (2001). Um exame da abordagem metodolgica da pesquisa ao [An Overview of
the Methodological Approach of Action Research]. In Roberto Richardson (Ed.), Teoria
e Prtica da Pesquisa Ao [Theory and Practice of Action Research]. Joo Pessoa,
Brazil: Universidade Federal da Paraba. (English version) Available:
http://www.web.ca/~robrien/papers/arfinal.html (Accessed 20/1/2002)
Pancake, C. M., & Lengauer, C. (2001). High-Performance JAVA. Communications of the
ACM, 44(10), 99.
Paul Carter. (1997). An Introduction to the Java Programming Language. Retrieved from
www.cs.binghamton.edu: http://www.cs.binghamton.edu/~guydosh/cs350/JavaPrimer.pdf
Susman, G. I. (1983). Action research: a sociotechnical systems perspective.Beyond method:
Strategies for social research, 95-113.
Taft, D. K. (2014, 02 10). Top 10 Programming Languages for Job Seekers in 2014 . Retrieved
from http://mylibrary.wilmu.edu:6609/ehost/detail/detail?sid=62fea4f3-8882-4d48-aa6a3200f0249d1c
%40sessionmgr112&vid=1&hid=117&bdata=JnNpdGU9ZWhvc3QtbGl2ZQ%3d
%3d#db=aph&AN=94459336
Venners, B. (2014). The Java Virtual Machine. Retrieved from www.artima.com:
http://www.artima.com/insidejvm/ed2/jvm3.html
46