You are on page 1of 29

SIX WEEK SUMMER TRAINING

REPORT
ON
JAVA PROGRAMMING
(CODETANTRA)

Submitted by: KODE DHANUSH SAI

Registration number: 12114392

Programme Name: B.Tech. (CSE - Data Science (ML and AI))

School of Computer Science & Engineering Lovely


Professional University, Phagwara.
DECLARATION

I hereby declare that I have completed my six weeks summer training at


Codetantra platform from June 5-06-2023 to July 17-07-2023. I have declared
that I have worked with full dedication during the 6weeks of training and my
learning outcomes fulfil the requirements of training for the award of degree of
B.TECH. CSE, Lovely Professional University Phagwara.

Signature of student

Name of the Student – Kode Dhanush Sai


Registration no: 12114392
Date: 20-07-2023
ACKNOWLEDGMENT

I would like to express my gratitude towards my university as well as TSV


Ramana CEO of Codetantra for providing me the golden opportunity to do this
wonderful summer training regarding JAVA course, which is also helped me in
doing a lot of programming and learning of new concepts.
So, I am really thankfull to them.
I really liked the Codetantra platform the way coding exercises are conducted,
instead of video it made us directly do code by ourself. It really helped me to do
my course sincerely. I am really thankfull to them.
I have taken efforts in this project. However, it would not have
been possible without the kind support and help of many individuals and
organizations. I would like to extend my sincere thanks to all of them.
CERTIFICATE

Link for certificate


https://lpu.codetantra.com/cert/certificate.jsp?certId=CT487-tE2vLv2-cj5
S.No Title Page.No
.
1. Introduction For Java 6

2. Topics Learnt 9

3. Reason for choosing 16


Codetantra platform
4. PROJECT 20

5. GANTT CHART 26
6. BIBLOGRAPHY 27

7. CONCLUSION 28
1. Introduction For Java
For example, in this learning program, we are using English as the language to
communicate or provide instructions to the learner.

Similarly, there are certain languages which can be used to provide instructions
to computers. These are called computer programming languages.

These languages provide a way to represent data (like numbers, text or images,
etc) and also provide a way to represent instructions which manipulate or work
with that data.

There are different types of programming languages. In our current course we


will be learning a computer programming language called Java.

Java is an Object-oriented programming language. An Object-oriented


programming language models data into Objects and instructions to manipulate
data as Methods. We will learn in detail about Objects, Methods and other
aspects of Object-oriented programming language in later sections.

Other popular examples of Object-oriented programming languages are C++


and C#.
A Java program consists of one or more classes. A class is the top most building
block which is given a name, we will learn more about it later.

A class usually consists of data (i.e encapsulates data) and methods which
operate on that data.
Among the various classes, the class from where the execution starts contains a
special method called main().

Below is the general structure followed while writing a Java class (i.e a source
file with .java extension):
License statement in comments detailing ownership
Package statement
Import statements
Documentation comment
Class or Interface definition
A Java program is usually composed of multiple lines. Each line is composed of
one or a combination of the below three input elements:
Comments
Whitespace characters
Tokens
A comment is a sequence of non-executable characters. There are three types of
comments in Java which we will learn later.

In Java, the whitespace characters are:


Space ’ ’ – (ASCII SP) produced by pressing spacebar
Tab ’\t’ – (ASCII HT) produced by pressing the tab key
Form Feed character ’\f’ – (ASCII FF) usually used as the page separator char
between lines/paragraphs
Line Terminator chars (used to separate two lines) – produced by pressing Enter
key:
Line Feed - ’\n’ (ASCII LF also called NL - New Line) - used in all Unix and
Mac OS X systems
Carriage Return - ’\r’ (ASCII CR) – used in MAC OS 9 and below
Carriage Return followed by Line Feed- ’\r\n’ (ASCII CRLF) – used in
Windows systems
All other input elements other than comments and whitespace are called as
tokens. The tokens are further classified as:
Identifiers – Names used to refer or identify are called Identifiers. For example,
names of variables, methods and classes are all called Identifiers.
Keywords – one of the 50 reserved words in Java language like public, new, for,
if etc are called Keywords. These have a special meaning when used as part of
the program.
Literals – these are the fixed values assigned in a source code. They can be of
primitive, String or a null type.
Operators – in Java language we have 38 different operators like - = > < == >=
etc..(which we will learn later)
Separators – in Java language we have 12 Separators - ( ) { } [] ; , . ... @ ::
2. TOPICS LEARNT

1. L1
Introduction to Java - History, Java program Structure

2. L2
Java Program Execution, JDK /JRE, Syntax of simple class

3. L3Completed
Basics of Java Syntax – Comment Lines, Identifiers, Statements, Braces,
Parenthesis

4. L4
Syntax of main(), Command-line arguments and Syntax of println() with
exercises

5. L5
Basics of Bits and Bytes - Binary, Decimal, Octal and Hexa-decimal
sysytems

6. L6
Different Data Types - int, short int, long int

7. L7
Different Data Types – byte, float and double

8. L8
Different Data Types – boolean, char and String
9. L9
Variables, Keywords, valueOf() method

10. L10
Arithmetic, Relational, Logical Operators

11. L11
Unary, Assignment, Ternary Operators

12. L12
Bitwise, String concatenation, Instance operators, Compound assignment

13. L13
Operator precedence and associativity, Type Conversions

14. L14
If-else, if-else-if and nested if statements

15. L1
Problem solving with if-else

16. L16
switch-case statement, for-each syntax and applications

17. L17
Loops–syntax and applications

18. L18
Fundamentals about Arrays, Multi-dimensional arrays
19. L19
Array Access and Iterations

20. L20
Sorting and Searching Techniques

21. L21
Arrays - Problem solving - 1

22. L22
Arrays - Problem solving – 2

23. L23
OOP Concepts & Class Fundamentals

24. L24
Constructors

25. L25
Different Methods

26. L26
Objects, Encapsulation, Different types of Variables, Void

27. L27
Text processing – String Class, String concatenation

28. L28
Text processing Methods - length(), charAt(), toLowerCase(),
toUpperCase(), startsWith(), endsWith(), equals()
29. L29
Text processing Methods – indexOf(), lastIndexOf(), substring(),
replace(), trim(), split()

30. L30
Text Formatting

31. L31
Problem solving – Text processing

32. L32
Fundamentals of java.lang class, Math Class, Autoboxing and Unboxing

33. L33
Inheritance

34. L34
Method overloading and Method overriding, Super keyword,
Polymorphism, Object Class

35. L35
Overiding toString() & equals() methods, scope

36. L36
Understanding Interface, Using Interfaces

37. L37
Abstract Class and usages of abstract keyword, Enum Types

38. L38
Non-static Init Blocks, Static Init Blocks
39. L39
Static fields, Static methods, Static classes

40. L40
Non-static Inner Classes, Static Inner Classes

41. L41
Local Classes, Anonymous Inner Classses

42. L42
Final fields, Final methods

43. L43
Final Classes, Common Errors with final usages

44. L44
Constructors and finalize method, Garbage Collection, Understanding the
internals of String, StringBuilder Class

45. L45
Understanding System Class, Truths about println method, Working with
System Time in Milli and Nano seconds

46. L46
Utility Classes – Date, DateFormat, Calendar, Randon number generator

47. L47
Exception classes & their Hierarchy, Exception Types

48. L48
Usage of try, catch and finally
49. L49
Usage of throw, throws and Writing User defined Exceptions

50. L50
Multi-Threading, Multitasking & Multiprocessing, Understanding
Threads & its States

51. L51
Thread Synchronization

52. L52
Thread class, Runnable Interface

53. L53
File class and Path class, File Copying/Moving

54. L54
Byte Streams, Character Streams (Readers and Writers) and Object
Streams
Click for Notes

55. L55
Annotations & Assertions

56. L56
Data Structures - Fundamentals, Collection Hierarchy, Collection Root
Interface, Iterable and Iterator

57. L57
Data Structures - List, ArrayList
58. L58
Data Structures - hashCode(), Map, HashMap, TreeMap,
LinkedHashMap

59. L59
Data Structures - Set, HashSet, TreeSet, LinkedHashSet

60. L60
Data Structures - Queue, Deque, Dictionary, Hashtable

61. L61
Generics - Introduction, Generics and Collections, Correct usage of
Generics

62. L62
Generics - Writing Custom Generic class, Bounded Types, Wildcards and
Types
C

63. Applets & AWT


3. Reason for choosing Codetantra
platform

This report outlines the reasons for selecting the CodeTantra platform as a
preferred choice for learning Java programming. CodeTantra is an online
learning platform known for its programming courses and resources. This report
explores various factors that make CodeTantra an attractive option for
individuals seeking to acquire Java programming skills.

Table of Contents:

Introduction
Structured Curriculum
Interactive Learning
Audio Tutorials
Quizzes and Assessments
Flexibility
Community and Support
Cost-Effective
Access to Resources
Certificates
Reviews and Recommendations
Conclusion
1. Introduction:

CodeTantra is an online learning platform that offers courses in various


programming languages, including Java. This report discusses the reasons for
choosing CodeTantra as the platform for learning Java.
2. Structured Curriculum:

CodeTantra provides a well-structured curriculum for Java programming,


making it suitable for beginners and those looking to build a strong foundation
in the language.

3. Interactive Learning:

The platform offers interactive coding exercises and challenges, enabling


learners to apply their knowledge practically and enhance their programming
skills.

4. Audio Tutorials:

CodeTantra includes Audio tutorials, so we can listen and read the concepts it’s
a nice way to learn programming techniques, it’s also helpful if we want to do
coding peacefully we can just read the topics.

5. Quizzes and Assessments:

Regular quizzes and assessments on CodeTantra help learners gauge their


understanding of Java and track their progress.

6. Flexibility:

CodeTantra's online format allows learners to access materials at their


convenience, making it ideal for individuals with busy schedules or varied time
zones.
7. Community and Support:

The platform may provide a community forum or support system, fostering


interactions among learners and facilitating the exchange of knowledge and
experiences.

8. Cost-Effective:

Compared to traditional classroom-based courses or bootcamps, online


platforms like CodeTantra often offer cost-effective learning options.

9. Access to Resources:

CodeTantra offers a variety of resources, including code examples,


documentation, and reference materials, enriching the learning experience.

10. Certificates:

Upon completion, learners may receive certificates from CodeTantra, which can
be a valuable addition to resumes or LinkedIn profiles, showcasing their Java
programming skills.

11. Reviews and Recommendations:

It is recommended by seniors and friends, other platforms


We could just skip videos, here we have to do every code it’s a great way to
learn without cheating.

12. Conclusion:
In conclusion, the CodeTantra platform offers a comprehensive and flexible
learning experience for individuals looking to acquire Java programming skills.
Its structured curriculum, interactive learning features, and community support
make it a compelling choice for aspiring Java developers.

4. PROJECT

HOTEL MANAGEMENT PROJECT:


This is a Hotel Management tool which can be used to manage activites like
storing customer details, booking rooms of four different types, ordering food
for particular rooms, unbooking rooms and showing the bill. It can also be used
to see different room features and room availibility. It is a menu driven program
and it runs until the user exits. File handling has been used to store the current
status of the hotel(customer details, booked rooms, food ordered) in a file once
the program exits so that when we restart the program, the old details are not
lost. The program reads the file when it restarts to know the previous status of
the hotel. Writing of file has been done in a separate thread as it can be done
parallely. User defined exception is thrown if the user tries to book an already
allotted room. Exception handling is properly done to deal with any kind of
unexpected exception.

Topics Covered-
Classes and Objects, Inheritance, File Handling with Objects, ArrayList,
implementing Interface, User defined exception and Exception handling.

Github link for code: https://github.com/DhanushKode/HOTEL-MANAGEMENT


Reference: Hotel Management System - GeeksforGeeks
Output:
5. GANTT CHART
6. BIBLOGRAPHY
Resources used are:
1.Google
2.GeeksforGeeks
3.Codetantra
4.HotelManagement System

7.CONCLUSION
In conclusion, this report has provided a comprehensive overview of the Java
programming language within the context of our CodeTantra course. We began
by exploring the fundamental concepts of Java, including its syntax, data types,
and control structures. Throughout our journey, we delved into object-oriented
programming principles, such as encapsulation, inheritance, and polymorphism,
which form the backbone of Java's versatility.

We also discussed the importance of exception handling in Java, emphasizing


the role it plays in writing robust and reliable code. Additionally, we explored
Java's rich standard library, which offers a wide range of pre-built classes and
utilities to streamline development.

In the practical section of this report, we implemented several Java programs,


ranging from simple console applications to more complex projects that
incorporated graphical user interfaces and database connectivity. These hands-
on exercises not only reinforced our theoretical knowledge but also showcased
the real-world applicability of Java.

Furthermore, we highlighted the significance of version control systems like Git


in collaborative software development and how they integrate seamlessly with
Java projects.

As we conclude, it is evident that Java remains a robust and versatile


programming language with a vast ecosystem of libraries and tools. It continues
to be a preferred choice for developing a wide range of applications, from web
and mobile applications to enterprise-level software.

Through our journey in this CodeTantra course, we have gained valuable


insights into Java's capabilities and best practices, equipping us with the skills
necessary to tackle real-world software development challenges. With
continuous practice and exploration, we can further hone our Java programming
skills and contribute to the ever-evolving world of technology.
We extend our gratitude to the CodeTantra team for providing us with a
structured and informative learning experience in Java. We look forward to
applying our knowledge and skills in future projects and are excited about the
endless possibilities that Java programming offers in the software development
landscape.
Thank you for giving me the opportunity to learn java programming language
from Codetantra Platform, it will help me a lot for my career.

You might also like