0% found this document useful (0 votes)
3 views

Internship (1)

The summer internship report by Gundam Damodhar Reddy discusses the intersection of programming languages and machine learning, emphasizing the need for a dedicated programming language for machine learning applications. It covers various programming languages including Python, Java, and C, detailing their advantages and disadvantages, as well as the fundamentals of machine learning, its categories, and applications. The report highlights the growing importance of machine learning in various fields and its potential for future advancements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Internship (1)

The summer internship report by Gundam Damodhar Reddy discusses the intersection of programming languages and machine learning, emphasizing the need for a dedicated programming language for machine learning applications. It covers various programming languages including Python, Java, and C, detailing their advantages and disadvantages, as well as the fundamentals of machine learning, its categories, and applications. The report highlights the growing importance of machine learning in various fields and its potential for future advancements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

A Summer Internship report

on
“PROGRAMMING LANGUAGES & MACHINE LEARNING”
Submitted in partial fulfillment of the requirement
for the award of the degree of
Bachelor of Technology
in
Computer Science and Engineering
By
GUNDAM DAMODHAR REDDY
(21701A0529)

Department of Computer Science and Engineering

Annamacharya Institute of Technology and Sciences


(An Autonomous Institution)
New Boyanapalli, Rajampet-516126 Kadapa (Dt), A.P.
Approved by AICTE, New-Delhi and affliated to J.N.T.U.A, Anantapuramu
Accredited by NBA & NAAC with A Grade
2023-24
Department of Computer Science and Engineering

Annamacharya Institute of Technology and Sciences


(An Autonomous Institution)
New Boyanapalli, Rajampet-516 126 Kadapa (Dt), A.P.
Approved by AICTE, New-Delhi and affliated to J.N.T.U.A, Anantapuramu
Accredited by NBA & NAAC with A Grade

CERTIFICATE
This is to certify that the summer Internship report entitled
“PROGRAMMING LANGUAGES & MACHINE LEARNING” is
submitted by
Name: GUNDAM DAMODHAR REDDY,
Roll Number: 21701A0529 in partial fulfillment of the requirements for the
award of Degree of Bachelor of Technology in “Computer Science and
Engineering” for the academic year 2023-24.

Summer Internship Supervisor Head of Department


Mr. C.V.Lakshmi Narayana Dr.M.SubbaRao
Assistant Professor Professor and HoD

Department of CSE Department of CSE


ABSTRACT

The complexity of Machine Learning (ML) models and the frameworks people are using to build them
has exploded along with ML itself. State-of-the-art models are increasingly programs, with support
for programming constructs like loops and recursion, and this brings out many interesting issues in
the tools we use to create them — that is, programming languages (PL). This paper1 , discusses the
necessity for a first class language for machine learning, and what such a language might look like.
CONTENTS

1. Abstract
2. Introduction
3. Methodology
4. Environment
4.1 For Programming Languages
4.1.1 Text Editor
4.1.2 Compiler
4.1.3 Interpreter
4.1.4 Types of programming language
Python
Java
C
5.Machine learning
5.1 Introduction to Machine learning
5.2 What is machine learning
5.3What today AI’s Do
5.4 How does Machine learning work
5.5 Classification of machine learning
5.5.1 Supervised Learning
5.5.2 Unsupervised Learning
5.5.3 Reinforcement Learning
5.6 Advantages and Disadvantages of Machine learning
6.Conclusion
Introduction to Computer Program

Before getting into computer programming, let us first understand computer programs and
what they do.

A computer program is a sequence of instructions written using a Computer Programming


Language to perform a specified task by the computer.

The two important terms that we have used in the above definition are −

 Sequence of instructions
 Computer Programming Language
Now, let's go back and try to understand a computer program, which is a sequence of
instructions written in a Computer Language to perform a specified task by the computer.
Following is a simple program written in Python programming Language −
print "Hello, World!"

The above computer program instructs the computer to print "Hello, World!" on the computer
screen.

 A computer program is also called a computer software, which can range from two
lines to millions of lines of instructions.
 Computer program instructions are also called program source code and computer
programming is also called program coding.
 A computer without a computer program is just a dump box; it is programs that make
computers active.

Introduction to Computer Programming


If you understood what a computer program is, then we will say: the act of writing
computer programs is called computer programming.

As we mentioned earlier, there are hundreds of programming languages, which can be used to
write computer programs and following are a few of them
 Java
 C
 C++
 Python
 PHP
 Perl
 Ruby

ENVIRONMENT

For Programming Language

Though Environment Setup is not an element of any Programming Language, it is the


first step to be followed before setting on to write a program. When we say Environment
Setup, it simply implies a base on top of which we can do our programming. Thus, we need
to have the required software setup, i.e., installation on our PC which will be used to write
computer programs, compile, and execute them.

Similarly, you will need the following setup to start with programming using any
programming language.

 A text editor to create computer programs


 A compiler to compile the programs into binary format
 An interpreter to execute the programs directly

Text Editor :

A text editor is a software that is used to write computer programs. Your Windows
machine must have a Notepad, which can be used to type programs.

Compiler :

You write your computer program using your favorite programming language and
save it in a text file called the program file. Now let us try to get a little more detail on how
the computer understands a program written by you using a programming language.

Actually, the computer cannot understand your program directly given in the text
format, so we need to convert this program in a binary format, which can be understood by
the computer. The conversion from text program to binary file is done by another software
called Compiler and this process of conversion from text formatted program to binary format
file is called program compilation. Finally, you can execute binary file to perform the
programmed task.

So, if you are going to write your program in any such language, which needs
compilation like C, C++, Java and Pascal, etc., then you will need to install their compilers
before you start programming.

The following flow diagram gives an illustration of the process:


Interpreter :

We just discussed about compilers and the compilation process. Compilers are
required in case you are going to write your program in a programming language that needs
to be compiled into binary format before its execution. There are other programming
languages such as Python, PHP, and Perl, which do not need any compilation into binary
format, rather an interpreter can be used to read such programs line by line and execute them
directly without any further conversion.

So, if you are going to write your programs in PHP, Python, Perl, Ruby, etc., then you
will need to install their interpreters before you start programming.
Types of Programming Languages

Python

Python is one of the most widely used user-friendly programming languages. It is an open-
source and easy to learn programming language developed in the 1990s. It is mostly used
in Machine learning, Artificial intelligence, Big Data, GUI based desktop applications,
and Robotics.

Advantages:

o Python is easy to read, easy to understand, and easy to write.


o It integrates with other programming languages like C, C++, and Java.
o Python executes code line-by-line, so it is easy for the programmer to find the
error that occurred in the code.
o Python is platform-independent means you can write code once and run it
anywhere.
o Java is easy to write, compile, learn, and debug as compared to other
programming languages.
o It provides an ability to run the same program on different platforms.
o It is a highly secured programming language because in java, there is no
concept of explicit pointers.
o It is capable of performing multiple tasks at the same time.

Disadvantages:

o Python is not suitable for developing mobile applications and games.


o Python works with the interpreter. That's why it is slower than other
programming languages like C and C++.
o Java consumes more memory and slower than other programming languages
like C or C++.
o It does not provide a backup facility.

Java

Java is a simple, secure, platform-independent, reliable, architecture-neutral high-level


programming language developed by Sun Microsystems in 1995. Now, Java is owned by
Oracle. It is mainly used to develop bank, retail, information technology, android, big data,
research community, web, and desktop applications.
Advantages

o Java is easy to write, compile, learn, and debug as compared to other programming
languages.
o It provides an ability to run the same program on different platforms.

o It is a highly secured programming language because in java, there is no concept of


explicit pointers.
o It is capable of performing multiple tasks at the same time.

Disadvantages

o Java consumes more memory and slower than other programming languages like C or
C++.
o It does not provide a backup facility.

C
C is a popular, simple, and flexible general-purpose computer programming language. Dennis
M Ritchie develops it in 1972 at AT&T. It is a combination of both low-level programming language
as well as a high-level programming language. It is used to design applications like Text Editors,
Compilers, Network devices, and many more.
Advantages

o C language is easy to learn.

o It is fast, efficient, portable, easy to extend, powerful, and flexible programming


language.
o It is used to perform complex calculations and operations such as MATLAB.

o It provides dynamic memory allocation to allocate memory at the run time.

Disadvantages

o In the C programming language, it is very difficult to find the errors.

o C does not support the concepts of constructors, destructors, abstraction,


polymorphism, encapsulation, and namespace like OOPs.
Machine Learning

Introduction to Machine Learning


Today’s Artificial Intelligence (AI) has far surpassed the hype of blockchain and
quantum computing. This is due to the fact that huge computing resources are easily available
to the common man. The developers now take advantage of this in creating new Machine
Learning models and to re-train the existing models for better performance and results. The
easy availability of High Performance Computing (HPC) has resulted in a sudden increased
demand for IT professionals having Machine Learning skills.

What is Machine Learning?


In the real world, we are surrounded by humans who can learn everything from their
experiences with their learning capability, and we have computers or machines which work
on our instructions. But can a machine also learn from experiences or past data like a human
does? So here comes the role of Machine Learning.
Machine Learning - What Today’s AI Can Do?
When you tag a face in a Facebook photo, it is AI that is running behind the scenes
and identifying faces in a picture. Face tagging is now omnipresent in several applications
that display pictures with human faces. Why just human faces? There are several applications
that detect objects such as cats, dogs, bottles, cars, etc. We have autonomous cars running on
our roads that detect objects in real time to steer the car. When you travel, you use
Google Directions to learn the real-time traffic situations and follow the best path suggested
by Google at that point of time. This is yet another implementation of object detection
technique in real time.
There are several applications of AI that we use practically today. In fact, each one of
us use AI in many parts of our lives, even without our knowledge. Today’s AI can perform
extremely complex jobs with a great accuracy and speed. Let us discuss an example of
complex task to understand what capabilities are expected in an AI application that you
would be developing today for your clients.

Machine Learning – Categories:

Machine learning evolved from left to right as shown in the above diagram.

 Initially, researchers started out with Supervised Learning. This is the case of housing
price prediction discussed earlier.
 This was followed by unsupervised learning, where the machine is made to learn on
its own without any supervision.
 Scientists discovered further that it may be a good idea to reward the machine when it
does the job the expected way and there came the Reinforcement Learning.
 Very soon, the data that is available these days has become so humongous that the
conventional techniques developed so far failed to analyze the big data and provide us
the predictions.
 Thus, came the deep learning where the human brain is simulated in the Artificial
Neural Networks (ANN) created in our binary computers.
 The machine now learns on its own using the high computing power and huge
memory resources that are available today.
 It is now observed that Deep Learning has solved many of the previously unsolvable
problems.
 The technique is now further advanced by giving incentives to Deep Learning
networks as awards and there finally comes Deep Reinforcement Learning.

How does Machine Learning work


A machine learning system builds prediction models, learns from previous data, and predicts the
output of new data whenever it receives it. The amount of data helps to build a better model that
accurately predicts the output, which in turn affects the accuracy of the predicted output.

Let's say we have a complex problem in which we need to make predictions. Instead of writing code,
we just need to feed the data to generic algorithms, which build the logic based on the data and predict
the output. Our perspective on the issue has changed as a result of machine learning. The Machine
Learning algorithm's operation is depicted in the following block diagram:
Classification of Machine Learning

At a broad level, machine learning can be classified into three types:

1. Supervised learning
2. Unsupervised learning
3. Reinforcement learning

1) Supervised Learning
In supervised learning, sample labeled data are provided to the machine learning system for training,
and the system then predicts the output based on the training data.
The system uses labeled data to build a model that understands the datasets and learns about
each one. After the training and processing are done, we test the model with sample data to
see if it can accurately predict the output.

The mapping of the input data to the output data is the objective of supervised learning. The
managed learning depends on oversight, and it is equivalent to when an understudy learns
things in the management of the educator. Spam filtering is an example of supervised
learning.

Supervised learning can be grouped further in two categories of algorithms:

o Classification

o Regression

2) Unsupervised Learning

Unsupervised learning is a learning method in which a machine learns without any


supervision.

The training is provided to the machine with the set of data that has not been labeled,
classified, or categorized, and the algorithm needs to act on that data without any supervision.
The goal of unsupervised learning is to restructure the input data into new features or a group
of objects with similar patterns.

In unsupervised learning, we don't have a predetermined result. The machine tries to find
useful insights from the huge amount of data. It can be further classifieds into two categories
of algorithms:

o Clustering

o Association

3) Reinforcement Learning

Reinforcement learning is a feedback-based learning method, in which a learning agent gets a


reward for each right action and gets a penalty for each wrong action. The agent learns
automatically with these feedbacks and improves its performance. In reinforcement learning,
the agent interacts with the environment and explores it. The goal of an agent is to get the
most reward points, and hence, it improves its performance.

Advantages of Machine Learning

1. Automation

Machine Learning is one of the driving forces behind automation, and it is cutting down time and
human workload. Automation can now be seen everywhere, and the complex algorithm does the hard
work for the user. Automation is more reliable, efficient, and quick. With the help of machine
learning, now advanced computers are being designed. Now this advanced computer can handle
several machine-learning models and complex algorithms. However, automation is spreading faster in
the industry but, a lot of research and innovation are required in this field.

2. Scope of Improvement

Machine Learning is a field where things keep evolving. It gives many opportunities for improvement
and can become the leading technology in the future. A lot of research and innovation is happening in
this technology, which helps improve software and hardware.

3. Enhanced Experience in Online Shopping and Quality Education

Machine Learning is going to be used in the education sector extensively, and it will be going to
enhance the quality of education and student experience. It has emerged in China; machine learning
has improved student focus. In the e-commerce field, Machine Learning studies your search feed and
give suggestion based on them. Depending upon search and browsing history, it pushes targeted
advertisements and notifications to users.

4. Wide Range of Applicability

This technology has a very wide range of applications. Machine learning plays a role in almost every
field, like hospitality, ed-tech, medicine, science, banking, and business. It creates more
opportunities.
Disadvantages of the Machine Learning

Nothing is perfect in the world. Machine Learning has some serious limitations, which are bigger than
human errors.

1. Data Acquisition

The whole concept of machine learning is about identifying useful data. The outcome will be
incorrect if a credible data source is not provided. The quality of the data is also significant. If the user
or institution needs more quality data, wait for it. It will cause delays in providing the output. So,
machine learning significantly depends on the data and its quality .
2. Time and Resources

The data that machines process remains huge in quantity and differs greatly. Machines require time so
that their algorithm can adjust to the environment and learn it. Trials runs are held to check the
accuracy and reliability of the machine. It requires massive and expensive resources and high-quality
expertise to set up that quality of infrastructure. Trials runs are costly as they would cost in terms of
time and expenses.

3. Results Interpretations

One of the biggest advantages of Machine learning is that interpreted data that we get from the cannot
be hundred percent accurate. It will have some degree of inaccuracy. For a high degree of accuracy,
algorithms should be developed so that they give reliable results.

4. High Error Chances

The error committed during the initial stages is huge, and if not corrected at that time, it creates havoc.
Biasness and wrongness have to be dealt with separately; they are not interconnected. Machine
learning depends on two factors, i.e., data and algorithm. All the errors are dependent on the two
variables. Any incorrectness in any variables would have huge repercussions on the output.

5. Social Changes

Machine learning is bringing numerous social changes in society. The role of machine learning-based
technology in society has increased multifold. It is influencing the thought process of society and
creating unwanted problems in society. Character assassination and sensitive details are disturbing the
social fabric of society.

6. Elimination of Human Interface

Automation, Artificial Intelligence, and Machine Learning have eliminated human interface from
some work. It has eliminated employment opportunities. Now, all those works are conducted with the
help of artificial intelligence and machine learning.

7. Changing Nature of Jobs

With the advancement of machine learning, the nature of the job is changing. Now, all the work are
done by machine, and it is eating up the jobs for human which were done earlier by them. It is
difficult for those without technical education to adjust to these changes.
8. Highly Expensive

This software is highly expensive, and not everybody can own it. Government agencies, big private
firms, and enterprises mostly own it. It needs to be made accessible to everybody for wide use.

9. Privacy Concern

As we know that one of the pillars of machine learning is data. The collection of data has raised the
fundamental question of privacy. The way data is collected and used for commercial purposes has
always been a contentious issue. In India, the Supreme court of India has declared privacy a
fundamental right of Indians. Without the user's permission, data cannot be collected, used, or stored.
However, many cases have come up that big firms collect the data without the user's knowledge and
using it for their commercial gains.

10. Research and Innovations

Machine learning is evolving concept. This area has not seen any major developments yet that fully
revolutionized any economic sector. The area requires continuous research and innovation.

Conclusion

Programming language, Language in which a computer programmer writes instructions for a


computer to execute. Some languages, such as COBOL, FORTRAN, Pascal, and C, are
known as procedural languages because they use a sequence of commands to specify how the
machine is to solve a problem.

Machine Learning can be a Supervised or Unsupervised. If you have lesser amount of data
and clearly labelled data for training, opt for Supervised Learning. Unsupervised Learning
would generally give better performance and results for large data sets.

You might also like