Internship Title
An Internship report in partial fulfilment of the requirements for the award of
degree of
MASTER OF COMPUTER APPLICATIONS
of
Visvesvaraya Technological University
By
B Prasanth Kumar
1AM23MC084
Under the Guidance of
Gunasekaran k
Assistant Professor,
[Link] MCA.
Department of Master of Computer Applications,
AMC ENGINEERING COLLEGE
Bannergatta Road, Bengaluru - 560 083
January - 2025
AMC ENGINEERING COLLEGE
Bannergatta Road, Bengaluru - 560 083
Department of Master of Computer Applications
CERTIFICATE
This is to certify that the Internship work entitled
<title of the internship>
Submitted in partial fulfillment of the requirement for the award of the
degree
MASTER OF COMPUTER APPLICATIONS
Of
Visvesvaraya Technological University, Belagavi, Karnataka
Is a result of the bonafide work carried out
By
B Prasanth Kumar
1AM23MC084
During the academic year 2024-2025
Guide Signature Signature of HOD
[Link] K Dr. MS Shashidhara.
Dept. of MCA Dept. of MCA,
AMCEC. AMCEC.
DIARY/ WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
1st WEEK
Wednesday
Thursday
Friday
Saturday
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
2nd WEEK
Wednesday
Thursday
Friday
Saturday
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
Wednesdy
3rd WEEK
Thursday
Friday
Saturday
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
Wednesday
4th WEEK
Thursday
Friday
Saturday
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
Wednesday
5th WEEK
Thursday
Friday
Saturday
DATE DAY NAME OF THE TOPIC/MODULE COMPLETED
Monday
Tuesday
Wednesday
6th WEEK
Thursday
Friday
Saturday
Signature of the Guide
DECLARATION
I, student of third semester MCA, AMC Engineering College, Bangalore, hereby
declare that the internship title “” has been independently carried out by me under
the supervision of External Guide of company, Bangalore and Internal Guide Mr.
Achutha JC, Asst. Professor, Dept. of MCA, AMCEC, Bangalore and
submitted in partial fulfillment of the requirements for the award of degree in
MASTER OF COMPUTER APPLICATIONS by the Visvesvaraya
Technological University during the academic year 2024-25
Place: Bangalore B Prasanth Kumar
Date: 1AM23MC084
ACKNOWLEDGEMENT
Company Certificate
[Link] Contents [Link]
1 Abstract
2 Introduction
1.1 Modules
3 Objectives of the Internship
4 Technologies and Tools learnt
5. Technology
4.1 [Link]
4.2 [Link]
4.3 ……
6. Coding with Mini Project
7. Screenshots
8. Conclusion
9 Bibliography
Software Developer
ABSTRACT
A highly skilled and detail-oriented Software Developer with expertise in designing, coding,
testing, and maintaining robust software solutions. Proficient in multiple programming
languages, frameworks, and tools, with a strong foundation in object-oriented programming,
database management, and version control systems. Experienced in developing scalable web
and mobile applications, implementing APIs, and optimizing performance to meet evolving
business requirements.
Demonstrates excellent problem-solving abilities and a passion for delivering high-quality,
user-friendly software products. Collaborates effectively within cross-functional teams to
drive project success and ensure timely delivery. Committed to continuous learning and
adopting the latest technologies to stay ahead in a rapidly changing industry.
Specializations include Java, Python, JavaScript, React, SQL, and cloud computing
platforms, along with proficiency in Agile methodologies and DevOps practices.
INTRODUCTION
I am a passionate and results-driven Software Developer with a strong background in
designing, building, and maintaining high-performance software applications. With expertise
in programming languages such as Java, Python, and JavaScript, I specialize in developing
scalable web and mobile applications, integrating APIs, and optimizing software
performance.
I have experience working in Agile environments, collaborating with cross-functional teams
to deliver user-focused solutions on time and within scope. My skill set includes object-
oriented programming, database management, and cloud technologies, enabling me to tackle
complex problems and implement innovative solutions.
Driven by a continuous learning mindset, I stay updated with the latest trends and
technologies to ensure the delivery of cutting-edge solutions that meet evolving business
needs. I am committed to producing clean, efficient code and providing high-quality software
that enhances user experience and drives business success.
OBJECTIVES OF THE INTERNSHIP
Primary Objectives
Gain Practical Experience: Apply theoretical knowledge of software development to
real-world projects and gain hands-on experience.
Develop Technical Skills: Improve programming skills, learn new technologies, and
enhance problem-solving abilities.
Understand Software Development Methodologies: Familiarize yourself with Agile
development methodologies, version control systems, and collaborative development
tools.
Secondary Objectives
Contribute to Real-World Projects: Participate in the development of software
applications, tools, or systems that solve real-world problems.
Collaborate with Cross-Functional Teams: Work with designers, project managers,
and other stakeholders to understand software requirements and deliver high-quality
solutions.
Improve Communication and Teamwork Skills: Develop effective communication
and teamwork skills by working with colleagues, receiving feedback, and providing
constructive criticism.
Stay Up-to-Date with Industry Trends: Learn about the latest technologies,
frameworks, and best practices in software development.
Build a Professional Network: Establish relationships with experienced professionals
in the field and build a network of contacts for future opportunities.
Learning Outcomes
Improved coding skills: Enhance programming skills in languages such as Java,
Python, or C++.
Familiarity with development tools: Learn to use integrated development
environments (IDEs), version control systems (e.g., Git), and collaborative
development tools (e.g., Jira).
Understanding of software development life cycles: Familiarize yourself with the
software development life cycle, including requirements gathering, design,
implementation, testing, and deployment.
Experience with agile development methodologies: Apply Agile principles and
practices, such as Scrum or Kanban, to real-world projects.
Enhanced problem-solving skills: Develop strong problem-solving skills by working
on complex software development projects.
TECHNOLOGIES AND TOOLS LEARNT
1. Programming Languages:
Java: A popular language for building enterprise-level applications.
Python: A versatile language used for web development, data analysis, and machine
learning.
JavaScript: A language for client-side scripting and building web applications.
C++: A high-performance language for building operating systems, games, and other
high-performance applications.
C#: A modern language for building Windows applications and web services.
2. Web Development Tools and Frameworks:
Frontend Development:
HTML5 and CSS3 – Structure and styling of web pages.
JavaScript – Interactive UI components.
Frameworks:
o [Link] – Dynamic and reusable UI components.
o Angular – Scalable single-page applications (SPAs).
o [Link] – Lightweight UI frameworks.
o Bootstrap and Tailwind CSS – Responsive design and styling.
Backend Development:
[Link] ([Link]) – Scalable server-side scripting.
Django and Flask (Python) – Web application frameworks.
Spring Boot (Java) – Enterprise-level backend services.
3. Database Technologies:
MySQL: A popular relational database management system.
MongoDB: A NoSQL database for storing large amounts of unstructured data.
PostgreSQL: A powerful relational database management system.
Microsoft SQL Server: A relational database management system developed
by Microsoft.
4. Emerging Technologies:
AI/ML Libraries (TensorFlow, Scikit-learn) – Machine learning and AI development.
Big Data Tools (Hadoop, Spark) – Data processing and analytics.
Blockchain Technologies – Decentralized application development.
5. Data Science and Machine Learning:
NumPy and Pandas – Data analysis and manipulation.
Matplotlib and Seaborn – Data visualization tools.
Scikit-learn and TensorFlow – Machine learning algorithms and neural networks.
Keras and PyTorch – Deep learning frameworks.
Hadoop and Apache Spark – Big data processing and analytics.
TECHNOLOGY
Python:
Python is a high-level, interpreted programming language that is widely used for a variety of
applications, from web development to data analysis, machine learning, automation, and
more. It's known for its simplicity and readability, which makes it an excellent choice for
beginners and experienced developers.
It is used for:
web development (server-side),
software development,
mathematics,
system scripting.
Data Science and Machine Learning:
NumPy: The NumPy library provides support for large, multi-dimensional arrays and
matrices, along with a large collection of high-level mathematical functions to operate
on these arrays.
Pandas: The Pandas library provides high-performance, easy-to-use data structures and
data analysis tools for Python.
Scikit-learn: Scikit-learn is a machine learning library for Python that provides simple
and efficient tools for data mining and data analysis.
TensorFlow: TensorFlow is an open-source software library for numerical computation,
particularly well-suited and fine-tuned for large-scale Machine Learning (ML) and Deep
Learning (DL) tasks.
Keras: Keras is a high-level neural networks API that can run on top of TensorFlow,
CNTK, or Theano.
Data Visualization:
Matplotlib: Matplotlib is a plotting library for creating static, animated, and interactive
visualizations in Python.
Seaborn: Seaborn is a Python data visualization library based on matplotlib. It provides
a high-level interface for drawing attractive and informative statistical graphics.
Plotly: Plotly is a popular data visualization library in Python that allows you to create
interactive, web-based visualizations.
Categories of Machine Learning Algorithms:
Linear Regression:
It is one of the most well-known algorithms in machine learning and statistics. Linear
regression is represented by an equation that uses data points to find the best fit line to
model the data. In short, a relationship is established between dependent and
independent variables by fitting them to a line. In an equation, this looks like:
y = a*x + b
In this instance, y is the dependent variable, a is the slope, x is the independent variable and
b is the intercept. You can derive a and b by minimising the sum of the squared
difference of distance between data points and the regression line.
Logistic Regression:
This algorithm is used to estimate discrete values from a set of independent variables. On a
graph, logistic regression looks like a big S and fits all values with the range of 0 to 1. It
is used where you might expect a ‘this or that’ form of output, such as an occurrence
where you might want to determine whether it will rain or not. It can be represented as
the following equation where b0 and b1.
Decision Tree:
Decision trees are important algorithms for predictive modelling machine learning. The
representation of this type of algorithm is through a branching out tree into binary
variables. They can be used to determine both categorical and continuous dependent
variables. For example, credit card companies might use different communication
messaging for different segments of their audience. Decision trees can help with
segmentation and determine - who is above 30 years of age vs below, a current
cardholder vs potential customer, married or single, etc.
Support Vector Machines (SVM):
SVM is a classification-type algorithm that uses a hyperplane or line known as a
classifier to separate the data points. Using an SVM, you plot raw data as points in an n-
dimensional space, where n is the total number of features you have. Each feature’s
value is then tied to a particular coordinate, which makes it easy to classify the data. The
distance between the line and the closest data points is called the margin. The optimal
hyperplane is the one with the largest margin. The points along the classifier are called
the support vectors, which help find values for the coefficients that maximise the
margin.
CODING WITH MINI PROJECT
Create an Alarm Clock using Tkinter:
The solution is the Alarm Clock. In this article, we will learn, How to create an Alarm Clock
using Tkinter in Python. Without alarms, several people would oversleep and land up late for
work. Alarm clocks may also be useful for keeping sleep schedules regular.
Tkinter: Python offers multiple choices for developing a GUI (Graphical User
Interface). Out of all the GUI strategies, tkinter is that the most ordinarily used
technique. It’s a customary Python interface to the Tk GUI toolkit shipped with
Python.
Winsound: The winsound module provides access to the essential sound-playing
machinery provided by Windows platforms. It includes functions and a number of
other constants. Beep the PC’s speaker.
time: Time module in Python provides varied time-related functions. This module
comes with Python’s normal modules.
datetime: The main focus of datetime is to form it simpler to access attributes of the
thing associated with dates, times, and time zones.
# Import Required Library
from tkinter import *
import datetime
import time
import winsound
from threading import *
# Create Object
root = Tk()
# Set geometry
[Link]("400x200")
# Use Threading
def Threading():
t1=Thread(target=alarm)
[Link]()
def alarm():
# Infinite Loop
while True:
# Set Alarm
set_alarm_time = f"{[Link]()}:{[Link]()}:{[Link]()}"
# Wait for one seconds
[Link](1)
# Get current time
current_time = [Link]().strftime("%H:%M:%S")
print(current_time,set_alarm_time)
# Check whether set alarm is equal to current time or not
if current_time == set_alarm_time:
print("Time to Wake up")
# Playing sound
[Link]("[Link]",winsound.SND_ASYNC)
# Add Labels, Frame, Button, Optionmenus
Label(root,text="Alarm Clock",font=("Helvetica 20 bold"),fg="red").pack(pady=10)
Label(root,text="Set Time",font=("Helvetica 15 bold")).pack()
frame = Frame(root)
[Link]()
hour = StringVar(root)
hours = ('00', '01', '02', '03', '04', '05', '06', '07',
'08', '09', '10', '11', '12', '13', '14', '15',
'16', '17', '18', '19', '20', '21', '22', '23', '24'
)
[Link](hours[0])
hrs = OptionMenu(frame, hour, *hours)
[Link](side=LEFT)
minute = StringVar(root)
minutes = ('00', '01', '02', '03', '04', '05', '06', '07',
'08', '09', '10', '11', '12', '13', '14', '15',
'16', '17', '18', '19', '20', '21', '22', '23',
'24', '25', '26', '27', '28', '29', '30', '31',
'32', '33', '34', '35', '36', '37', '38', '39',
'40', '41', '42', '43', '44', '45', '46', '47',
'48', '49', '50', '51', '52', '53', '54', '55',
'56', '57', '58', '59', '60')
[Link](minutes[0])
mins = OptionMenu(frame, minute, *minutes)
[Link](side=LEFT)
second = StringVar(root)
seconds = ('00', '01', '02', '03', '04', '05', '06', '07',
'08', '09', '10', '11', '12', '13', '14', '15',
'16', '17', '18', '19', '20', '21', '22', '23',
'24', '25', '26', '27', '28', '29', '30', '31',
'32', '33', '34', '35', '36', '37', '38', '39',
'40', '41', '42', '43', '44', '45', '46', '47',
'48', '49', '50', '51', '52', '53', '54', '55',
'56', '57', '58', '59', '60')
[Link](seconds[0])
secs = OptionMenu(frame, second, *seconds)
[Link](side=LEFT)
Button(root,text="Set Alarm",font=("Helvetica
15"),command=Threading).pack(pady=20)
# Execute Tkinter
[Link]()
SCREENSHOTS
CONCLUSION
In conclusion, software development is a dynamic and intricate process that involves
designing, creating, testing, and maintaining software applications. It requires a thorough
understanding of programming languages, tools, and frameworks, as well as collaboration
among team members to ensure the end product meets user needs. Key concepts like version
control, debugging, testing, and deployment are essential to delivering high-quality software.
Moreover, staying adaptable and continuously learning new technologies and best practices is
crucial, as the field is ever-evolving. By following established development methodologies
(like Agile), leveraging the power of collaboration, and focusing on user-centric design,
developers can create effective and sustainable software solutions that meet the challenges of
modern computing environments.