2023 Course Based Internship Format
2023 Course Based Internship Format
INDORE
An INTERNSHIP REPORT
(Based on certificate course completion)
ON
BACHELOR OF TECHNOLOGY
IN
SCHOOL OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY
CERTIFICATE
This is to certify that the Certification Course entitled “Learn Programming with Java - An
Interactive Way”, completed by Prem Sharma, student of 2 nd year towards partial fulfillment of
the degree of Bachelor of Technology in School of Computer Science and Information
Technology in year 2025 Symbiosis University of Applied Sciences , Indore (M.P.). It is a
bonafide record of the work carried by Prem Sharma, during the academic semester 4th
Student Undertaking
I hereby undertake that the course entitled “Learn Programming with Java - An Interactive
Way” has been completed by me from the period 20th June 2023 to 17th August 2023 and the
report so prepared is a record of my learnings during course duration. I further declare that I
have completed the certification course in accordance with the Summer Training / Internship
policy of the University. This report is submitted towards fulfillment of my academic
requirement and not for any other purpose.
I hereby undertake that the material of this report is my own learning and I have not copied
anything from anywhere else. The material obtained from other sources has been duly
acknowledged. I understand that if at any stage, it is found that I have indulged in any
malpractice or the certificate of completion is obtained using any unfair means by me, the
university shall cancel my degree/withhold my result and appropriate disciplinary action shall
be initiated against me.
Prem Sharma
Student Name and Signature Mentor Name & Signature
Enrollment Number: 2021BTCS010
Name of
School: School
of Computer
Science and
Information
Technology
Date:
ACKNOWLEDGEMENT
Student Signature
SYMBIOSIS UNIVERSITY OF APPLIED SCIENCES
INDORE
ABSTRACT
Introduction:
The Java Programming certification course offered by Infosys Springboard is designed to
provide beginners with a solid foundation in Java programming. Whether you're new to coding
or looking to expand your skillset, this course equips you with the fundamental concepts and
techniques required to start building Java applications. With a focus on hands-on learning and
practical exercises, you'll gain confidence in your programming abilities and prepare for a
successful career in software development.
Body:
The course begins with a foundational introduction to Java, highlighting its importance in the
realm of programming. Participants will swiftly progress to comprehend data representation,
grasping the nuances of data types, variables, and memory management. Building on this,
learners will dive into programming basics, gaining proficiency in fundamental constructs and
syntax that underpin Java.
The journey continues with an exploration of operators, elucidating the role of arithmetic,
relational, and logical operators in Java programming. Participants will gain insights into type
conversion, a critical aspect of programming languages. The course then delves into control
structures, enabling learners to master decision-making and looping mechanisms.
A pivotal turning point arrives with an introduction to object-oriented programming (OOP).
Learners will unravel the core tenets of OOP and how they shape Java's structure. This
knowledge lays the groundwork for comprehending methods, constructors, and the 'this'
keyword, empowering participants to craft well-structured and organized code.
Memory management and encapsulation follow, shedding light on memory allocation and best
practices for data hiding and security. The course then ventures into practical applications, such
as working with strings and arrays, and harnessing the power of static elements.
As the course progresses, learners will unravel the intricacies of class relationships through
aggregation, association, and inheritance. The concept of polymorphism is demystified,
showcasing its role in flexible and extensible code design. The course also covers essential topics
like exceptions, packages, access modifiers, and unit testing – vital skills for producing reliable
and robust code.
Conclusion:
The Certification Course in Java from Infosys Springboard serves as an essential launching pad
for individuals aspiring to become proficient Java programmers. Through a comprehensive and
structured curriculum, participants will gain a deep understanding of Java's core elements,
enabling them to build reliable, efficient, and well-structured applications. With a strong
emphasis on hands-on practice and real-world application, this course empowers learners to
confidently embark on their journey into the world of Java programming, equipped with a solid
foundation and the skills necessary to excel in software development.
CONTENTS
Chapter 1: INTRODUCTION
1.1 Introduction of the course
1.1.1 Name of the course
1.1.2 Awarding organization
1.1.3 Course outline
1.1.4 Overview of training outcome
1.1.5 Assessment procedure
Chapter 1
INTRODUCTION
1.2 Introduction of the course
The Java Programming certification course offered by Infosys Springboard is designed to
provide beginners with a solid foundation in Java programming. Whether you're new to coding
or looking to expand your skillset, this course equips you with the fundamental concepts and
techniques required to start building Java applications. With a focus on hands-on learning and
practical exercises, you'll gain confidence in your programming abilities and prepare for a
successful career in software development.
Features of Java
Simple: Java is a simple language because its syntax is simple, clean, and easy to understand.
Complex and ambiguous concepts of C++ are either eliminated or re-implemented in Java. For
example, pointer and operator overloading are not used in Java.
Object-Oriented: In Java, everything is in the form of the object. It means it has some data and
behavior. A program must have at least one class and object.
Robust: Java makes an effort to check error at run time and compile time. It uses a strong
memory management system called garbage collector. Exception handling and garbage collection
features make it strong.
Secure: Java is a secure programming language because it has no explicit pointer and programs
runs in the virtual machine. Java contains a security manager that defines the access of Java
classes.
Platform-Independent: Java provides a guarantee that code writes once and run anywhere. This
byte code is platform-independent and can be run on any machine.
Portable: Java Byte code can be carried to any platform. No implementation-dependent features.
Everything related to storage is predefined, for example, the size of primitive data types.
High Performance: Java is an interpreted language. Java enables high performance with the use of
the Just-In-Time compiler.
Distributed: Java also has networking facilities. It is designed for the distributed environment of
the internet because it supports TCP/IP protocol. It can run over the internet. EJB and RMI are
used to create a distributed system.
Multi-threaded: Java also supports multi-threading. It means to handle more than one job a time.
Primitive data types: The primitive data types include boolean, char, byte, short, int, long,
float and double.
Non-primitive data types: The non-primitive data types include Classes, Interfaces, and
Arrays.
Java Primitive Data Types
In Java language, primitive data types are the building blocks of data manipulation. These
are the most basic data types available in Java language.
There are 8 types of primitive data types:
The Boolean data type specifies one bit of information, but its "size" can't be defined
precisely.
Example:
Boolean one = false
Example:
byte a = 10, byte b = -20
The short data type can also be used to save memory just like byte data type. A short data
type is 2 times smaller than an integer.
Example:
short s = 10000, short r = -5000
The int data type is generally used as a default data type for integral values unless if there
is no problem about memory.
Example:
int a = 100000, int b = -200000
Example:
long a = 100000L, long b = -200000L
Example:
float f1 = 234.5f
Example:
double d1 = 12.3
Operators in Java
Operator in Java is a symbol that is used to perform operations. For example: +, -, *, / etc.
There are many types of operators in Java which are given below:
Unary Operator
Arithmetic Operator
Shift Operator
Relational Operator
Bitwise Operator
Logical Operator
Ternary Operator
Assignment Operator
10
12
12
10
Java Unary Operator Example 2: ++ and --
public class OperatorExample{
public static void main(String args[]){
int a=10;
int b=10;
System.out.println(a++ + ++a);//10+12=22
System.out.println(b++ + b++);//10+11=21
}}
Output:
22
21
Java Unary Operator Example: ~ and !
public class OperatorExample{
public static void main(String args[]){
int a=10;
int b=-10;
boolean c=true;
boolean d=false;
System.out.println(~a);//-11 (minus of total positive value which starts from 0)
System.out.println(~b);//9 (positive of total minus, positive starts from 0)
System.out.println(!c);//false (opposite of boolean value)
System.out.println(!d);//true
}}
Output:
-11
9
false
true
40
80
80
240
Java Right Shift Operator
The Java right shift operator >> is used to move the value of the left operand to right by
the number of bits specified by the right operand.
2
5
2
Java Shift Operator Example: >> vs >>>
public class OperatorExample{
public static void main(String args[]){
//For positive number, >> and >>> works same
System.out.println(20>>2);
System.out.println(20>>>2);
//For negative number, >>> changes parity bit (MSB) to 0
System.out.println(-20>>2);
System.out.println(-20>>>2);
}}
Output:
5
5
-5
1073741819
The bitwise & operator always checks both conditions whether first condition is true or
false.
false
false
Java AND Operator Example: Logical && vs Bitwise &
public class OperatorExample{
public static void main(String args[]){
int a=10;
int b=5;
int c=20;
System.out.println(a<b&&a++<c);//false && true = false
System.out.println(a);//10 because second condition is not checked
System.out.println(a<b&a++<c);//false && true = false
System.out.println(a);//11 because second condition is checked
}}
Output:
false
10
false
11
The bitwise | operator always checks both conditions whether first condition is true or
false.
true
true
true
10
true
11
2) Loop statements
do while loop
while loop
for loop
for-each loop
3) Jump statements
break statement
continue statement
Object
Class
Inheritance
Polymorphism
Abstraction
Encapsulation
Object
Any entity that has state and behavior is known as an object. For example, a chair, pen, table, keyboard,
bike, etc. It can be physical or logical.
An Object can be defined as an instance of a class. An object contains an address and takes up some space
in memory. Objects can communicate without knowing the details of each other's data or code. The only
necessary thing is the type of message accepted and the type of response returned by the objects.
Example: A dog is an object because it has states like color, name, breed, etc. as well as behaviors like
wagging the tail, barking, eating, etc.
Class
A class can also be defined as a blueprint from which you can create an individual object. Class doesn't
consume any space.
Inheritance
When one object acquires all the properties and behaviors of a parent object, it is known as inheritance. It
provides code reusability. It is used to achieve runtime polymorphism.
Polymorphism in Java
Polymorphism
If one task is performed in different ways, it is known as polymorphism. For example: to convince the
customer differently, to draw something, for example, shape, triangle, rectangle, etc.
Abstraction
Hiding internal details and showing functionality is known as abstraction. For example phone call, we
don't know the internal processing.
Encapsulation
Binding (or wrapping) code and data together into a single unit are known as encapsulation. For example,
a capsule, it is wrapped with different medicines.
A java class is the example of encapsulation. Java bean is the fully encapsulated class because all the data
members are private here.
Method in Java
In general, a method is a way to perform some task. Similarly, the method in Java is a collection of
instructions that performs a specific task. It provides the reusability of code. We can also easily modify
code using methods. In this section, we will learn what is a method in Java, types of methods, method
declaration, and how to call a method in Java.
A method is a block of code or collection of statements or a set of code grouped together to perform a
certain task or operation. It is used to achieve the reusability of code. We write a method once and use it
many times. We do not require to write code again and again. It also provides the easy modification and
readability of code, just by adding or removing a chunk of code. The method is executed only when we
call or invoke it.
Method Declaration
The method declaration provides information about method attributes, such as visibility, return-type,
name, and arguments. It has six components that are known as method header, as we have shown in the
following figure.
Method in Java
Method Signature: Every method has a method signature. It is a part of the method declaration. It
includes the method name and parameter list.
Access Specifier: Access specifier or modifier is the access type of the method. It specifies the visibility
of the method. Java provides four types of access specifier:
Public: The method is accessible by all classes when we use public specifier in our application.
Private: When we use a private access specifier, the method is accessible only in the classes in which it is
defined.
Protected: When we use protected access specifier, the method is accessible within the same package or
subclasses in a different package.
Default: When we do not use any access specifier in the method declaration, Java uses default access
specifier by default. It is visible only from the same package only.
Return Type: Return type is a data type that the method returns. It may have a primitive data type,
object, collection, void, etc. If the method does not return anything, we use void keyword.
Constructors in Java
In Java, a constructor is a block of codes similar to the method. It is called when an instance of the class is
created. At the time of calling constructor, memory for the object is allocated in the memory.
Every time an object is created using the new() keyword, at least one constructor is called.
It calls a default constructor if there is no constructor available in the class. In such case, Java compiler
provides a default constructor by default.
There are two types of constructors in Java: no-arg constructor, and parameterized constructor.
Inheritance in Java is a mechanism in which one object acquires all the properties and behaviors of a
parent object. It is an important part of OOPs (Object Oriented programming system).
The idea behind inheritance in Java is that you can create new classes that are built upon existing classes.
When you inherit from an existing class, you can reuse methods and fields of the parent class. Moreover,
you can add new methods and fields in your current class also.
Inheritance represents the IS-A relationship which is also known as a parent-child relationship.
If we have to perform only one operation, having same name of the methods increases the readability of
the program.
Suppose you have to perform addition of the given numbers but there can be any number of arguments,
if you write the method such as a(int,int) for two parameters, and b(int,int,int) for three parameters
then it may be difficult for you as well as other programmers to understand the behavior of the method
because its name differs
The final keyword in java is used to restrict the user. The java final keyword can be used in many
context. Final can be:
variable
method
class
The final keyword can be applied with the variables, a final variable that have no value it is
called blank final variable or uninitialized final variable. It can be initialized in the
constructor only. The blank final variable can be static also which will be initialized in the
static block only. We will have detailed learning of these. Let's first learn the basics of final
keyword.
class Bike9{
final int speedlimit=90;//final variable
void run(){
speedlimit=400;
}
public static void main(String args[]){
Bike9 obj=new Bike9();
obj.run();
}
}//end of class
2) Super Keyword in Java
The super keyword in Java is a reference variable which is used to refer immediate parent class object.
Whenever you create the instance of subclass, an instance of parent class is created implicitly which is
referred by super reference variable.
class Animal{
String color="white";
String color="black";
void printColor(){
class TestSuper1{
d.printColor();
}}
class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void eat(){System.out.println("eating bread...");}
void bark(){System.out.println("barking...");}
void work(){
super.eat();
bark();
}
}
class TestSuper2{
public static void main(String args[]){
Dog d=new Dog();
d.work();
}}
class Animal{
Animal(){System.out.println("animal is created");}
}
class Dog extends Animal{
Dog(){
super();
System.out.println("dog is created");
}
}
class TestSuper3{
public static void main(String args[]){
Dog d=new Dog();
}}
this keyword in Java
There can be a lot of usage of Java this keyword. In Java, this is a reference variable that
refers to the current object.
class Student{
int rollno;
String name;
float fee;
Student(int rollno,String name,float fee){
rollno=rollno;
name=name;
fee=fee;
}
void display(){System.out.println(rollno+" "+name+" "+fee);}
}
class TestThis1{
public static void main(String args[]){
Student s1=new Student(111,"ankit",5000f);
Student s2=new Student(112,"sumit",6000f);
s1.display();
s2.display();
}}
2) Data Representation
Understanding data types, variables, and memory allocation.
3) Programming Basics
Learning fundamental programming constructs and syntax.
4) Operators
Exploring arithmetic, relational, and logical operators.
5) Type Conversion
Understanding implicit and explicit type conversions.
6) Control Structures
Mastering decision-making and looping constructs.
8) Methods
Defining and utilizing methods for code modularity.
9) Constructors
Exploring constructor types and initialization.
12) Encapsulation
Learning to encapsulate data for better code organization.
13) String
Manipulating and working with string data.
14) Arrays
Mastering array creation, manipulation, and traversal.
15) Static
Exploring static variables and methods.
17) Inheritance
Implementing class inheritance and its significance.
18) Polymorphism
Grasping the concept of polymorphism and method overriding.
21) Abstract
Understanding abstract classes and methods.
22) Interface
Implementing interfaces for class interaction.
23) Exception
Handling exceptions and error scenarios.
24) Package
Organizing code using packages.
25) Access Modifiers
Managing class and method visibility.
27) Recursion
Implementing recursive algorithms
.
28) Regular Expression
Using regular expressions for pattern matching
Chapter 2
COURSE MODULES OF INTERNSHIP
2.1 Module 1
1) Getting Started
Introduction to Java and its significance in programming.
2.2 Module 2
2) Data Representation
Understanding data types, variables, and memory allocation.
2.3 Module 3
3) Programming Basics
Learning fundamental programming constructs and syntax.
2.4 Module 4
4) Operators
Exploring arithmetic, relational, and logical operators.
2.5 Module 5
5) Type Conversion
Understanding implicit and explicit type conversions.
2.6 Module 6
6) Control Structures
Mastering decision-making and looping constructs.
2.7 Module 7
7) Introduction to Object-Oriented Programming
Grasping OOP concepts and principles.
2.8 Module 8
8) Methods
Defining and utilizing methods for code modularity.
2.9 Module 9
9) Constructors
Exploring constructor types and initialization.
2.10 Module 10
10) this Keyword
Understanding the 'this' reference and its use.
2.11 Module 11
11) Memory Management
Delving into memory allocation and garbage collection.
2.12 Module 12
12) Encapsulation
Learning to encapsulate data for better code organization.
2.13 Module 13
13) String
Manipulating and working with string data.
2.14 Module 14
14) Arrays
Mastering array creation, manipulation, and traversal.
2.15 Module 15
15) Static
Exploring static variables and methods.
2.16 Module 16
16) Aggregation & Association
Understanding relationships between classes.
2.17 Module 17
17) Inheritance
Implementing class inheritance and its significance.
2.18 Module18
18) Polymorphism
Grasping the concept of polymorphism and method overriding.
2.19 Module 19
19) Objects and Wrapper Classes
Utilizing objects and wrapper classes for enhanced functionality.
2.20 Module 20
20) final Keyword
Exploring the 'final' modifier and its applications.
2.21 Module 21
21) Abstract
Understanding abstract classes and methods.
2.22 Module 22
22) Interface
Implementing interfaces for class interaction.
2.23 Module 23
23) Exception
Handling exceptions and error scenarios.
2.24 Module 24
24) Package
Organizing code using packages.
2.25 Module 25
25) Access Modifiers
Managing class and method visibility.
2.26 Module 26
26) Unit Testing & Code Coverage
Introduction to unit testing and assessing code coverage.
2.27 Module 27
27) Recursion
Implementing recursive algorithms
.2.28 Module 28
28) Regular Expression
Using regular expressions for pattern matching
Chapter 3
ASSIGNEMENTS AND ASSESSMENTS
3.1 Assignment 1
Chapter 4
PROJECTS AND CASE STUDIES
Here are a few case studies that highlight the use of Java in different domains:
1. Android App Development: Java has been a primary language for developing Android
applications. Many popular apps on the Google Play Store, such as WhatsApp, Instagram, and
Evernote, have been developed using Java. Android provides a robust framework and SDK for
Java developers to create feature-rich and interactive mobile applications.
2. Financial Services and Banking: Java is widely used in the financial industry for developing
trading platforms, risk management systems, and banking applications. For example, the London
Stock Exchange's TradElect system, which handles millions of transactions daily, is built using
Java technologies.
3. Enterprise Software: Java is often used for building large-scale enterprise applications. An
example is the SAP Customer Relationship Management (CRM) software, which uses Java for
its backend infrastructure to manage customer interactions, sales, and marketing processes.
4. E-commerce Platforms: Java powers many e-commerce platforms, such as eBay and Amazon.
These platforms require robust and scalable systems to handle high traffic, transactions, and user
interactions.
5. Healthcare Information Systems: Java is used in healthcare for creating electronic health
records (EHR) systems, medical imaging applications, and telemedicine platforms. These
applications need to ensure data security, privacy, and compliance with healthcare regulations.
6. Aerospace and Aviation: Java is used in the aerospace industry for various purposes, including
flight control systems, avionics software, and satellite communication. NASA's Mission Control
Center software, for instance, employs Java technologies.
7. Gaming: Java is used in game development, particularly for mobile and web-based games.
Minecraft, one of the best-selling video games of all time, is developed using Java.
8. Internet of Things (IoT): Java is used in IoT applications for managing and connecting
devices. It provides a platform for developing applications that collect, process, and analyze data
from sensors and devices. For example, Philips' Hue smart lighting system is powered by Java.
9. Scientific and Research Application: Java is used in scientific research for simulations, data
analysis, and visualization. Bioinformatics tools, weather prediction systems, and computational
biology applications often utilize Java's capabilities.
10. Educational Platforms: Java is commonly used for developing educational software and
platforms. Learning management systems (LMS), online course platforms, and interactive
educational tools often leverage Java for their development.
These case studies demonstrate the versatility and wide range of applications for Java in various
industries and domains.
Chapter 5
Attendance Report (In terms of number of hours, assignments and tests attended)
The course “Learn Programming with Java - An Interactive Way” was of 79 hours 36 mins
There were quizzes in every module which make the course interesting and at last after
completing the course there was a assessment at the end which included all the related question
which was covered in the course and was of 10 minutes and there were 10 questions.
Chapter 6
CONCLUSION
In conclusion, embarking on the certification course from Infosys Springboard titled "Learning
Program with Java: An Interactive Way" can offer a highly rewarding and enriching educational
experience. This comprehensive program provides participants with a unique opportunity to
master the Java programming language through an interactive and engaging learning approach.
Throughout the course, participants are exposed to a structured curriculum that covers the
fundamental concepts of Java programming, ranging from syntax and data structures to object-
oriented programming and application development. The interactive nature of the program,
which may include hands-on coding exercises, real-world projects, and collaborative learning
environments, ensures that learners not only grasp theoretical knowledge but also develop
practical skills that are essential for success in the field.
Furthermore, the affiliation with Infosys Springboard adds a significant layer of credibility to the
certification, as Infosys is a renowned leader in the technology industry. Completing this
certification can potentially open doors to a variety of career opportunities, ranging from
software development to systems architecture, where Java expertise is highly sought after.
By enrolling in this program, learners are not only investing in their professional growth but also
gaining access to a community of like-minded peers, experienced instructors, and valuable
resources. The skills acquired through this certification can serve as a solid foundation for further
learning and specialization in the realm of Java programming or related fields.
In a rapidly evolving technological landscape, staying updated and acquiring relevant skills is
paramount. The "Learning Program with Java: An Interactive Way" from Infosys Springboard
equips participants with the knowledge and expertise needed to thrive in the world of
programming and software development. As a result, taking part in this certification course can
be a transformative step toward a successful and fulfilling career journey in the realm of Java
programming.
Chapter 7
Learning Outcome