Summer Training on Number Game & Grades
Summer Training on Number Game & Grades
ON
[RANDOM NUMBER GAME ]
[Name of the Institute …………...]
B. TECH(CSE)- ……… SEMESTER
SESSION: 2025-26
Name: ……………
Date:
(Signature of the Student)
Industrial Mentor
4|Page
ACKNOWLEDGEMENT
Name: ...................
Enroll. No....................
Date:
5|Page
ABSTRACT
CODSOFT through their monthly hiring of fresher college students
for internship, provides a unique learning experience centered around
practical tasks showcasing JAVA PROGRAMMING. I was allotted 3
tasks out of which two were the minor project the Gist of all the 2
projects below:-
TASK 1
1. Generate a random number within a specified range, such as 1 to 100.
2. Prompt the user to enter their guess for the generated number.
3. Compare the user's guess with the generated number and provide
feedback on whether the guess is correct, too high, or too low.
4. Repeat steps 2 and 3 until the user guesses the
correct number. You can incorporate additional
details as follows:
5. Limit the number of attempts the user has to guess the number.
6. Add the option for multiple rounds, allowing the user to play again.
7. Display the user's score, which can be based on the number of
attempts taken or rounds won.
TASK 2
Input: Take marks obtained (out of 100) in each
subject. Calculate Total Marks: Sum up the
marks obtained in all subjects.
6|Page
COMPANY PROFILE
Introduction
CodSoft is a fast-growing IT services and software development
company that focuses on delivering innovative, reliable, and industry-
driven technology solutions. The company operates as a training and
development platform that not only builds software solutions but also
provides internships, workshops, and practical learning opportunities to
students and young professionals in the field of Information Technology.
CodSoft has gained recognition for creating an environment where
learners and developers can gain real-world experience in coding,
software development, and project implementation.
Vision and Mission
Vision: To bridge the gap between academic knowledge and industry
requirements by equipping students with practical technical skills.
Mission: To provide affordable, hands-on learning and project-based
experience in various domains such as software development, web
development, app development, artificial intelligence, machine
learning, and cloud technologies.
CodSoft emphasizes a culture of innovation, learning, and
collaboration. It encourages interns and employees to work on real-life
projects, develop teamwork skills, and practice problem-solving with
modern technologies. By providing mentors, project guidance, and
industry-relevant tasks, CodSoft helps participants gain confidence
and build a strong professional foundation.
The company is highly regarded for its internship programs, which are
designed to give students an opportunity to work on live projects,
enhance their coding proficiency, and understand software
development practices. Many students and freshers benefit from
CodSoft’s structured approach to skill development, making them job-
ready for careers in IT.
7|Page
Table of Contents
Completion Certificate.................................................................................................2
Declaration...................................................................................................................3
Bonafide Certificate......................................................................................................4
Acknowledgement...................................................................................... 5
Abstract..................................................................................................................................6
Company Profile...........................................................................................................7
Chapter 1: Introduction.....................................................................................9
1.1 Background…..........................................................................................................9
1.2 Problem Statement...................................................................................................10
1.3 Objective..................................................................................................................11
1.4Scope................................................................................................................................12
Chapter 2: Methodology..................................................................................13
2.1 Internship Workflow............................................................................................13-14
2.2 Learning Path & Activities...................................................................................14-15
2.3 Tools & Resources Used......................................................................................15-16
Chapter 4: Implementation.............................................................................21
4.1 Number Game..................................................................................................21-23
4.2 Student Grade Calculator...................................................................24-25
4.3 Challenges and Learnings....................................................................................26-27
Chapter 6: Conclusion.....................................................................................33-34
References.........................................................................................................35
8|Page
CHAPTER 1: INTRODUCTION
1.1 Background
The internship at CodSoft was designed to provide students with practical
exposure to the IT industry and enhance their technical skills through real-
world projects. CodSoft is known for its commitment to bridging the gap
between theoretical learning and industrial applications, and its internship
programs are structured to give participants hands-on experience in software
development, problem-solving, and project execution.
As part of the internship, students are assigned tasks and projects in their
respective domains, such as Python programming, Java development,
web development, artificial intelligence, and machine learning. These
tasks are carefully designed to simulate real-time industry challenges,
encouraging interns to apply their classroom knowledge in practical
situations.
The program emphasizes:
Understanding the fundamentals of software development and
programming.
Building problem-solving and logical thinking abilities.
Gaining exposure to project-based learning and teamwork.
Developing time management, self-discipline, and research skills.
The internship also provides mentorship from experienced professionals who
guide interns in improving their technical proficiency and adapting to
industry-standard practices. It creates a platform for interns to not only
enhance their coding and development skills but also to build confidence for
future job opportunities.
Overall, this internship background reflects CodSoft’s mission to prepare
students for the competitive IT industry by offering them structured training,
guidance, and opportunities for skill enhancement.
9|Page
10 | P a g
e
1.2 Problem Statement
1. Number Game
The traditional number-guessing game is often played for fun but lacks a
structured digital format where users can interact with the system
intelligently. Many beginners in programming struggle to apply logical
thinking, conditional statements, and loops in a practical scenario. Therefore,
there is a need for a simple interactive game where the computer generates a
random number, and the player has to guess it within limited attempts. This
project aims to create a user-friendly Number Game that enhances logical
reasoning and provides practice in programming fundamentals like random
number generation, conditional logic, and iteration.
11 | P a g
e
12 | P a g
e
1.3 Objective
1. Number Game
The main objectives of developing the Number Game project are:
To design an interactive game that allows users to guess a
randomly generated number within limited attempts.
To practice and implement fundamental programming concepts such
as loops, conditional statements, and random number generation.
To enhance problem-solving and logical thinking skills through a
fun and engaging approach.
To improve user interaction by providing hints (e.g., whether
the guessed number is higher or lower).
To build a simple, error-free, and user-friendly program
that demonstrates the application of basic programming
logic.
2. Student Grade Calculator
The main objectives of developing the Student Grade Calculator project are:
To create an automated system that calculates the average
percentage of marks obtained by a student.
To assign appropriate grades to students based on predefined
grading criteria.
To reduce human error and save time in evaluating
student performance.
To strengthen programming skills in handling user input,
performing calculations, and displaying results.
To design a reliable and easy-to-use program that ensures
accuracy and efficiency in grade calculation.
13 | P a g
e
14 | P a g
e
1.4 Scope
1. Number Game
The scope of the Number Game project lies in its ability to provide a
simple, interactive, and engaging way for users to practice logical reasoning
and basic programming concepts. The game can be expanded to include
multiple difficulty levels, score tracking, leaderboards, and hints to make it
more challenging and fun. In the academic and learning context, the project
serves as a foundation for understanding programming constructs such as
loops, conditionals, and random number generation. It can also be used as a
teaching tool for beginners in programming to strengthen their problem-
solving skills.
2. Student Grade Calculator
The scope of the Student Grade Calculator project is to provide an
automated solution for calculating student grades quickly and accurately.
While the current version calculates average marks and assigns grades, it can
be further extended to handle large datasets of students, integrate with
databases, and generate detailed performance reports. This project is useful
for educational institutions, teachers, and students, as it minimizes errors in
evaluation and saves time. Moreover, it provides a strong base for
developing more advanced systems such as student performance dashboards
and online academic management systems.
15 | P a g
e
16 | P a g
e
CHAPTER 2: METHODOLOGY
2.1 Internship Workflow
The internship at CodSoft followed a structured and systematic flow to
ensure maximum learning and skill development. The program was divided
into different stages that helped in understanding concepts, applying
knowledge, and developing projects effectively. The flow of the internship
can be described as follows:
2. Task Allocation
17 | P a g
e
5. Submission of Projects
Activities Performed
18 | P a g
e
Analyzed problem statements and designed solutions before coding.
Developed the Number Game Project using random number logic
and loops.
Created the Student Grade Calculator Project to calculate averages
and assign grades automatically.
Performed testing and debugging to remove errors and improve
performance.
Submitted completed projects for review and received mentor feedback.
Prepared final internship documentation and reports summarizing
learning outcomes.
2. Development Environment
IDE/Text Editors:
o Visual Studio Code / PyCharm / Eclipse / IntelliJ (any one used
during the internship).
o Provided features like syntax highlighting, debugging, and auto-
completion to ease development.
4. Hardware Requirements
19 | P a g
e
5. Software Requirements
6. Documentation Tools
7. Online Resources
20 | P a g
e
CHAPTER 3: SYSTEM DESIGN & ARCHITECTURE
1. Number Game
Overview:
The number game is an interactive application where users play a fun and
engaging game involving number guessing or calculations.
Architecture:
Client Interface: A user-friendly graphical user interface (GUI) or
console interface was developed using a programming language like
Python with Tkinter or JavaScript.
Business Logic Layer: The core game logic processes user inputs,
generates random numbers, evaluates guesses, and provides feedback.
Data Handling: Temporary variables store user attempts and scores
during gameplay.
Flow:
1. The user initiates the game.
2. The system generates a random target number.
3. The user inputs guesses.
4. The system validates the input, compares with the target
number, and gives clues or updates attempts.
5. The game ends when the user guesses correctly or runs out of
attempts.
Design Considerations:
Simple and responsive design.
Error handling for invalid inputs.
Modular design separating UI and logic.
2. Student Grade
Calculator Overview:
The student grade calculator automates the process of inputting marks and
calculating final grades based on predefined criteria.
Architecture:
User Interface: A form-based UI (GUI or web form) for entering
student marks across subjects.
21 | P a g
e
Calculation Engine: Logic to calculate total marks, percentage, and
corresponding grades according to preset thresholds.
Data Management: Temporarily holds input data during the
calculation session; can be extended to save data.
Workflow:
1. User inputs marks for various subjects.
2. System sums the marks.
3. Calculates percentage and determines grade based on grading
criteria.
4. Displays results to the user.
Design Considerations:
Input validation to ensure marks are valid.
Clear and concise display of results.
Extensibility for adding more subjects or changing grading metrics.
22 | P a g
e
3.1 FUNCTIONAL REQUIREMENTS
1. Number Game
23 | P a g
e
3.2 NON-FUNCTIONAL REQUIREMENTS
1. Number Game
1. Usability:
o The game should have a simple and user-friendly interface.
o Instructions should be clear so that even beginners can play
easily.
2. Performance:
o The game should generate results instantly without noticeable
delays.
o The random number must be generated efficiently.
3. Reliability:
o The system should provide consistent results each time it is
played.
o It should not crash or terminate unexpectedly during execution.
4. Portability:
o The game should run on multiple platforms (Windows, Linux,
etc.) where the programming language is supported.
5. Maintainability:
o The code should be written in a structured and modular way
for easy updates or improvements.
24 | P a g
e
CHAPTER 4: IMPLEMENTATION
CODE:
import [Link];
class cal
[Link](" ");
[Link]("NUMBER GAME");
[Link]("
");
25 | P a g
e
26 | P a g
e
[Link]("1-> WANT TO PLAY
int ch = [Link]();
switch (ch)
case 1:
while (playagain)
[Link]("Round" + i);
user_choice = [Link]();
if (user_choice == Random_Number)
guess = true;
finalscore++;
break;
27 | P a g
e
[Link]("USER CHOICED NUMBER IS LARGER.");
else
if (guess = false)
playagain = [Link]("YES");
case 2:
break;
default:
28 | P a g
e
4.2 Student Grade Calculator
Take marks obtained (out of 100) in each subject. Calculate Total
Marks: Sum up the marks obtained in all subjects. Calculate Average
Percentage: Divide the total marks by the total number of subjects to
get the average percentage. Grade Calculation: Assign grades based on
the average percentage achieved. Display Results: Show the total
marks, average percentage, and the corresponding grade to the user.
CODE:
import [Link];
class cal
{
public static void main(String arg[])
{
[Link](" ");
[Link]("STUDENT GRADE CALCULATOR");
[Link](" ");
int totalmarks, subject, sumofmarks = 0;
float avgpercent = 0.0f;
Scanner sc = new Scanner([Link]);
[Link]("HOW MANY SUBJECT YOU HAVE=");
subject = [Link]();
for (int i = 1; i <= subject; i++)
{
[Link]("ENTER THE MARK OF " + i + " SUBJECT= ");
totalmarks = [Link]();
sumofmarks += totalmarks;
[Link]("TOTAL MARKS= " + sumofmarks);
}
avgpercent = sumofmarks / subject;
[Link]("AVERAGE PERCENTAGE= " + avgpercent);
if (avgpercent >= 90)
{
[Link]("A1 GRADE");
29 | P a g
e
}
else if (avgpercent >= 80)
{
[Link]("A2 GRADE");
}
else if (avgpercent >= 70)
{
[Link]("B1 GRADE");
}
else if (avgpercent >= 60)
{
[Link]("B2 GRADE");
}
else if (avgpercent >= 50)
{
[Link]("C1 GRADE");
}
else if (avgpercent >= 40 )
{
[Link]("C2 GRADE");
}
else if (avgpercent >= 33)
{
[Link]("D1 GRADE");
}
else if(avgpercent < 33)
{
[Link]("FAIL");
}
else
{
[Link]("NOT VALID FOR FOR MARKS");
}
}}
30 | P a g
e
4.3 Challenges & Learnings
1. Number Game
Challenges:
Designing an engaging yet simple game logic that balances difficulty and
fun.
Handling unexpected user inputs such as invalid or non-numeric entries
gracefully without crashing the program.
Implementing a user-friendly interface that clearly communicates game
status, clues, and outcomes.
Managing game state efficiently, especially tracking user attempts and
providing real-time feedback.
Learning:
Improved programming skills in logic development and control flow.
Gained experience in input validation and error handling to create robust
software.
Learned how to design interactive user interfaces that enhance user
engagement.
Developed problem-solving skills by debugging and refining game
mechanics for better user experience.
2. Student Grade Calculator
Challenges:
Defining accurate grading criteria and ensuring calculations reflect the
correct grade based on input scores.
Validating user inputs to prevent invalid marks (e.g., negative values or
marks exceeding maximum limits).
Ensuring the calculator is scalable for additional subjects or changes in
grading rules.
Presenting the results clearly and understandably for users with different
levels of technical knowledge.
31 | P a g
e
Learning:
Enhanced understanding of conditional logic and arithmetic operations in
programming.
Gained experience in form design and user input validation for reliable
data collection.
Learned about creating scalable and maintainable code architecture for
easy updates.
Improved skills in user experience design for presenting quantitative
results clearly.
32 | P a g
e
CHAPTER 5: RESULT AND ANALYSIS
Both the student grade calculator and number game projects effectively
demonstrate core Java programming concepts such as loops,
conditionals, user input handling, and output display. The grade
calculator focuses on processing numeric input to calculate averages and
assign grades, applying conditional logic to classify performance, while
the number game emphasizes interactive gameplay with random number
generation, limited attempts for guessing, and real-time feedback based
on user input. Each program offers clear user prompts and logical flow,
enhancing user experience, though both would benefit from improved
input validation and minor code fixes to handle edge cases more
robustly. These projects also teach modular programming principles, as
seen with the separate method for random number generation in the
game. Additionally, they provide valuable lessons in debugging,
algorithmic thinking, and efficient code structuring crucial for scalable
software development. Overall, they provide practical, beginner-friendly
experience in building functional applications that improve problem-
solving, critical thinking, and programming skills in a real-world context.
This foundation prepares learners for more complex software
development challenges by reinforcing basic concepts in a hands-on
manner. Moreover, these projects improve confidence in coding and
encourage best practices such as user engagement and iterative
development, which are vital for successful programming careers. Each
program offers clear user prompts and logical flow, enhancing user
experience, though both would benefit from improved input validation
and minor code fixes to handle edge cases more robustly. These projects
also teach modular programming principles, as seen with the separate
method for random number generation in the game. Overall, they provide
practical, beginner-friendly experience in building functional
applications that improve problem-solving, critical thinking, and
programming skills in a real-world context. This foundation prepares
learners for more complex software development challenges by
reinforcing basic concepts in a hands-on manner. Overall, they provide
practical, beginner-friendly experience in building functional
applications that improve problem-solving, critical thinking, and
programming skills in a real-world context. This foundation prepares
learners for more complex software development challenges by
reinforcing basic concepts in a hands-on manner. Moreover, these
projects improve confidence in coding and encourage best practices such
as user engagement and iterative development, which are vital for
successful programming careers.
33 | P a g
e
34 | P a g
e
5.1 NUMBER GAME
Result:
Analysis:
35 | P a g
e
Input Handling: The program properly reads user guesses and menu
selections using Scanner.
Feedback: It provides clear responses indicating if the user’s guess is
too high, too low, or correct.
Score Tracking: Keeps a running score of how many correct guesses
the user has made.
Bug in Condition: The line if (guess = false) is an assignment, not a
comparison. It should be if (guess == false) or if (!guess). Due to this,
the lost chance message may incorrectly display during guessing
rounds.
Switch Cases: The case 1 does not have a break before case 2, so after
finishing the game, it automatically goes to exit message. Adding a
break after the game loop would fix this.
User Experience: Menu and replay options improve playability.
Input Validation: The program does not validate if the user inputs
out- of-range numbers or non-integer inputs, which could lead to
exceptions or undesired behavior.
Code Structure: The code is modular with getrandN method for
random number generation and uses loops and conditions effectively.
Key Recommendations:
36 | P a g
e
5.2 STUDENT GRADE CALCULATOR
Result:
Analysis:
37 | P a g
e
Data Types: The average percentage uses a float, but due to
integer division in avgpercent = sumofmarks / subject; the result
might be truncated. This can be improved by type casting or using
floating- point division for accuracy.
User Interaction: The program clearly prompts for inputs and displays
intermediate totals, aiding user understanding.
Code Structure: The program uses straightforward procedural code
and a loop for input collection, making it easy to read and
maintain.
Input Validation: There is no input validation (e.g.,
preventing negative or unrealistic marks), which could be a
point for improvement.
Edge Cases: The last else block ("NOT VALID FOR FOR
MARKS") is unreachable because all possible averages are covered
by previous conditions.
38 | P a g
e
39 | P a g
e
CHAPTER 6: CONCLUSION
The student grade calculator and number game projects represent
foundational steps in building practical programming skills using Java. They
provide hands-on experience in core programming concepts such as loops,
conditions, input/output operations, and modular design principles. The
grade calculator project introduces critical thinking about numeric data
processing, enabling users to input multiple values, calculate averages, and
classify performance through graded outputs. It lays the groundwork for
understanding how real- world educational software can automate evaluation
processes. Meanwhile, the number game illustrates interactive programming,
randomization, control flow, and user decision-making, enhancing
engagement and problem-solving abilities.
Both projects foster essential skills like debugging, user-centric design, and
program structure, which are vital in professional software development. By
overcoming challenges such as input validation, error handling, and logical
flow management, learners gain confidence to innovate and extend software
functionality. These projects also illustrate the importance of iterative
development cycles and testing to achieve robust applications.
If desired, these projects can serve as stepping stones towards more complex
applications such as comprehensive academic management systems or
immersive educational games, highlighting their enduring relevance.
Future Scope:
40 | P a g
e
41 | P a g
e
handle multiple students with data storage using databases or files, enabling
persistent record-keeping and retrieval. Advanced analytics could be
incorporated, such as performance trends, grade predictions using machine
learning, and generating detailed reports. Integration with web technologies
can turn it into an online grading system accessible on various devices.
Similarly, the number game project has potential for future growth by adding
levels of difficulty, timers, leaderboards, and multiplayer modes to increase
engagement. A GUI-based version or a mobile app could enhance user
experience with graphics and sounds. Additionally, adaptive difficulty using
algorithms can improve the challenge level based on player skill. Both
projects can benefit from incorporating input validation and error handling to
make them robust and user-friendly. Integrating these projects into larger
educational platforms could also improve learning outcomes through
gamification and automated assessment.
42 | P a g
e
REFRENCES
1. W3Resource, "Java Project - Student Grade System,"
[Link], A comprehensive guide demonstrating how to
implement student grade calculation with code examples and ideas for
extension using arrays and OOP.
2. Tech Crash Course, "Java Program to Calculate Grade of
Students," [Link]. Explains using conditional statements
and switch cases to categorize student grades programmatically.
3. GeeksforGeeks, "Student Grade Calculator using Java
Swing," [Link]. Details implementing a user-friendly
graphical interface for student grade calculation.
4. IJCRT, "Student Grading System Research Paper," International
Journal”. Discusses automation of academic evaluation systems,
database integration, security, and usability aspects.
5. GitHub Repository:
Task1: [Link]
Task2: [Link]
9. Offer Letter
[Link]
QD3HL/view
[Link]
[Link]
8mQBE yDD2Kn8on/view
43 | P a g
e