EOI3 Java Intern - Saurabh Tiwari
EOI3 Java Intern - Saurabh Tiwari
On
Bachelor of Technology
In
“DATA SCIENCE”
Submitted to
Submitted by
i
ACKNOWLEDGEMENT
It gives me immense pleasure to express my deepest sense of gratitude and sincere thanks to
my supervisors (Mr. Umesh Joshi), Training Head, Department of Training, Oriental College
of Technology for their valuable guidance encouragement and help during internship.
Saurabh Tiwari
0126CD201054
ii
Phone No.-0755-2529015, 2529016
Fax: 0755-2529472
E-mail: [email protected]
Website: http://www.oriental.ac.in/oct-bhopal/
CANDIDATE’S DECLARATION
I hereby declare that the Internship report on Java Programming Language which
is being presented here for the partial fulfilment of the requirement of Degree
of “Bachelor of Technology” has been carried out at Oriental College of Technology
. The technical information provided in this report is presented with due permission
of the authorities from the providing internship organization.
Signature of Student
Name of Student: Saurabh Tiwari
Registration No.:
0126CD201054
iii
Phone No.-0755-2529015, 2529016
Fax: 0755-2529472
E-mail: [email protected]
Website: http://www.oriental.ac.in/oct-bhopal/
CERIFICATE OF INSTITUTE
This is to certify that Mr. / Ms. Saurabh Tiwari of B. Tech. Data Science Department
Enrolment No. 0126CD201054 has completed / partially completed / not completed his /
her Internship during the academic year 2022-2023 as partial fulfillment of the Bachelor of
Technology in Data Science.
iv
INTERNSHIP CERTIFICATE
v
LIST OF FIGURES
Figure 1 ................................................................................................................................................... 5
Figure 2 ................................................................................................................................................... 5
Figure 3 ................................................................................................................................................... 6
Figure 4 ................................................................................................................................................... 7
Figure 5 ................................................................................................................................................... 8
Figure 6 ................................................................................................................................................... 9
Figure 8 ................................................................................................................................................. 10
Figure 7 ................................................................................................................................................... 9
Figure 9 ................................................................................................................................................. 11
Figure 10 ............................................................................................................................................... 15
Figure 11 ............................................................................................................................................... 17
Figure 12 ............................................................................................................................................... 18
Figure 13 ............................................................................................................................................... 20
Figure 14 ............................................................................................................................................... 21
Figure 15 ............................................................................................................................................... 21
Figure 16 ............................................................................................................................................... 22
Figure 17 ............................................................................................................................................... 22
Figure 18 ............................................................................................................................................... 23
Figure 19 ............................................................................................................................................... 23
Figure 20 ............................................................................................................................................... 24
Figure 21 ............................................................................................................................................... 24
Figure 22 ............................................................................................................................................... 25
Figure 23 ............................................................................................................................................... 25
Figure 24 ............................................................................................................................................... 26
Figure 25 ............................................................................................................................................... 26
Figure 26 ............................................................................................................................................... 27
vi
ABSTRACT
This report describes my internship at Centre for Research and Industrial Staff Performance
(SUVEN CONSULTANTS AND TECHNOLOGY PVT LTD). SUVEN CONSULTANTS AND
TECHNOLOGY PVT LTD is a leading company operating in imparting training in popular
technologies, behavioral skills, Entrepreneurship development ,software application development
and technical consultancy.
The scope of this document is to identify and describe the analysis carried out, projects completed,
experience gained and focuses on the achievement as a Java intern.
Rajiv Gandhi Proudyogiki Vishwavidyalaya provides that glorious opportunity to their students of
having an internship within their bachelor program.
Overall, I am very satisfied with the results of my internship. I was able to use my data science
knowledge and apply it in a real organization working in a real-life problem. I was able to see some
differences in functioning that resulted from my efforts. Due to the character of the internship and
the short time period spent at SUVEN CONSULTANTS AND TECHNOLOGY PVT LTD, I took
this experience as an opportunity to provide SUVEN CONSULTANTS AND TECHNOLOGY
PVT LTD with the skills which I learned while a computer science student at Rajiv Gandhi
Proudyogiki Vishwavidyalaya.
vii
Contents
ACKNOWLEDGEMENT ....................................................................................................................... ii
CANDIDATE’S DECLARATION ........................................................................................................ iii
CERIFICATE OF INSTITUTE .............................................................................................................. iv
INTERNSHIP CERTIFICATE ................................................................................................................ v
FIRM CONSENT LETTER.................................................................................................................... vi
LIST OF FIGURES ............................................................................................................................... vii
ABSTRACT ......................................................................................................................................... viii
1. INTRODUCTION ........................................................................................................................... 1
2. ORGANIZATION ........................................................................................................................... 2
3. LEARNING AS INTERN................................................................................................................ 3
3.1 Supervision Introduction .......................................................................................................... 3
3.2 Knowledge and Skills Acquired ..................................................................................................... 4
3.2.1 Overview of java ..................................................................................................................... 4
3.2.2 JRE ......................................................................................................................................... 4
3.2.3 JVM ........................................................................................................................................ 4
3.2.4 Garbage collector .................................................................................................................... 4
3.2.5 API ......................................................................................................................................... 4
3.2.6 JIT .......................................................................................................................................... 5
3.2.7 Features of java ....................................................................................................................... 5
3.2.8 Java classpath setting .............................................................................................................. 5
3.2.9 Steps For Compiling and Executing Programs.......................................................................... 6
3.2.10 Difference Between JDK,JRE AND JVM............................................................................... 6
3.2.11 Class & Object ...................................................................................................................... 7
3.2.12 Data types ............................................................................................................................. 8
3.2.13 Variable ................................................................................................................................ 8
3.2.14 Operators And Its Types ........................................................................................................ 8
3.2.15 Structure Of Java Program ..................................................................................................... 9
3.2.16 Main( ) Method ..................................................................................................................... 9
3.2.17.Decision Making Statement ................................................................................................. 10
3.2.18 Looping Statement .............................................................................................................. 10
3.2.19 Wrapper Classes .................................................................................................................. 10
3.2.20 Access modifiers ................................................................................................................. 10
3.2.21 JAVA USEFUL KEYWORDS ............................................................................................ 11
3.2.22 JAVACLASSES, BLOCKS AND CONSTRUCTORS ........................................................ 12
3.2.23 Relationship in Java ............................................................................................................. 13
3.2.24 JAVAOBJECT ORIENTED................................................................................................ 13
3.2.25 JAVAADVANCED ............................................................................................................ 17
viii
3.3 Projects Undertaken ..................................................................................................................... 20
3.3.1 Project Code.......................................................................................................................... 21
3.3.2 Introduction of Project ........................................................................................................... 27
3.3.3 Formulation of Problem......................................................................................................... 27
3.3.4 Literature Survey/Project Design ........................................................................................... 28
3.3.5 How is Interest Calculated on Personal Loans? ...................................................................... 28
3.3.6 CONCLUSION AND FUTURE ENHANCEMENT .............................................................. 28
3.4 Roles and Responsibilities ............................................................................................................ 29
3.5 Learning Outcomes ...................................................................................................................... 30
4. CHALLENGES, ISSUES AND CONSTRAINTS.............................................................................. 31
5. SWOT ANALYSIS ........................................................................................................................... 32
6. CONCLUSIONS ............................................................................................................................... 33
SELF-ASSESSMENT OF INDUSTRIAL TRAINING BY THE STUDENT ......................................... 34
DAILY ATTENDANCE REPORT........................................................................................................ 35
ix
1. INTRODUCTION
The main reason behind doing this internship was to meet the academic requirements of our
university which is Rajiv Gandhi Proudyogik Vishwavidyalaya, Bhopal(RGPV). In it's scheme of
Data Science there is a subject called Evaluation of Internship-II whose subject code is CD507
which consists of 100 marks. In this subject we need to do our internship during our 2nd year and
an internship report is required to be produced in our 5th Semester according to which our
evaluation will be done.
So, in order to get an internship I applied to various companies for different profiles on LinkedIn
and naukri.com but unfortunately I was unable to got an offer letter from either of them. Then
Suddenly I got to know about SUVEN CONSULTANTS AND TECHNOLOGY PVT LTD from
one of our reputed faculty member Mr. Umesh Joshi sir which provides internship and training in
relevant industrial technologies.
So, I went to their office and find out that they provide training and internship in various
technologies of various engineering disciplines by charging some bucks. So, I choose Data
Visualization Tool- Java for my internship and submitted my application for the same. I was
interviewed by the Head of the Department(IT) and finally got selected for the same.
The main reason behind choosing Java for my internship is that I belong from the Data Science
background and by acquiring the knowledge of Java I will be able to increase the sharpness of my
resume which will ultimately help me in proving my Data Science capabilities.
After the completion of my internship, I got to learn various things of Java like loading of data,
filtering of data, visualization of data, DAX operations and finally how to create an attractive
dashboard and many more. Moreover, I got a chance of working upon various real life problems
by doing some projects.
In total, the Internship was of 100 hours which was needed to be done in 4 weeks. The Course Co-
ordinator/Supervisor allotted to me was Ms. Abhishek Jain.
1
2. ORGANIZATION
Located in the heart of the tech hub, we collaborate with clients across various industries to deliver
customized, cutting-edge solutions that address specific business challenges and opportunities. Our
team comprises highly skilled consultants and technology experts with deep industry knowledge
and a passion for innovation.
We specialize in a wide range of technology services, including cloud computing, data analytics,
artificial intelligence, cybersecurity, and software development. Our approach combines strategic
consulting with the latest technology trends to help clients optimize their operations, enhance
efficiency, and achieve long-term success.
At Suven Consultant and Technology, we believe in building strong, lasting partnerships with our
clients. We take the time to understand their unique needs and goals, allowing us to provide tailored
solutions that drive measurable results. Our commitment to excellence, integrity, and customer
satisfaction has established us as a trusted partner for organizations looking to thrive in the digital
age. Let us help you navigate the complexities of modern technology and unlock the full potential
of your business.
2
3. LEARNING AS INTERN
I would like to introduce you to my supervisor, Mr. Abhishek Jain, who serves as a Senior IT Software
Developer at Capgemini. Mr. Jain brings a wealth of experience and expertise to the role, with a deep
understanding of software development and cutting-edge technologies. He is known for his strategic
vision and commitment to delivering high-quality solutions.
Mr. Jain is a skilled leader who excels at guiding and mentoring team members, fostering a
collaborative and productive work environment. His keen insight and innovative approach make him
a valuable asset to any project he leads. I am fortunate to work under his guidance and look forward to
learning from his vast knowledge and experience in the industry.
3
3.2 Knowledge and Skills Acquired
3.2.2 JRE
The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It
containsset of libraries and tools for developing java application. The Java Runtime Environment
provides the minimum requirements for executing a Java application.
3.2.3 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 system. Java
language is one of the compiled and interpreted programming language.
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.
Garbage collection in Java is the process by which Java programs perform automatic memory
management. Java programs compile to byte code that can be run on a Java Virtual Machine, or
JVM for short. When Java programs run on the JVM, objects are created on the heap, whichis a
portion of memory dedicated to the program. Eventually, some objects will no longer be needed.
The garbage collector finds these unused objects and deletes them to free up memory
3.2.5 API
4
Java programming is containing user friendly syntax so that we can develop effective application.
In other words if any language is providing user friendly syntax, we can develop error free
applications.
3.2.6 JIT
JIT is the set of programs developed by SUN Micro System and added as a part of JVM, to
speed up the interpretation phase.
Features of a language are nothing but the set of services or facilities provided by the
languagevendors to the industry programmers. Some important features are;
Figure 2
Figure 1
Path variable is set for providing path for all java tools like java, javac, javap, javah, jar, applet
viewer which are use in java programming. These all tools are available in bin folders so weset
path upto bin folders.
Classpath variable is set for providing path for predefined java classes which is used in our
application. All classes are available in lib/rt.jar so we set classpath upto lib/rt.jar.
5
3.2.9 Steps For Compiling and Executing Programs
The following sequence of steps represented in the diagram use compiling the java program and
executing the java programs.
Figure 3
Jvm, Jre, Jdk these all the backbone of java language. Each components have separate works. Jdk
and Jre physically exists but Jvm are abstract machine it means it not physically exists.
3.2.10.1 JVM
JVM (Java Virtual Machine) is a software. It is a specification that provides runtime environment
in which java bytecode can be executed. It not physically exists.JVMs are not same forall
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.
3.2.10.2 JRE
The Java Runtime Environment (JRE) is part of the Java Development Kit (JDK). It containsset
of libraries and tools for developing java application. The Java Runtime Environment provides
the minimum requirements for executing a Java application. It physically exists. It contains set of
libraries + other files that JVM uses at runtime.
3.2.10.3 JDK
6
The Java Development Kit (JDK) is primary components. It physically exists. It is collection of
programming tools and JRE, JVM.
Figure 4
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 forthem. A class is a group of objects that has common properties.
Data Member
Method
Constructor
Block
Class and Interface
Object: Object is a instance of class, object has state and behaviors. An Object in java has
three characteristics:
State
Behavior
Identity
7
Class is also can be used to achieve user defined data types.
Data type 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
3.2.13 Variable
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
identifyinput data in a program.
Operator is a special symbol that tells the compiler to perform specific mathematical or
logicalOperation. Java supports following lists of operators.
Arithmetic Operations
Relational Operations
Logical Operations
Bitwise Operations
8
Assignment Operations
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
fordeveloping java application.
Figure 6
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.
Figure 7
9
3.2.17.Decision Making Statement
Decision making statement statements is also called selection statement. That is depending on
thecondition 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.
If
If-else
switch
for loop
while loop
do-while loop
Figure 8
For each and every fundamental data type there exist a pre-defined class, Such predefined class
is known as wrapper class. The purpose of wrapper class is to convert numeric string data into
numerical or fundamental data.
Figure 9
The static keyword is used in java mainly for memory management. Static keyword are used
withvariables, 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 labeled static.
this is a reference variable that refers to the current object. It is a keyword in java language
represents current class object
11
"this" keyword can be use in two ways.
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
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.
We know that every java program must start with a concept of class that is without classes
conceptthere is no java program perfect.In java programming we have two types of classes
they are
1. Concrete class
2. Abstract class
3.2.22.2 Constructor
The purpose of constructor is to initialize an object called object initialization. Constructors are
12
mainly create for initializing the object. Initialization is a process of assigning user defined
values at the time of allocation of memory space.
Based on creating objects in Java constructor are classified in two types. They are
Parameterized constructor.
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
topto bottom.
Type of relationship always makes to understand how to reuse the feature from one class
toanother class. In java programming we have two types of relationship they are.
Is-A Relationship
Has-A Relationship
The process of obtaining the data members and methods from one class to another class is
knownas 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
onewhich 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 thedata members and methods from one class to another class is known
13
one ofthe fundamental features of object-oriented programming.
Single inheritance
Multiple inheritance
Hierarchical inheritance
Multilevel inheritance
Hybrid inheritance
It's main uses are to enable polymorphism and to be able to reuse code for different
classesby putting it in a common super class
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.
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 behaviors of method
theycan 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.
14
By changing the order of arguments.
Figure 10
3.2.24.7 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 multiple
inheritance in Java.
If we do not know about any things about implementation just we have requirement
specificationthen we should be go for Interface
If we are talking about implementation but not completely (partially implemented) then we
shouldbe go for abstract.
15
3.2.24.9 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.
Abstraction shows only important things to the user and hides the internal details for example
when we ride a bike, we only know about how to ride bike but can not know about how it work
? and also we do not know internal functionality of bike.
3.2.24.10 Encapsulation
3.2.24.12 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 one objects oriented programming language to another object
oriented programming language.
packages.Purpose of 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 11
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.
Checked Exception
Un-Checked Exception
17
Figure 12
3.2.25.4 Multithreading
3.2.25.5 Thread
Thread is a lightweight components and it is a flow of control. In other words a flow of control
isknown as thread.State of a thread are classified into five types they are
1. New State
2. Ready State
3. Running State
4. Waiting State
5. Halted or dead State
3.2.25.6 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:
18
String
StringBuffer
StringBuilder
3.2.25.7 Collection
Collections in java is a framework that provides an architecture to store and manipulate the group
ofobjects.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 simply means
a single unit of objects. Java Collection framework provides many interfaces (Set, List, Queue,
Dequeetc.) and classes (ArrayList, Vector, LinkedList, PriorityQueue, HashSet, LinkedHashSet,
TreeSet etc).
19
3.3 Projects Undertaken
Student Portal System (Admin Level) JAVAbased with back-end controlled by JDBC.
Database Used: MySql
JDBC (Java Database Connectivity) is uses for connect java application with database. It is
Java SE technology, which is install automatically with the jdk software. Jdbc is an API
(Application programming interface) used to communicate Java application to database in
database independent and platform independent manner. It provides classes and interfaces to
connect or communicate Javaapplication with database.
Figure 13
✓ Add Records
✓ Display Records
✓ Update Records
✓ Delete Records
✓ Search Records
✓ Exit
20
Figure 14
Figure 15
21
Figure 16
Figure 17
22
Figure 18
Figure 19
23
Figure 20
Figure 21
24
Figure 22
Figure 23
25
Figure 24
Figure 25
26
Figure 26
The goal of this project is to make it easier for consumers to compute the monthly EMI of a loan obtained
from a bank via credit card, debit card, or other ways. The major goal of creating this project is to manage
all aspects of the bank's loans and investments. The initiative was created to make loan processing more
efficient in banks. The user's loan balance and annual interest rate are fed into our proposed technology,
which automates the loan process. Customers can apply for a loan and then track their monthly EMI with
our Consumer Loan Assistant once it has been authorized. Consumer Loan Assistant is a very effective
technique for handling all loan-related transactions in a timely and correct manner. A loan is a contract
between two parties: a lender and a borrower. The lender offers the borrower a certain amount of money
with the understanding that the amount borrowed will be paid back in monthly instalments with interest
over a predetermined period of time by the borrower. The simplest approach to figure out your monthly
payments and balance your budget is to use a Consumer Loan Assistant. Everyone needs a loan at some
point in their lives, whether it's to buy a car or a house, pay their child's education, or consolidate debts, for
example. As a result, in today's world, loans have become an integral element of everyone's life.
27
3.3.4 Literature Survey/Project Design
On availing of a personal loan, you are expected to repay the principal amount along with a certain
percentage as interest levied by the loan provider. The payment of this amount is spread throughout the
tenure of your loan. The total interest payable throughout the tenure is an important factor to be taken into
consideration because it can significantly increase the total sum payable to the lender.
28
3.4 Roles and Responsibilities
As an intern working on the Home Inventory Manager Project and the Consumer Loan Assistant
Project, you will play a crucial role in supporting the development, maintenance, and
enhancement of these software applications. Your responsibilities will involve a mix of technical
tasks and collaboration with team members to deliver high-quality solutions. Here's an overview
of the roles and responsibilities you can expect in this internship:
Software Development: Participate in coding, testing, and debugging the Home Inventory
Manager and Consumer Loan Assistant projects. Utilize your Java skills to write clean, efficient,
and maintainable code.
Feature Implementation: Work closely with senior developers to design and implement new
features and functionalities as required by project requirements. Ensure that all features are
aligned with project goals and user expectations.
Code Reviews: Collaborate with team members to conduct code reviews, providing and
receiving constructive feedback to improve code quality and ensure adherence to coding
standards.
Testing and Quality Assurance: Assist in the development of test plans and conduct unit testing
to identify and resolve issues. Participate in quality assurance activities to ensure the reliability
and performance of the applications.
Collaboration and Communication: Engage with cross-functional teams, including designers and
project managers, to discuss project requirements and timelines. Communicate effectively to
ensure smooth project execution and timely delivery.
Problem Solving: Utilize your analytical and problem-solving skills to address technical
challenges that arise during development. Proactively seek solutions and work with the team to
resolve issues.
Learning and Development: Take advantage of this internship to expand your knowledge and
skills in software development, particularly in Java and related technologies. Stay updated with
industry trends and best practices.
Adherence to Best Practices: Follow industry-standard coding practices, security protocols, and
project guidelines to ensure the quality and integrity of the software applications.
Time Management: Manage your tasks effectively, prioritizing work based on project needs and
deadlines. Collaborate with your supervisor and team members to set realistic goals and achieve
them within the specified time frame.
Java Development Expertise: Gain hands-on experience with Java programming, deepening your
knowledge of the language's syntax, libraries, and best practices.
Software Development Lifecycle: Understand the end-to-end software development process, from
requirements gathering and design to implementation, testing, and maintenance.
Coding Best Practices: Learn how to write clean, efficient, and maintainable code while adhering
to industry-standard coding conventions and guidelines.
Collaboration and Communication: Improve your ability to work effectively within a cross-
functional team, collaborating with designers, project managers, and other developers to achieve
common goals.
Testing and Quality Assurance: Gain experience in creating test plans, conducting unit testing, and
ensuring the quality and reliability of software applications.
Project Management: Learn how to manage tasks and timelines effectively, prioritizing work to
meet project deadlines and goals.
Adaptability and Continuous Learning: Stay current with industry trends and emerging
technologies, developing a mindset of continuous improvement and adaptability.
By the end of your internship, you will have gained valuable experience and knowledge that will
prepare you for future roles in software development and technology projects. Your exposure to
these projects will help you build a strong foundation for your professional growth and career
advancement.
30
4. CHALLENGES, ISSUES AND CONSTRAINTS
During your internship working on the Home Inventory Manager Project and the Consumer Loan
Assistant Project, you may encounter a variety of challenges, issues, and constraints.
Understanding these potential obstacles can help you navigate the internship effectively and
develop strategies to address them:
Complex Codebase: The existing codebase for the projects may be complex and unfamiliar,
requiring time and effort to understand the architecture and design patterns used.
Learning Curve: Adjusting to new technologies, tools, and methodologies may present a learning
curve, especially if they are different from what you are accustomed to.
Project Deadlines: Balancing multiple tasks and meeting project deadlines can be challenging,
especially when working on time-sensitive projects with tight schedules.
Quality Assurance: Ensuring the quality and performance of software applications through testing
and debugging can be demanding, especially when dealing with complex or legacy code.
Unclear Requirements: Ambiguous or changing project requirements can lead to confusion and
rework, making it essential to seek clarification and maintain open communication with
stakeholders.
Time Management: Balancing your internship responsibilities with other commitments, such as
coursework or personal life, may require strong time management skills.
Feedback and Criticism: Receiving constructive feedback and criticism from team members can
be challenging, but it's an opportunity for growth and improvement.
Workload Management: Managing your workload effectively, including prioritizing tasks and
knowing when to seek help, is crucial to avoid burnout and maintain productivity.
Despite these challenges, your internship offers an excellent opportunity to develop resilience,
problem-solving skills, and adaptability. By approaching these challenges with a positive attitude
and a willingness to learn, you can overcome obstacles and make the most of your internship
experience.
31
5. SWOT ANALYSIS
A SWOT analysis can help you understand the strengths, weaknesses, opportunities, and threats
of your internship working on the Home Inventory Manager Project and the Consumer Loan
Assistant Project. This analysis will provide insights into areas for growth and potential challenges
you may face during your internship.
Strengths:
Hands-On Experience: The internship offers practical experience in software development,
allowing you to apply theoretical knowledge in real-world projects.
Mentorship and Guidance: You will have access to experienced professionals who can provide
mentorship, guidance, and feedback to enhance your skills.
Exposure to Diverse Projects: Working on multiple projects gives you the chance to explore
different aspects of software development and expand your skill set.
Collaboration Opportunities: Collaborating with cross-functional teams helps you develop
teamwork and communication skills.
Professional Networking: The internship allows you to build connections with industry
professionals and expand your professional network.
Weaknesses:
Limited Experience: As an intern, you may have limited prior experience in software development,
which could pose challenges in complex projects.
Steep Learning Curve: Adjusting to new technologies, coding standards, and methodologies can
be challenging, especially if you are new to the field.
Time Management: Balancing multiple tasks and meeting deadlines can be difficult, particularly
when dealing with tight project schedules.
Dependence on Mentors: Relying on mentors for guidance may limit your independence in
problem-solving and decision-making.
Opportunities:
Skill Development: The internship provides opportunities to learn and improve your technical
skills, coding practices, and software development knowledge.
Project Contributions: You can contribute to meaningful projects that have a real impact on the
company and its clients.
Career Advancement: Successful completion of the internship may lead to job offers or positive
references for future career opportunities.
Networking Growth: Building relationships with colleagues and industry professionals can open
doors to potential job prospects and collaborations.
Threats:
Competition: The competitive nature of the industry may make it challenging to stand out and
secure future job opportunities.
Project Challenges: Complex projects may pose unexpected challenges, such as unclear
requirements or difficult coding problems.
Resource Limitations: Limited access to resources such as development tools or support may
impact your ability to complete tasks efficiently.
Changing Industry Trends: Rapid changes in technology and industry standards may require
continuous learning and adaptation to stay relevant.
By understanding these aspects of your internship, you can strategically plan your approach and
make the most of the opportunities available while navigating potential challenges effectively.
32
6. CONCLUSIONS
My internship experience working on the Home Inventory Manager Project and the Consumer
Loan Assistant Project has been invaluable in bridging the gap between theoretical knowledge and
practical application. During this period, I gained hands-on experience with Java programming,
software development, and project management, which have all contributed to my professional
growth.
This internship has also provided me with insights into the challenges and opportunities within the
software development field. By overcoming obstacles and adapting to new technologies and
methodologies, I have developed resilience and problem-solving abilities.
Overall, my internship experience has equipped me with the practical knowledge and skills needed
to thrive in a professional environment. I am confident that the insights gained during this period
will serve as a solid foundation for my future career in software development and technology
projects.
33
SELF-ASSESSMENT OF INDUSTRIAL TRAINING BY
THE STUDENT
1. Name of Student: Saurabh Tiwari
2. Name and address of Code Clause
Sponsoring Industry: CODE CLAUSE TECHNOLOGY PVT LTD, Pune (Maharashtra)
3. Guide from Industry
(with designation): Mr.Akash Kumar (Course Co-ordinator)
4. Date of commencement
of Industrial Training : 27th June , 2022
5. Number of days present: 25 days out of 25 days.
6. I hereby declare that, I have learnt following skills during my Industrial Training:
Sr. Description Weightage (%)
10 Quality Control 5
11 Installation / Commissioning 0
13 Documentation 5
Total 100
34