0% found this document useful (0 votes)
39 views61 pages

Ilovepdf Merged

The document provides information about an internship at TechCiti Technologies Private Limited. It details the company profile, fields they provide internships in such as IT infrastructure, finance, sales and human resources. The duration of internships is typically between 4 to 24 weeks. Key information about the company such as date of incorporation, registered office and classification is also mentioned.

Uploaded by

divyaj3107
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views61 pages

Ilovepdf Merged

The document provides information about an internship at TechCiti Technologies Private Limited. It details the company profile, fields they provide internships in such as IT infrastructure, finance, sales and human resources. The duration of internships is typically between 4 to 24 weeks. Key information about the company such as date of incorporation, registered office and classification is also mentioned.

Uploaded by

divyaj3107
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

"Jnana Sangama", Belagavi- 590 018

Internship Report

On

“SOFTWARE DEVELOPER-INTERN”
Submitted in partial fulfillment of the requirement for the 8 th semester

BACHELOR OF ENGINEERING
in
ELECTRONICS AND COMMUNICATION ENGINEERING
by
DIVYA J 1RL20EC007
Under the guidance of
LAVANYA VAISHNAVI D.A.
Assistant Professor,
Dept. of E&CE

DEPARTMENT OF ELECTRONICS & COMMUNICATION


ENGINEERING
R.L. JALAPPA INSTITUTE OF TECHNOLOGY
Kodigehalli, Doddaballapur – 561 203
2023-24
CERTIFICATE

This is to certify that internship work entitled “SOFTWARE DEVELOPER -INTERN”

carried out by Divya J (1RL20EC007 a bonafide student of of R L JALAPPA

INSTITUTE OF TECHNOLOGY in partial fulfilment for the award of Bachelor of

Engineering in ELECTRONICS AND COMMUNICATION ENGINEERING of the

VISVESVARAYA TECHNOLOGICAL UNIVERSITY, Belagavi during the

academic year 2023-24. It is certified that all corrections and suggestions indicated for

Internal Assessment have been incorporated in the Report deposited in the departmental

library.

The internship report has been approved as it satisfies the academic requirements in respect

of internship work prescribed for the said degree.

Internal Guide HoD Principal


Lavanya Vaishnavi D A Dr. Anil Kumar C Dr. P Vijayakarthik
Assistant Professor Associate Professor & Professor
Department of ECE Head, Department of ECE RLJIT
ACKNOWLEDGEMENT

The satisfaction and euphoria that accompany the successful completion of any task would
be incomplete without the mention of people who made it possible. So with gratitude, we
acknowledge all those whose guidance and encouragement crowned out efforts with
success.
We would like to extend regards to Dr. P Vijayakarthik Principal, R L J I T, forall his
prolific support in all endeavours.

Our Special Thanks to Dr. Shivaprasad K M, Vice Principal, RLJIT for his guidance
in this complete endeavours.

We like to express our gratitude to Dr. M Sreenivasa Reddy, Director (Quality in


Academics and R&D) for his support and encouragement to complete our major project.

We express our sincere thanks to Dr. Anil Kumar C. HOD, Department of Electronics
and Communication Engineering, RLJIT for his support and encouragement.

We express our sincere gratitude to Dr.Harish S. Project Coordinator,


Department of Electronics and Communication, RLJIT for his Support and guidance.

At this outset, we extend our gratitude to Lavanya Vaishnavi D.A, Assistant Professor,
Department of Electronics and Communication, RLJIT for her guidance at allstages of this
complete exercise.

We are thankful to all our faculties and the entire department ELECTRONICS AND
COMMUNICATION ENGINEERING for their cooperation and suggestion, without
their cooperation and suggestions our course would not have been a successful one.

Finally, we also thank our beloved parents for their blessing and love in our entire

endeavour.

Divya J 1RL20EC007

(i)
ABSTRACT

In today’s competitive business world, organizations are struggling to stand First and
get more benefits. In India , Information technology is the one which has held the first position
for long years with many innovative trends. It has multiple streams and platforms to develop
an application or product. Programming languages play a vital role in developing applications.
Java is one of the programming language which enables developers to make programs work
just about anywhere. Basically, java is not just a programming language but it is a programming
atmosphere to develop and deploy enterprise applications.
Java is a set of computer software and specifications which help programmers in
simplifying the code and develop applications and install them on cross-platform systems.java
is fast, reliable and secure from desktop to web applications, scientific supercom puters to
gaming consoles, cell phones to the Internet, It is used in every nook and corner. Java is not
only easy to learn but is also designed in such a way that it is easy to use, easy to write. It is
widely used in various fields like Financial services, Banking, stock market, Retail, Android,
Scientific and Research. It is most widely used in IT Industry and by learning java there are
wide range of opportunities for a Job seeker to secure the job.
CONTENTS
ACKNOWLEDGEMENT……………………………………………………………………i

ABSTRACT…………………………………………………………………………………..ii

CONTENTS………………………………………………………………………………….iii

List Of Figures……………………………………………………………………………….vi

CHAPTER 1

Company Profile………………………………………………………………………………1

CHAPTER 2

Introduction

2.1 Overview Of Java…………………………………………………………………………3

2.2 Features Of Java…………………………………………………………………………..4

2.3 Java workflow……………………………………………………………………………..5

2.4 Steps for compiling and executing Java program…………………………………………5

2.5 Object And Class………………………………………………………………………….10

2.6 Class and Interface………………………………………………………………………...11

2.7 Data Types………………………………………………………………………………...12

2.8 Variables…………………………………………………………………………………..13

2.9 Operators And Its Types…………………………………………………………………..13

CHAPTER 3

Programming Concepts

3.1 Structure Of Java Program……………………………………………………………….15

3.2 Main Method……………………………………………………………………………..15

3.3 Decision Making Statement………………………………………………………………16

3.4 Looping Statement………………………………………………………………………..16

3.5 Access Modifiers…………………………………………………………………………16

3.6 Java Useful Keywords……………………………………………………………………17

(iii)
3.7 Java Classes, Blocks And Constructors………………………………………………….18

3.8 Constructors……………………………………………………………………………...18

3.9 Static Block In Java……………………………………………………………………...19

CHAPTER 4

Java Object Oriented

4.0 Relationship In Java…………………………………………………………………….20

4.1 Inheritance………………………………………………………………………………20

4.2 Method Overloading…………………………………………………………………….21

4.3 Method Overriding………………………………………………………………………21

4.4 Interface…………………………………………………………………………………22

4.5 Abstraction……………………………………………………………………………...22

4.6 Encapsulation…………………………………………………………………………...23

4.7 Polymorphism…………………………………………………………………………..25

CHAPTER 5

Java Advanced

5.0 Package………………………………………………………………………………….27

5.1 Exception Handling……………………………………………………………………..27

5.2 Multithreading…………………………………………………………………………..30

5.3 Threading………………………………………………………………………………..30

5.4 String…………………………………………………………………………………….31

5.5 Collection………………………………………………………………………………..31

CHAPTER 6

Project under taken

6.1 Multi Factor authentication file protecting system using cloud computing……………...36

6.2 Block diagram…………………………………………………………………………….37

6.3 Software System………………………………………………………………………….42

6.4 Execution…………………………………………………………………………………43

(iv)
6.5 Results and Discussion…………………………………………………………………...46

CHAPTER 7

CONCLUSION……………………………………………………………………………...49

References……………………………………………………………………………………50

(v)
LIST OF FIGURES

Figure 1.1: Company logo


Figure-2.1: Feature of Java
Figure-2.2: java workflow
Figure-2.3: Steps For Compiling And Executing Java Programs
Figure-2.4: functioning of JVM
Figure-2.5: functioning of JRE
Figure-2.6: functioning of JDK
Figure-2.7: List of Data Types
Figure-3.1: Structure of java program
Figure-3.2: Structure of main method
Figure-3.3: Types of access modifiers
Figure-5.1: Different java packages
Figure-5.2: Hierarchy of exception handlers
Figure-6.1: Block diagram
Figure-6.2: Verification using MFA
Figure-6.3: Steps in MFA

(vi)
Software developer-Intern

CHAPTER 1
COMPANY PROFILE

Figure 1.1 Company logo

TechCiti Technologies Private Limited


TechCiti Technologies Pvt.Ltd. is known for its highly skilled IT infrastructure solutions.
Considering the fact that today almost every business needs the help of the technology for their
development, TechCiti Technologies Pvt. Ltd. is serving clients with the best social media and
digital marketing solutions available.
The company offers an internship program to train and promote new talent. The company
provides internships in the fields of IT infrastructure, finance, sales groups, and human
resources. Internships generally last between 4 and 24 weeks.
About Techciti Technologies Private Limited
Techciti Technologies Private Limited is a Unlisted Private Company. It was incorporated on
05 April, 2013.
It is a Company limited by Shares having its registered office at East Side Of 3Rd Floor At No
22,23,24,25/101/3 Bnr Complex,Sri Rama Layout, Jp Nagar 7Th Phase Bangalore Bangalore
- 560078 Karnataka - India. It is further classified as a Non-govt company.
The CIN number of Techciti Technologies Private Limited is U72200KA2013PTC068461.

Dept.of ECE 2023-2024 1


Software developer-Intern

Techciti Technologies Private Limited has 2 appointed directors/decision makers Paritosh


Kashyap Kumar and Baidehi Ann Roy.

CIN: U72200KA2013PTC068461
Industry: Computer Related Services
Type: Unlisted Private Company
Founded: 05 April, 2013
Revenue: Undisclosed
Authorized Capital: Less than $10,000
Paid-up Capital: Less than $10,000
Category: Company limited by Shares

Techciti Technologies Private Limited is an unlisted private company incorporated on 05 April,


2013. It is classified as a private limited company and is located in Bangalore, Karnataka. It's
authorized share capital is INR 1.00 lac and the total paid-up capital is INR 1.00 lac.

The current status of Techciti Technologies Private Limited is - Active.

The last reported AGM (Annual General Meeting) of Techciti Technologies Private Limited,
per our records, was held on 20 September, 2022.

Techciti Technologies Private Limited has two directors - Paritosh Kashyap


Kumar and Baidehi Ann Roy.

The Corporate Identification Number (CIN) of Techciti Technologies Private Limited is


U72200KA2013PTC068461. The registered office of Techciti Technologies Private Limited
is at East side of 3rd floor at No 22,23,24,25/101/3 BNR Complex,Sri Rama Layout, JP Nagar
7th phase, Bangalore, Bangalore, Karnataka.

Dept.of ECE 2023-2024 2


Software developer-Intern

CHAPTER 2

INTRODUCTION

Java is one of the programming language or technology used for developing web applications.
Java language was developed by SUN Micro Systems in the year 1995 under the guidance of
James Gosling and there team. Originally SUN Micro Systems is one of the Academic
university (Standford University Network) Whatever the software developed in the year 1990,
SUN Micro Systems has released on the name of oak, which is original name of java
(scientifically oak is one of the tree name). The OAK has taken 18 months to develop. The oak
is unable to fulfill all requirements of the industry. So James Gosling again reviews this oak
and released with the name of java in the year 1995. Scientifically java is one of the coffee seed
name. Java is divided into three categories, they are
• J2SE (Java 2 Standard Edition)
• J2EE (Java 2 Enterprise Edition)
• J2ME (Java 2 Micro or Mobile Edition)
J2SE is used for developing client side applications.
J2EE is used for developing server side applications.
J2ME is used for developing mobile or wireless application by making use of a predefined
protocol called WAP (wireless Access / Application protocol)[1]

2.1 Overview Of Java


Java is a platform independent, more powerful, secure, high performance, multithreaded
programming language. Here we discuss some points related to java.
JRE
The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It contains
set of libraries and tools for developing java application. The Java Runtime Environment
provides the minimum requirements for executing a Java application.
JVM
JVM is set of programs developed by sun Micro System and supplied as a part of JDK for
reading line by line of byte code and it converts into native understanding form of operating

Dept.of ECE 2023-2024 3


Software developer-Intern

system. Java language is one of the compiled and interpreted programming language.

Garbage Collector

Garbage Collector is the system Java program which runs in the background along with
regular Java program to collect un-Referenced (unused) memory space for improving the
performance of our applications.[2]

API

An API (Application Programming Interface) is a collection of packages, a package is the


collection of classes, interfaces and sub-packages. A sub-package is a collection of classes
interfaces and sub Subpackages etc.
Java programming is containing user friendly syntax so that we can develop effective
applications. in other words if any language is providing user friendly syntax, we can develop
Error free applications.

2.2 Features Of JAVA

Features of a language are nothing but the set of services or facilities provided by the
language vendors to the industry programmers. Some important features are:

Figure-2.1:Features of JAVA

Dept.of ECE 2023-2024 4


Software developer-Intern

2.3 JAVA WORKFLOW

Figure-2.2: java workflow


Firstly programmer has to write the program in editor(edit plus, sublime text, notepad) , then
JAVAC compiler checks the syntax, if there is no error it will generate .class file and then it
is sent to JVM. JIT within the JVM converts .class file to byte code (Binary code) and finally
Binary code is given to processor.[3]

2.4 Steps For Compiling And Executing Java Programs

The following sequence of steps represented in the diagram use compiling the java program
and executing the java programs.

Figure-2.3: Steps For Compiling And Executing Java Programs

Dept.of ECE 2023-2024 5


Software developer-Intern

JDK, JRE AND JVM

JVM : JVM (Java Virtual Machine) is a software. It is a specification that provides runtime
environment in which java byte code can be executed. It not physically exists. JVMs are not
same for all hardware and software, for example for window OS JVM is different and for Linux
VJM is different. JVM, JRE and JDK are platform dependent because configuration of each
OS differs. But, Java is platform independent.
JRE : The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It
contains set of libraries and tools for developing java application. The Java Runtime
Environment provides the minimum requirements for executing a Java application. It
physically[4]
JDK : The Java Development Kit (JDK) is primary components. It physically exists. It is collection of
programming tools and JRE, JVM. exists. It contains set of libraries + other files that JVM uses
at runtime.

Figure-2.4: functioning of JVM


What is JVM?

Dept.of ECE 2023-2024 6


Software developer-Intern

JAVA Virtual Machine (JVM) is an abstract machine responsible for compiling and executing
Java code. It is a part of the Java Runtime Environment (JRE), which calls the main function
of a program.JVM facilitates a platform-independent way of executing Java source code. Its
basis on WORA (Write Once Run Anywhere)

• It has a class loader, runtime data area, execution engine, and libraries.
• JVM comes with JIT(Just-in-Time) compiler that converts Java source code into
machine code.
Features of JVM
• It converts byte code to the machine language.
• JVM provides basic Java functions like memory management, security, garbage
collection, etc.
• Runs the program by utilizing JRE’s libraries and files.
• JVM is an integral part of JRE.
• It can execute the Java program line by line. Therefore, it is also known as an
interpreter.
• The main functions of JVM include loading, linking, initializing, and compiling
the program.

What is JRE?

JRE software includes JVM and class libraries to run Java programs independently. Although
it can execute the code. Yet, JRE comes bundled with Java Development Kit (JDK) to provide
a complete application development experience.

The JRE includes class libraries along with JVM and its supporting files. Note: It does not
include separate tools, such as a debugger for Java development.
JRE comprises significant package classes such as util, math, AWT, lang, and various runtime
libraries.
JRE = JVM + Class Libraries (For Running the Java Applications).

Dept.of ECE 2023-2024 7


Software developer-Intern

Figure-2.5: functioning of JRE

Features of JRE
• JRE consists of a set of tools to help the JVM run. In addition, it includes a few
deployment tools such as Java Plug-in and Java Web Start.
• A User can efficiently run a Java code with JRE only. However, JRE doesn’t allow
writing the program.
• JRE appends various integration libraries like the JDBC (Java Database Connectivity),
JNDI (Java Naming and Directory Interface), RMI (Remote Method Invocation), etc.
• Along with JVM, it consists of a virtual machine client for Java HotSpot.[5]

What is JDK?

Java Development Kit (JDK) is a complete software environment for building applications and
applets using the Java programming language. It is platform-dependent. Therefore, it has
different OS platform versions for Windows, Linux, Mac, etc. It allows reading, writing, and
executing the Java program.
Includes various tools required for writing Java programs.
• It includes an applet viewer, Java application launcher, debugger, compiler, etc.
• JDK also consists of JRE for executing Java programs.[6]

Dept.of ECE 2023-2024 8


Software developer-Intern

• The Java application launcher helps in opening a JRE. Then, it loads the necessary
details and executes the program’s main method.
• JDK = Development Tools + JRE (Java Runtime Environment)

Figure-2.6: functioning of JDK


Features of JDK
• JDK provides an environment for developing and executing the Java source code.
• It includes all the functionalities of JRE and JVM.
• JDK helps developers handle the exceptions using multiple extensions in a single catch
block.
• It has various other development tools like the debugger, compiler, etc.
• It is platform-dependent. Moreover, users can easily install JDK on Operating systems
like Unix, Mac, Windows, etc.[7]

2.5 Object And Class

Object: is the physical as well as logical entity where as class is the only logical entity.
Class: Class is a blue print which is containing only list of variables and method and no
memory is allocated for them. A class is a group of objects that has common properties.
A class in java contains:
• Data Member

Dept.of ECE 2023-2024 9


Software developer-Intern

• Method
• Constructor
• Block

class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def drive(self):
print("The car is driving.")
my_car = Car("Toyota", "Camry", 2020)
my_car.drive()

2.6 Class and Interface

Object: Object is a instance of class, object has state and behaviors. An Object in java has
three characteristics:
• State
• Behaviour
• Identity
State: Represents data (value) of an object.
Behavior: Represents the behavior (functionality) of an object such as deposit, withdraw etc.
Identity: Object identity is typically implemented via a unique ID. The value of the ID is not
visible to the external user. But it is used internally by the JVM to identify each object
uniquely. [8-10]
Class is also can be used to achieve user defined data types. In Java without Class and object
it is not possible to create or write any program. Class and Objects are interlinked to one
another
without class we cannot create any object. Class includes methods, variables and values
stored

Dept.of ECE 2023-2024 10


Software developer-Intern

in the variables.
There are different Java Applications
• Standalone Applications
• Client-Server Applications
• Web Applications
Standalone Applications can be used without internet Connection. Example for this would be
Laptop (Notepad) and Mobile (Camera, Music).
Client- Server Applications can be used by installing application both in receiver device and
Sender device .Applications must be installed both in Client as well as Server. Client -Server
Applications uses internet.
Web Applications can be uses Web browser, These applications are large applications and
Assembly level languages has more readability, But cannot develop such large Applications.
Whereas, In low level languages readability is less , In High level languages readability is more
C, C++, Java are some of the High level programming languages. Processor understand Low
level language Therefore, compiler is used to convert High level language to Assembly
language and Assembler converts Assembly language ( microprocessor and microcontroller)
to Low level language and finally this low level language is given to processor.[11]

2.7 Data Types

Datatype is a special keyword used to allocate sufficient memory space for the data, in other
words Data type is used for representing the data in main memory (RAM) of the computer. In
general every programming language is containing three categories of data types. They are
• Fundamental or primitive data types
• Derived data types
• User defined data types.

Dept.of ECE 2023-2024 11


Software developer-Intern

Figure-2.7: List of Data Types

2.8 Variables

Variable is an identifier which holds data or another one variable is an identifier whose value
can be changed at the execution time of program. Variable is an identifier which can be used
to identify input data in a program. It can also be defined as a named memory location which
is used to store values for the program.[12]

2.9 Operators And Its Types

Operator is a special symbol that tells the compiler to perform specific mathematical or logical
Operation. Java supports following lists of operators.
• Arithmetic Operators
• Relational Operators
• Logical Operators
• Bitwise Operators
• Assignment Operators
• Ternary or Conditional Operators

Dept.of ECE 2023-2024 12


Software developer-Intern

Arithmetic Operation
+,-,*,/,%
Comparision Operator
< >,= =, !=,< =, > =
Logical Operator
&&, ||,!,^
Increment and Decrement Operation
++,--

Dept.of ECE 2023-2024 13


Software developer-Intern

CHAPTER 3
PROGRAMMING CONCEPTS
3.1 Structure Of Java Program

Structure of a java program is the standard format released by Language developer to the
Industry programmer. Sun Micro System has prescribed the following structure for the java
programmers for developing java application.

Figure-3.1: structure of java program


A package is a collection of classes, interfaces and sub-packages. A sub package contains
collection of classes, interfaces and sub-sub packages etc. java.lang.*; package is imported by
default and this package is known as default package.
Class is keyword used for developing user defined data type and every java program must
start with a concept of class
3.2 Main( ) Method
Main() method is starting execution block of a java program or any java program start their
execution from main method. If any class contain main() method known as main class.[13]

Dept.of ECE 2023-2024 14


Software developer-Intern

Figure-3.2:Structure of main method

3.3 Decision Making Statements

Decision making statement statements is also called selection statement. That is depending on
the condition block need to be executed or not which is decided by condition. If the condition
is "true" statement block will be executed, if condition is "false" then statement block will not
be executed. In java there are three types of decision making statement.[14]
• if
• if-else
• switch case

3.4 Looping Statements

Looping statements are used to perform Repeated task. The statements written in the loop will
be executed multiple times continuously.
• For loop
• While loop
• Do-while loop
The statements within the For loop will be executed multiple time continuously. The statements
of the While loop will be executed repeatedly until the Boolean condition is “FALSE”. The
statements of Do-while loop are executed first and later the Boolean condition will be
evaluated.
3.5 Access modifiers
Access modifiers are those which are applied before data members or methods of a class.
These are used to where to access and where not to access the data members or methods. In
java programming we have four access modifiers they are:

Dept.of ECE 2023-2024 15


Software developer-Intern

Figure-3.3 Types of access modifiers


3.6 Java Useful Keywords

3.6.1 Final keyword


In java language final keyword can be used in following way.
• Final at variable level
• Final at method level
• Final at class level

3.6.2 Static keyword


The static keyword is used in java mainly for memory management. Static keyword is used with
variables, methods, blocks and nested class. Static is a keyword that are used for share the same variable
or method of a given class. This is used for a constant variable or a method that is the same for every
instance of a class. The main method of a class is generally labelled static.[15]
In java language static keyword can be used for following
1. variable (also known as class variable)
2. method (also known as class method)
3. block
4. nested class

3.6.3 This keyword


“this” is a reference variable that refers to the current object. It is a keyword in java language
represents current class object "this" keyword can be use in two ways.
• this . (this dot)
• this() (this off)

Dept.of ECE 2023-2024 16


Software developer-Intern

3.6.4 Super keyword


Super keyword in java is a reference variable that is used to refer parent class object. Super is
an implicit keyword create by JVM and supply each and every java program for performing
important role in three places.
• At variable level
• At method level
• At constructor level[16]

3.6.5 Synchronized Keyword


Synchronized Keyword is used for when we want to allow only one thread at a time then use
Synchronized modifier. If a method or block declared as a Synchronized then at a time only
one thread is allowed to operate on the given object.

3.7 JAVA CLASSES, BLOCKS AND CONSTRUCTORS

3.7.1 Abstract Classes


We know that every java program must start with a concept of class that is without classes
concept there is no java program perfect. In java programming we have two types of classes
they are
• Concrete class
• Abstract class

3.8 Constructor And Its Types


A constructor is a special member method which will be called implicitly (automatically) by
the JVM whenever an object is created for placing user or programmer defined values in place
of default values. In a single word constructor is a special member method which will be called
automatically whenever object is created.
The purpose of constructor is to initialize an object called object initialization. Constructors are
mainly create for initializing the object. Initialization is a process of assigning user defined
values at the time of allocation of memory space.[17]

Dept.of ECE 2023-2024 17


Software developer-Intern

3.8.1Types of constructors
Based on creating objects in Java constructor are classified in two types. They are:
• Default or no argument Constructor.
• Parameterized constructor.

3.9 Static Block in Java


Static block is a set of statements, which will be executed by the JVM before execution of main method.
At the time of class loading if we want to perform any activity we have to define that activity inside
static block because static block execute at the time of class loading. In a class we can take any number
of static block but all these static block will be execute from top to bottom.[18]

Dept.of ECE 2023-2024 18


Software developer-Intern

CHAPTER 4
OBJECT ORIENTED CONCEPTS
4.0 Relationship in Java
Type of relationship always makes to understand how to reuse the feature from one class to
another class. In java programming we have two types of relationship they are.
• Is-A Relationship
• Has-A Relationship

4.1 Inheritance
The process of obtaining the data members and methods from one class to another class is
known as inheritance. It is one of the fundamental features of object-oriented programming.
A class that is declared with abstract keyword, is known as abstract class. An abstract class is
one which is containing some defined method and some undefined method. In java
programming undefined methods are known as un-Implemented or abstract method. The
process of obtaining the data members and methods from one class to another class is known
as inheritance. It is one of the fundamental features of object-oriented programming.[19]

Types of Inheritance
• Single inheritance
• Multiple inheritance
• Hierarchical inheritance
• Multilevel inheritance
• Hybrid inheritance

Uses of Inheritance
• For Method Overriding (used for Runtime Polymorphism).
• It's main uses are to enable polymorphism and to be able to reuse code for different classes by putting
it in a common super class
• For code Re-usability

Dept.of ECE 2023-2024 19


Software developer-Intern

4.2 Method Overloading


Whenever same method name is exiting multiple times in the same class with different number
of parameter or different order of parameters or different types of parameters is known as
method overloading.

Uses of method Overloading


Suppose we have to perform addition of given number but there can be any number of
arguments, if we write method such as a(int, int)for two arguments, b(int, int, int) for three
arguments then it is very difficult for you and other programmer to understand purpose or
behaviours of method they can not identify purpose of method. So we use method overloading
to easily figure out the program. For example above two methods we can write sum(int, int)
and sum(int, int, int) using method overloading concept.[20]

Different ways to overload the method


There are two ways to overload the method in java
• By changing number of arguments or parameters
• By changing the data type
• By changing the order of arguments.

4.3 Method Overriding


Whenever same method name is existing in both base class and derived class with same types
of parameters or same order of parameters is known as method Overriding.
Advantages of Java Method Overriding
• Method Overriding is used to provide specific implementation of a method that is
already provided by its super class.
• Method Overriding is used for Runtime Polymorphism.
class Calculate {
void sum(int a, int b) {
System.out.println("sum is:" + (a + b));
}

void sum(float a, float b) {

Dept.of ECE 2023-2024 20


Software developer-Intern

System.out.println("sum is:" + (a + b));


}
}
Output:
sum is:15
sum is:6.0
4.4 Interface
Interface is similar to class which is collection of public static final variables (constants) and
abstract methods. The interface is a mechanism to achieve fully abstraction in java. There can
be only abstract methods in the interface. It is used to achieve fully abstraction and multi ple
inheritance in Java.[21]

1. interface <interface_name>{
2.
3. // declare constant fields
4. // declare methods that abstract
5. // by default.
6. }

Uses of Interface
• It is used to achieve fully abstraction.
• By using Interface, you can achieve multiple inheritance in java.

4.5 Abstraction
Abstraction is the concept of exposing only the required essential characteristics and behavior
with respect to a context. Hiding of data is known as data abstraction. In object oriented
programming language this is implemented automatically while writing the code in the form
of class and object.
// Abstract class Vehicle
abstract class Vehicle {
// Abstract method
abstract void run();

Dept.of ECE 2023-2024 21


Software developer-Intern

// Class Car extends Vehicle


class Car extends Vehicle {
// Implementation of abstract method
public void run() {
System.out.println("The car is running");
}
}

// Class Main
public class Main {
public static void main(String[] args) {
// Create an object of Car class
Car myCar = new Car();

// Call the run() method


myCar.run();
}
}
Output:
The car is running

4.6 Encapsulation
Encapsulation is a process of wrapping of data and methods in a single unit is called
encapsulation. Encapsulation is achieved in java language by class concept. Combining of state
and behaviour in a single container is known as encapsulation. In java language encapsulation
can be achieve using class keyword, state represents declaration of variables on attributes and
behaviour represents operations in terms of method.[22]
class BankAccount {
private int balance; // private variable
private String accountNumber; // private variable

Dept.of ECE 2023-2024 22


Software developer-Intern

private String ownerName; // private variable

public BankAccount(int balance, String accountNumber, String ownerName) {


this.balance = balance;
this.accountNumber = accountNumber;
this.ownerName = ownerName;
}

public int getBalance() { // getter method


return balance;
}

public void setBalance(int balance) { // setter method


this.balance = balance;
}

public String getAccountNumber() { // getter method


return accountNumber;
}

public void setAccountNumber(String accountNumber) { // setter method


this.accountNumber = accountNumber;
}

public String getOwnerName() { // getter method


return ownerName;
}

public void setOwnerName(String ownerName) { // setter method


this.ownerName = ownerName;
}
}

Dept.of ECE 2023-2024 23


Software developer-Intern

Output:
Account Number: 123456789
Owner Name: John Doe
Balance: 1000

Benefits of encapsulation
• Provides abstraction between an object and its clients.
• Protects an object from unwanted access by clients.

4.7 Polymorphism
The process of representing one form in multiple forms is known as Polymorphism. Here
original form or original method always resides in base class and multiple forms represents
overridden method which resides in derived classes. Polymorphism is not a programming
concept but it is one of the principal of OOPs. For many objects oriented programming
language polymorphism principle is common but whose implementations are varying from
oneobjects oriented programming language to another object oriented programming language.
Polymorphism principal is divided into two sub principal they are:
• Static or Compile time polymorphism
• Dynamic or Runtime polymorphism[23]

Compile Time Polymorphism


Binding method declaration to method definition by the compiler at the compile time based on
the argument is called Compile time polymorphism. Since the Binding is done before the
execution, it is called “early Binding”.
Since the Binding cannot be changed at the Run Time it is also called as “Static Binding”.
Run Time Polymorphism
Binding method declaration to method definition by JVM at the run time based on the objects
is called Run Time Polymorphism. Since the binding is done during the execution it is called
as “Late Binding”.
Since the binding can be changed at Run Time dynamically it is called as “Dynamic Binding”.
class Animal {
void makeSound() {

Dept.of ECE 2023-2024 24


Software developer-Intern

System.out.println("Animal sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Woof!");
}
}
Output:
Woof!

Dept.of ECE 2023-2024 25


Software developer-Intern

CHAPTER 5
ADVANCED JAVA

5.0 Package
A package is a collection of similar types of classes, interfaces and sub-packages.

5.0.1 Purpose of the Package


The purpose of package concept is to provide common classes and interfaces for any program
separately. In other words if we want to develop any class or interface which is common for
most of the java programs than such common classes and interfaces must be place in a package.

Figure-5.1: Different java packages


5.1 Exception Handling
The process of converting system error messages into user friendly error message is known as Exception
handling. This is one of the powerful feature of Java to handle run time error and maintain normal flow
of java application.
An Exception is an event, which occurs during the execution of a program, that disrupts the normal
flow of the program's Instructions.
Type of Exception
• Checked Exception
• Un-Checked Exception[24]
Exceptions in Java
Exception Handling in Java is one of the effective means to handle runtime errors so that the
regular flow of the application can be preserved. Java Exception Handling is a mechanism to

Dept.of ECE 2023-2024 26


Software developer-Intern

handle runtime errors such as Class Not Found Exception, IO Exception, SQL Exception,
Remote Exception, etc.

What are Java Exceptions?


In Java, Exception is an unwanted or unexpected event, which occurs during the execution of
a program, i.e. at run time, that disrupts the normal flow of the program’s instructions.
Exceptions can be caught and handled by the program. When an exception occurs within a
method, it creates an object. This object is called the exception object. It contains information
about the exception, such as the name and description of the exception and the state of the
program when the exception occurred.

Major reasons why an exception Occurs


• Invalid user input
• Device failure
• Loss of network connection
• Physical limitations (out-of-disk memory)
• Code errors
• Opening an unavailable file
Errors represent irrecoverable conditions such as Java virtual machine (JVM) running out of
memory, memory leaks, stack overflow errors, library incompatibility, infinite recursion, etc.
Errors are usually beyond the control of the programmer, and we should not try to handle errors.

Difference between Error and Exception


Let us discuss the most important part which is the differences between Error and Exception
that is as follows:
Error: An Error indicates a serious problem that a reasonable application should not try to
catch.
Exception: Exception indicates conditions that a reasonable application might try to catch.[25]

Exception Hierarchy

Dept.of ECE 2023-2024 27


Software developer-Intern

All exception and error types are subclasses of the class Throwable, which is the base class of
the hierarchy. One branch is headed by Exception. This class is used for exceptional conditions
that user programs should catch. Null Pointer Exception is an example of such an exception.
Another branch, Error is used by the Java run-time system(JVM) to indicate errors having to
do with the run-time environment itself(JRE). Stack Over flow Error is an example of such an
error.[26-30]
Hierarchy of Exception classes

Figure-5.2: hierarchy of exception classes


//program to print the exception information using printStackTrace() method

import java.io.*;

class GFG {
public static void main (String[] args) {
int a=5;
int b=0;
try{
System.out.println(a/b);
}
catch(ArithmeticException e){
e.printStackTrace();

Dept.of ECE 2023-2024 28


Software developer-Intern

}
}
}

Output:
java.lang.ArithmeticException: / by zero
at GFG.main(GFG.java:7)

5.2 Multithreading
Multithreading in java is a process of executing multiple threads simultaneously. The aim of
multithreading is to achieve the concurrent execution.
5.3 Thread
Thread is a lightweight components and it is a flow of control. In other words a flow of control
is known as thread.
public class MultithreadingDemo {
public static void main(String[] args) {
// Create two threads
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread 1 is running...");
}
});

Thread thread2 = new Thread(new Runnable() {


@Override
public void run() {
System.out.println("Thread 2 is running...");
}
});

Dept.of ECE 2023-2024 29


Software developer-Intern

// Start the threads


thread1.start();
thread2.start();

// Wait for the threads to finish


try {
thread1.join();
thread2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}

System.out.println("All threads are finished...");


}
}
Output:
Thread 1 is running...
Thread 2 is running...
All threads are finished...
5.4 STRING
String is a sequence of characters enclosed within double quotes (" ") is known as String.
Example: "Java Programming". In java programming to store the character data we have a
fundamental datatype called char. Similarly to store the string data and to perform various
operation on String data, we have three predefined classes they are:
• String
• String Buffer
• String Builder[30-37]

5.5 COLLECTION
Collections in java is a framework that provides an architecture to store and manipulate the
group of objects. All the operations that you perform on a data such as searching, sorting,
insertion, manipulation, deletion etc. can be performed by Java Collections. Java Collection

Dept.of ECE 2023-2024 30


Software developer-Intern

simply means a single unit of objects. Java Collection framework provides many interfaces
(Set, List, Queue, Deque etc.) and classes
ArrayList
import java.util.*;
class TestJavaCollection1{
public static void main(String args[]){
ArrayList<String> list=new ArrayList<String>();//Creating arraylist
list.add("Ravi");//Adding object in arraylist
list.add("Vijay");
list.add("Ravi");
list.add("Ajay");
//Traversing list through Iterator
Iterator itr=list.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ravi
Ajay
Vector
import java.util.*;
public class TestJavaCollection3{
public static void main(String args[]){
Vector<String> v=new Vector<String>();
v.add("Ayush");
v.add("Amit");
v.add("Ashish");
v.add("Garima");

Dept.of ECE 2023-2024 31


Software developer-Intern

Iterator<String> itr=v.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ayush
Amit
Ashish
Garima
LinkedList
import java.util.*;
public class TestJavaCollection2{
public static void main(String args[]){
LinkedList<String> al=new LinkedList<String>();
al.add("Ravi");
al.add("Vijay");
al.add("Ravi");
al.add("Ajay");
Iterator<String> itr=al.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ravi
Ajay

Dept.of ECE 2023-2024 32


Software developer-Intern

HashSet
import java.util.*;
public class TestJavaCollection7{
public static void main(String args[]){
//Creating HashSet and adding elements
HashSet<String> set=new HashSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
//Traversing elements
Iterator<String> itr=set.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ajay
LinkedHashSet
import java.util.*;
public class TestJavaCollection8{
public static void main(String args[]){
LinkedHashSet<String> set=new LinkedHashSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
Iterator<String> itr=set.iterator();
while(itr.hasNext()){

Dept.of ECE 2023-2024 33


Software developer-Intern

System.out.println(itr.next());
}
}
}
Output:
Ravi
Vijay
Ajay
TreeSet
import java.util.*;
public class TestJavaCollection9{
public static void main(String args[]){
//Creating and adding elements
TreeSet<String> set=new TreeSet<String>();
set.add("Ravi");
set.add("Vijay");
set.add("Ravi");
set.add("Ajay");
//traversing elements
Iterator<String> itr=set.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
}
}
Output:
Ajay
Ravi
Vijay

Dept.of ECE 2023-2024 34


Software developer-Intern

CHAPTER 6
PROJECT UNDERTAKEN
6.1 Multi factor authentication file protecting system using cloud computing
Multi-factor authentication (MFA) is a security measure that uses two or more authentication
factors to verify a user's identity, in addition to a username and password. MFA is a critical
tool for protecting cloud services and applications, and can help prevent identity breaches. The
number of authentication factors varies depending on the security framework's architecture and
the required security level .
MFA solutions can include:
• Knowledge: A password or PIN
• Possession: A badge or smartphone
• Inherence: Biometric like fingerprints or voice recognition
Other MFA factors include:
• A token-based authenticator, such as a smart card or key fob
• A one-time password, push notification, or SMS code delivered to a mobile app
• A code sent to an email
• A secret question
MFA can help protect digital assets and eliminate issues around identity thefts. It also verifies
that only authorized cloud users are able to access cloud apps, data, services, and resources .
Multi-factor authentication (MFA) is a powerful identity and access management (IAM) tool
for protecting cloud services and other applications from data breaches. An MFA solution
requires users to authenticate using two or more verification methods.
Implementing a multi-factor authentication (MFA) file protection system using cloud
computing in Java involves several components, including user authentication, file encryption,
cloud storage, and MFA verification. Below is a basic outline of how you might structure such
a system:
1. User Registration and Authentication: Implement a user registration and
authentication system. You can use a relational database or any other storage
mechanism to store user credentials securely.

Dept.of ECE 2023-2024 35


Software developer-Intern

2. File Encryption and Decryption: Implement methods to encrypt and decrypt files.
You can use symmetric encryption algorithms like AES for this purpose. Each user
should have a unique encryption key.
3. Cloud Storage Integration: Integrate with a cloud storage service like Amazon S3 or
Google Cloud Storage to store encrypted files. You'll need to implement methods to
upload, download, and delete files from the cloud storage.
4. Multi-Factor Authentication: Implement MFA mechanisms such as OTP (One-Time
Password), biometric verification, or any other method you prefer. This adds an
additional layer of security to the system.
5. Java Application Structure: Organize your Java application into classes and
packages. Here's a basic structure you might use:

6.2 Block Diagram

Figure-6.1 Block diagram of MFA

Dept.of ECE 2023-2024 36


Software developer-Intern

A multi-factor authentication (MFA) block diagram shows that a user needs more than a
password to log in to an account, such as a phone or fingerprint. MFA is a multi-step process
that requires users to provide two or more pieces of information to authenticate. This can
include:
Knowledge: Something you can remember, type, say, or do
Possession: A physical object you have, such as a hardware token
Inherence: A unique body part, such as a fingerprint, that can be used for authentication
Multi-factor authentication (MFA) is a multi-step account login process that requires users to
enter more information than just a password. For example, along with the password, users
might be asked to enter a code sent to their email, answer a secret question, or scan a fingerprint.
A second form of authentication can help prevent unauthorized account access if a system
password has been compromised.
Digital security is critical in today's world because both businesses and users store sensitive
information online. Everyone interacts with applications, services, and data that are stored on
the internet using online accounts. A breach, or misuse, of this online information could have
serious real-world consequences, such as financial theft, business disruption, and loss of
privacy.
While passwords protect digital assets, they are simply not enough. Expert cybercriminals try
to actively find passwords. By discovering one password, access can potentially be gained to
multiple accounts for which you might have reused the password. Multi-factor authentication
acts as an additional layer of security to prevent unauthorized users from accessing these
accounts, even when the password has been stolen. Businesses use multi-factor authentication
to validate user identities and provide quick and convenient access to authorized users.
Reduces security risk

Multi-factor authentication minimizes risks due to human error, misplaced passwords, and
lost devices.

Enables digital initiatives

Dept.of ECE 2023-2024 37


Software developer-Intern

Organizations can undertake digital initiatives with confidence. Businesses use multi -factor
authentication to help protect organizational and user data so that they can carry out online
interactions and transactions securely.

Improves security response

Companies can configure a multi-factor authentication system to actively send an alert


whenever it detects suspicious login attempts. This helps both companies and individuals to
respond faster to cyberattacks, which minimizes any potential damage.

Multi-factor authentication works by requesting multiple forms of ID from the user at the time
of account registration. The system stores this ID and user information to verify the user for
next login. The login is a multi-step process that verifies the other ID information along with
the password.

We describe the steps in the multi-factor authentication process below:

Registration

A user creates the account with username and password. They then link other items, such as a
cell phone device or physical hardware fob, to their account. The item might also be virtual,
such as an email address, mobile number, or authenticator app code. All these items help to
uniquely identify the user and should not be shared with others.

Authentication

When a user with MFA-enabled logs into a website, they are prompted for their username and
password (the first factor–what they know), and an authentication response from their MFA
device (the second factor–what they have).

If the system verifies the password, it connects to the other items. For example, it may issue a
number code to the hardware device or send a code by SMS to the user's mobile device.

Dept.of ECE 2023-2024 38


Software developer-Intern

Reaction

The user completes the authentication process by verifying the other items. For example, they
might enter the code they have received or press a button on the hardware device. The user gets
access to the system only when all the other information is verified.

Implementation of the process

Multi-factor authentication might be implemented in different ways. These are some examples:

The system asks for just the password and one more ID, called two-factor authentication or
two-step authentication.

Instead of the system, a third-party application called an authenticator verifies the user's
identity. The user enters the passcode into the authenticator, and the authenticator confirms the
user to the system.

During verification, the user enters biometric information by scanning a fingerprint, retina, or
other body part.

The system may request multiple authentications only when you access it for the first time on
a new device. After that, it will remember the machine and ask only for your password.

What are examples of multi-factor authentication?

We give some examples of how businesses can use multi-factor authentication below:

Remote access to employees

A company wants to give remote resource access to its employees. It can set up multi -factor
authentication requiring login, a hardware fob, and a fingerprint scan on company-issued
laptops that the employees take home. Based on the employee's IP address, the company can
set rules that the employee needs to use two-factor authentication when working from home.
However, the company may require three-factor authentication when the employee is working
on any other wifi network.

Dept.of ECE 2023-2024 39


Software developer-Intern

System access to on-site employees only

A hospital wants to give access to its health applications and patient data to all its employees.
The hospital gives the employees a proximity badge to access these applications while they are
at work. At the start of each shift, the employee has to log in and tap the badge to a central
system. During the shift, they can access all resources with a single tap of the badge, without
more login requirements. At the end of the shift, the single tap access rights end. This
minimizes the risk of unauthorized access due to lost badges.

What are the multi-factor authentication methods?

MFA authentication methods are based on something you know, something you have and/or
something you are. We describe some common authentication factors below:

Knowledge factor

In the knowledge factor method, users have to prove their identity by revealing information no
one else knows. A typical example of this authentication factor is secret questions with answers
only the user would know, such as the name of their first pet or their mother's maiden name.
Applications may also request access to a four-digit pin code.

These methods are secure only as long as no one else discovers the secret information.
Criminals might investigate the user's personal history or trick them into revealing this
information. Pin codes can also be cracked using a brute-force method that guesses every four-
digit number combination possible.

Possession factor

In the possession factor method, users identify themselves by something they uniquely own.
Here are some examples:

Dept.of ECE 2023-2024 40


Software developer-Intern

Physical devices like mobile phones, security tokens,display cards, hardware fobs, and security
keys.

Digital assets like email accounts and authenticator applications

The system sends a secret code as a digital message to these devices or assets, which the user
then re-enters into the system. The account can be compromised if the device is lost or stolen.
Some security tokens circumvent this problem by connecting directly to the system so that they
cannot be digitally accessed.

Inherence factor

Inherence methods use information that is inherent to the user. These are a few examples of
such authentication factors:

• Fingerprint scans
• Retina scans
• Voice recognition
• Facial recognition
• Behavioural biometrics like keystroke dynamics

The application has to collect and store this information along with the password during
registration. The business managing the application has to protect biometrics along with
passwords.

6.3 Software system

Device name:LAPTOP-IMO1U7PM

Processor:12th Gen Intel(R) Core(TM) i5-1240P 1.70 GHz

Installed:RAM8.00 GB (7.68 GB usable)

Device :IDBE5448F7-E8F5-47F8-972B-F51FDC58664F

Dept.of ECE 2023-2024 41


Software developer-Intern

Product ID:00356-24613-75293-AAOEM

System type:64-bit operating system, x64-based processor

Pen and touch Touch support with 256 touch points

Edition:Windows 11 Home Single Language

Version:22H2

Installed on:13-10-2022

OS build:22621.3374

Experience:Windows Feature Experience Pack 1000.22688.1000.0

Software used:Eclipse

6.4 Execution

Code

package com.yourcompany.mfafileprotect;

public class User {


private String username;
private String password;
// Other user details

// Constructor, getters, setters, etc.


}

public class FileEncryptor {


public static byte[] encrypt(byte[] fileData, String encryptionKey) {

Dept.of ECE 2023-2024 42


Software developer-Intern

// Implement file encryption using AES or any other algorithm


}

public static byte[] decrypt(byte[] encryptedFileData, String encryptionKey) {


// Implement file decryption using AES or any other algorithm
}
}

public class CloudStorageService {


public void uploadFile(String fileName, byte[] fileData) {
// Implement file upload to cloud storage
}

public byte[] downloadFile(String fileName) {


// Implement file download from cloud storage
}

public void deleteFile(String fileName) {


// Implement file deletion from cloud storage
}
}

public class MFAService {


public boolean verifyOTP(String username, String otp) {
// Implement OTP verification
}

// Other MFA verification methods


}

public class Main {


public static void main(String[] args) {

Dept.of ECE 2023-2024 43


Software developer-Intern

// Main method to demonstrate the usage of the system


}
}

Figure-6.2: verification using MFA

Dept.of ECE 2023-2024 44


Software developer-Intern

6.5 Results And Discussion

Figure-6.3 steps in MFA

Multi-factor authentication (MFA) can reduce the risk of security breaches by up to 99.9%
compared to passwords alone. It can also reduce the risk of compromise by 99.22% overall and
by 98.56% when credentials are leaked. MFA uses a combination of something you have,
something you know, or something you are to confirm your identity online.
Here are some benefits of MFA:
• Increased protection
MFA can help protect valuable assets like data, time, and money from security breaches.
• Defense in depth
MFA uses multiple layers of security so that if one layer is compromised, the others can provide
a backup.
• Data protection
MFA can help ensure that personal data stored or processed by an organization is secure from
cyber threats.
• Enables digital initiatives
MFA can help organizations undertake digital initiatives with confidence.
• Increased productivity
MFA can allow employees to easily and securely access resources using mobile devices, which
can increase productivity.
However, MFA can also have some disadvantages, such as:
• Users might forget the answers to security questions
• Hardware tokens can get lost or stolen

Dept.of ECE 2023-2024 45


Software developer-Intern

• MFA verification can fail if there's a network or internet outage

• Requires a phone to get a text message code.

• Hardware tokens can get lost or stolen.

• Phones can get lost or stolen.

• The biometric data calculated by MFA algorithms for personal IDs, such as
thumbprints, aren't always accurate and can create false positives or negatives.

• MFA verification can fail if there's a network or internet outage.

• MFA techniques must constantly be upgraded to protect against cybercriminals who


work incessantly to break them.

1. Overview of the Project

Briefly summarize the goals and objectives of your MFA project.

Highlight the medium or mediums used in your work (e.g., painting, sculpture, performance
art, digital media).

2. Presentation of Artifacts

Provide a detailed presentation of the artworks or artifacts created during your MFA
project.

Describe the techniques, materials, and processes used in creating each piece.

Include high-quality images or visual aids to illustrate your work.

3. Analysis of Themes and Concepts

Discuss the overarching themes, concepts, or ideas explored in your artwork.

Explain the inspiration behind your creative process and how it evolved throughout the
project.

Explore any recurring motifs, symbols, or narratives present in your work.

4. Reflection on Process

Reflect on your artistic process, including challenges faced and breakthroughs achieved.

Dept.of ECE 2023-2024 46


Software developer-Intern

Discuss any experimentation or exploration of new techniques or styles.

Consider how your creative process was influenced by external factors such as research,
feedback, or personal experiences.

5. Engagement with Context

Situate your artwork within the broader cultural, social, or historical context.

Discuss any relevant influences from art movements, contemporary issues, or cultural
identities.

Reflect on how your work contributes to ongoing dialogues or debates within the art world.

6. Evaluation of Outcomes

Assess the success of your MFA project in relation to its original goals and objectives.

Consider the reception of your work by audiences, peers, and critics.

Reflect on what you have learned from the process and how it has contributed to your
artistic growth.

7. Future Directions

Explore potential avenues for further exploration or development of your artistic practice.

Discuss how your MFA project has influenced your future ambitions or projects.

Consider how you might continue to engage with the themes or concepts explored in your
work.

8. Conclusion

Summarize the key findings, insights, and contributions of your MFA project.

Reiterate the significance of your work within the context of your artistic practice and the
broader art world.

Remember to support your discussion with evidence from your artwork, research, and
critical analysis. Additionally, consider the specific requirements or expectations of your
MFA program when structuring your results and discussion section.

Dept.of ECE 2023-2024 47


Software developer-Intern

CHAPTER 7
CONCLUSION
Information Technology in India is one of the fastest growing industries in the country and it has
built very valuable brand equality for itself in global markets. It mainly consists of Two major
Components IT services and Business process outsourcing, This sector has increased its
contribution to India’s GDP from 1.2% in 1998 to 77% in 2017. The United States accounts for
Two-Thirds of India’s IT services exports. IT Industry plays a vital Role improving the economy
and standards of the country. IT Sector also provides wide opportunities to graduated student by
providing them employment and we also know that programming Languages play a vital role in IT
Sector.
Java is an object-oriented programming language. It is a general-purpose programming
language, mainly designed to run developed java code on all platforms that support Java
without recompilation.
As we all know, Java is one of the most popular and in-demand programming languages to
learn and it was one of the first languages to standardise high-level threading utilities.
Java project is a must for aspiring developers. This project helps developers develop real -world
projects to hone their skills and materialise their theoretical knowledge into practical
experience. Java has significant advantages both as a commercial language and also as a
teaching language. Java project provides rigorous compile-time error checking typically
associated with Pascal, allowing instructors to introduce students to GUI programming,
networking, threads, and other important concepts used in modern-day software. Overall, the
java project gives a complete design for the extended language.
This internship has been an excellent and rewarding experience. I can conclude that there have
been a lot I’ve learnt from my work at Cemosis. Needless to say, the technical aspects of the
work I’ve done are not flawless and could be improved provided enough time. As someone
with no prior experience with Node.js whatsoever I believe my time spent in research and
discovering it was well worth it and contributed to finding an acceptable solution to build a
fully fonctional web service. Two main things that I’ve learned the importance of are time-
management skills and self-motivation.

Dept.of ECE 2023-2024 48


Software developer-Intern

References

[1] Khan, M.K., Kumari, S.: An Authentication Scheme for Secure Access to Healthcare
Services. Journal of Medical Systems. 37(4), 9954-9954
(2013). https://doi.org/10.1007/s10916-013-9954-3.

[2] Mishra, D., Srinivas, J., Mukhopadhyay, S.: A Secure and Efficient Chaotic Map-Based
Authenticated Key Agreement Scheme for Telecare Medicine Information Systems. Journal
of Medical Systems. 38 (10), 120-120 (2014). https://doi.org/10.1007/s10916-014-0120-3.

[3] Seifert, D., Reza, H.: A Security Analysis of Cyber-Physical Systems Architecture for
Healthcare. Computers. 5(4), 27-27 (2016). https://doi.org/10.3390/computers5040027

[4] Cheddad, A, Condell, J, Curran, K., McKevitt, P.: A hash-based image encryption
algorithm. Optics Communications. 283(6), 879-893 (2010).

[5] Ogini, N., Ogwara, N.: Securing Database passwords using a combination of hashing and
salting techniques. IPASJ International Journal of Computer Science (IIJCS). 2(8), 52-58
(2014).

[6] Sriramya, P., Karthika, R.A.: Providing password security by salted password hashing
using bcrypt algorithm. ARPN journal of engineering and applied sciences. 10(13). 5551-
5556 (2015).

[8] Lakshmanan, T., Muthusamy, M.: A Novel Secure Hash Algorithm for Public Key Digital
Signature Schemes. 9 (2012).

[9] Amin, R., Biswas, G.P.: Remote Access Control Mechanism Using Rabin Public Key
Cryptosystem. 525-533(2015).

[10] Bao, L.: Location Authentication Methods for Wireless Network Access Control. IEEE
International Performance, Computing and Communications Conference. 160-167 (2008).

[11] Manoharan, S.: On GPS Tracking of Mobile Devices. In 2009 Fifth International
Conference on Networking and Services. 415-418 (2009).

Dept.of ECE 2023-2024 49


Software developer-Intern

[12] Michael, K, McNamee, A., Michael, M.G.: The Emerging Ethics of Humancentric GPS
Tracking and Monitoring. In 2006 International Conference on Mobile Business. 34-34
(2006).

[13] Mohamad, O.A., Hameed, R.T., Tapus, N.: Design and implementation of real time
tracking system based on Arduino Intel Galileo', in 2016 8th International Conference on
Electronics, Computers and Artificial Intelligence (ECAI). 1-6 (2016).

[14] Roxin, A., Gaber, J., Wack, M., Nait-Sidi-Moh, A.: Survey of Wireless Geolocation
Techniques. In 2007 IEEE Globecom Workshops. pp. 1-9 (2007).

[15] Roxin, A., Gaber, J., Wack, M., Nait-Sidi-Moh, A.: Survey of Wireless Geolocation
Techniques. In 2007 IEEE Globecom Workshops. 1-9 (2007).

[16] Mulla, A., Baviskar, J., Baviskar, A., Bhovad, A.: GPS assisted Standard Positioning
Service for navigation and tracking: Review &amp; implementation. In 2015 International
Conference on Pervasive Computing (ICPC). 1-6 (2015).

[17] Michael, K., McNamee, A., Michael, M.G.: The Emerging Ethics of Humancentric GPS
Tracking and Monitoring. In 2006 International Conference on Mobile Business. 34-34
(2006)

[18] Siddiqui, Z., Abdullah, A.H., Khan, M.K., Alghamdi, A.S.: Smart Environment as a
Service: Three Factor Cloud Based User Authentication for Telecare Medical Information
System. Journal of Medical Systems. 38(1). 9997-9997 (2014). https://doi.org/10.1007/s10916-
013-9997-5

[19] Ali, R., Pal, A.K.: Three-Factor-Based Confidentiality-Preserving Remote User


Authentication Scheme in Multi-server Environment. Arabian Journal for Science and
Engineering. 42(8), 3655-3672 (2017). D.O.I. 10.1007/s13369-017-2665-1

[20] Jiang, Q., Khan, M.K., Lu, X., Ma, J., He, D.: A privacy preserving three -factor
authentication protocol for e-Health clouds. The Journal of Supercomputing. 72(10), 3826-
3849 (2016). https://doi.org/10.1007/s11227-015-1610-x

Dept.of ECE 2023-2024 50


Software developer-Intern

[21] Limbasiya, T., Soni, M., Mishra, S.K.: Advanced formal authentication protocol using
smart cards for network applicants. Computers & Electrical Engineering. 66, 50-63
(2018). https://doi.org/10.1016/j.compeleceng.2017.12.045

[22] Singh, A., Chatterjee, K.: A secure multi-tier authentication scheme in cloud computing
environment. In 2015 International Conference on Circuits, Power and Computing
Technologies [ICCPCT-2015]. 1-7 (2015).

[23] Sridhar, S., Smys, S.: A hybrid multilevel authentication scheme for private cloud
environment. In 2016 10th International Conference on Intelligent Systems and Control
(ISCO). 1-5 (2016).

[24] Wang, M., Abbass, H.A., Hu, J.: Continuous authentication using EEG and face images
for trusted autonomous systems. In 2016 14th Annual Conference on Privacy, Security and
Trust (PST). 368-375 (2016).

[25] Vegh, L.: Cyber-physical systems security through multi-factor authentication and data
analytics. In 2018 IEEE International Conference on Industrial Technology (ICIT). 1369-1374
(2018).

[26] Maninder, S., Sarbjeet, S.: Design and Implementation of Multi-tier Authentication
Scheme in Cloud. International Journal of Computer Science. 9(5), 1694-0814 (2012).

[27] Maninder, S., Sarbjeet, S.: Design and Implementation of Multi-tier Authentication
Scheme in Cloud. International Journal of Computer Science. 9(5), 1694-0814 (2012).

[28] Konstantinou, C., Maniatakos, M., Saqib, F., Hu, S., Plusquellic, J., Jin, Y.: Cyber-physical
systems: A security perspective. In 2015 20th IEEE European Test Symposium (ETS), pp. 1-8
(2015).

[29] Lallie, HS, Shepherd, L.A.: Nurse, J.R.C., Erola, A., Epiphaniou, G., Maple, C., Bellekens,
X.: Cyber security in the age of COVID-19: A timeline and analysis of cyber-crime and cyber-
attacks during the pandemic. Computers & Security. 105, 102248-102248
(2021). https://doi.org/10.1016/j.cose.2021.102248

Dept.of ECE 2023-2024 51


Software developer-Intern

[30] Lim, S.Y., Kiah, M.M., Ang, T.F.: Security Issues and Future Challenges of Cloud Service
Authentication. ActaPolytechnicaHungarica. 14(2)
(2017 https://doi.org/10.12700/aph.14.2.2017.2.4

[31] Moller, D.P.F., Vakilzadian, H.: Cyber-physical systems in smart transportation.In 2016
IEEE International Conference on Electro Information Technology (EIT). 0776-0781 (2016).

[32] Rathore, H., Mohamed, A., Guizani, M.: A Survey of Blockchain Enabled Cyber-Physical
Systems. Sensors. 20(1), 282-282 (2020). https://doi.org/10.3390/s20010282

[33] Sengan, S.V. S., Nair, S.K., V.I. J. M., Ravi, L.: Enhancing cyber–physical systems with
hybrid smart city cyber security architecture for secure public data-smart network. Future
Generation Computer Systems. 112, 724-737
(2020). https://doi.org/10.1016/j.future.2020.06.028

[34] Vegh, L.: Cyber-physical systems security through multi-factor authentication and data
analytics. In 2018 IEEE International Conference on Industrial Technology (ICIT). 1369-1374
(2018).

[35] Moller, D.P.F., Vakilzadian, H.: Cyber-physical systems in smart transportation. In 2016
IEEE International Conference on Electro Information Technology (EIT). 0776-0781 (2016).

[36] Ragaventhiran J., Vigneshwaran P., Prabu Ramadoss, Prisma Megantoro: An


Unsupervised Malware Detection System for Windows Based System Call Sequences.
Malaysian Journal of Computer Science, Special Issue on Computing, Communication and
Cyber Physical Systems. 79-92 (2022). https://doi.org/10.22452/mjcs. sp2022no2.7

[37] Mishra, A., Pandi, V.: Intrusion Detection Using Feed-Forward Neural Network. In: So-
In, C., Londhe, N.D., Bhatt, N., Kitsing, M. (eds) Information Systems for Intelligent Systems
.Smart Innovation, Systems and Technologies. 324 (2023). Springer,
Singapore. https://doi.org/10.1007/978-981-19-7447-2_9.

Dept.of ECE 2023-2024 52

You might also like