You are on page 1of 44

A

REPORT
ON
INDUSTRIAL TRAINING ON
“The Complete Python Course”
Taken at
UDEMY

LINUXWORLD INFORMATICS PVT LTD


In partial fulfillment of the requirement for the award of degree
of
Bachelor of Technology
In
Information

Technology
(Session 2021-22)

Duration: From 20th october, 2021 to 20th november, 2021

Submitted to: Submitted by:


Mr. Rohit Chhabra Abhay Agrawal
20EJCIT003
III Semester (A)

Department of Information Technology


Jaipur Engineering College & Research Centre, Jaipur
Rajasthan Technical University
January -2022
CERTIFICATE

This is to certify that the report of the training submitted is the outcome of the practical training
done at “Udemy” in “Learn to code with Python from scratch” is carried out by Abhay Agrawal
RTU Roll No : 20EJCIT003 under the guidance and supervision of “Bluelime learning soltions”
for the award of Degree of Bachelor of Technology (B.Tech.) in Information Technology from
Jaipur Engineering College & Research Centre, Jaipur (Raj.), India affiliated to Rajasthan
Technical University, Kota during the academic year 2021-22.

To the best of the my knowledge the report


i) Embodies the work of the candidate.
ii) Has duly been completed.
iii) Fulfills the requirement of the ordinance relating to the bachelor of technology degree
of the Rajasthan technical University and
iv) Is up to the desired standard for the purpose of which is submitted.

Dr. Smita Agarwal Mr. Rohit Chhabra Mr. Piyush Gautam


Head of Department Assistant Professor Assistant Professor
Information Information Information
Technology Technology Technology

JECRC Jaipur JECRC Jaipur JECRC Jaipur

i
ii
DECLARATION

I hereby declare that the report entitled “Learn to code with Python from Sratch ” has been
carried out and submitted by the undersigned to the Jaipur Engineering College & Research
Centre, Jaipur (Rajasthan) in an original work, conducted under the guidance and supervision
of Mr. Rohit Chhabra.

The empirical findings in this report are based on the data, which has been collected by me. I
have not reproduced from any report of the University neither of this year nor of any previous
year.

I understand that any such reproducing from an original work by another is liable to be
punished in a way the University authorities’ deed fit.

Place: Jaipur Abhay Agrawal


Date: 20-01-2022 20EJCIT003

iii
ACKNOWLEDGEMENT

“Any serious and lasting achievement or success, one can never achieve without the help,
guidance and co-operation of so many people involved in the work.

It is my pleasant duty to express my profound gratitude and extreme regards and thanks to
Mr. Arpit Agarwal and Mr V.K Chandna who gave me an opportunity to take professional
training in Udemy Pvt. Ltd

I am indebted towards Mr. Jose salvatierra who has allotted this project and his precious time
and advice during the training period, which is imminent to the report.

I would like to express deep gratitude to Dr Smita Agrawal, Head of Department


(Information Technology), Jaipur Engineering College & Research Centre, Jaipur (Rajasthan)
without whose permission the training would not be possible. I would also like to thank Mr.
Piyush Gautam, Training & Placement Officer, Department of Information Technology and
Ms. Rohit Chhabra, PTS Coordinator, Department of Information Technology JECRC,Jaipur
who recommended me for this training.

Last but not the least, I am grateful to my beloved parents whose blessings and inspirations
are always with me. I am heartily thankful to those people who are involved directly or
indirectly in this project for encouraging me whenever I needed their help in spite of their
busy schedule.

Abhay Agrawal
(20EJCIT003.)

iv
Chapter Index
S. No. TITLE PAGE NO.

Certificate i

Declaration iii

Acknowledgement iv

Company Profile vii

1. Introduction 1

1.1 Purpose 1

1.2 Scope 2

1.3 Features 3

2. Technology Name Detailed Description 7

2.1 Random 7

2.2 Radint() 8

3. Overview Of Tools Used 10

3.1 Visual Studio 10

3.2 Features of VScode 12

4. Project Description 14

4.1 Rock Paper & Scissors 14

4.2 Project Details


15

v
4.2.1 procedure of the game 16

4.2.2 Flowchart of the project 17

5. Screenshots Of Project 20

5.1 code of project 20

5.2 Output 23

Conclusion 25

Future Scope 27

References 32

Figure Index
S. No. Title Page Number

1.1 Features of Python 4

2.1 Random module example 8

3.1 Development Environments 13

4.1 Rock Paper & Scissors Game 16

4.2 Flowchart of program 19

vi
COMPANY PROFILE

Udemy, Inc. is a for-profit massive open online course (MOOC) provider aimed at
professional adults and students. It was founded in May 2010 by Eren Bali, Gagan Biyani,
and Oktay Caglar.

As of September of 2021, the platform has more than 46 million students, 175,000 courses,
and 60,000 instructors teaching courses in over 75 languages. There have been over 644
million course enrollments.

Students take courses primarily to improve job-related skills. Some courses generate credit
toward technical certification. Udemy has made a special effort to attract corporate
trainers seeking to create coursework for employees of their company.

Overview
Udemy is a platform that allows instructors to build online courses on their preferred topics.
Using Udemy's course development tools, they can upload videos, PowerPoint presentations,
PDFs, audio, ZIP files and live classes to create courses. Instructors can also engage and
interact with users via online discussion boards.

Courses are offered across a breadth of categories, including business and entrepreneurship,
academics, the arts, health and fitness, language, music, and technology. Most classes are in
practical subjects such as Excel software or using an iPhone camera. Udemy also offers
Udemy for Business, enabling businesses access to a targeted suite of over 7,000 training
courses on topics from digital marketing tactics to office productivity, design, management,
programming, and more. With Udemy for Business, organizations can also create custom
learning portals for corporate training.

Courses on Udemy can be paid or free, depending on the instructor. In 2015, the top 10
instructors made more than $17 million in total revenue.

vii
In April 2013, Udemy offered an app for Apple iOS, allowing students to take classes
directly from iPhones; The Android version was launched in January 2014. As of January
2014, the iOS app had been downloaded over 1 million times, and 20 percent of Udemy users
access their courses via mobile. In July 2016, Udemy expanded their iOS platform to include
Apple TV. On January 11, 2020, the Udemy mobile app became the #1 top grossing Android
app in India

viii
Chapter 1

CHAPTER 1
INTRODUCTION
1.1 PURPOSE

Python, one of the most popular programming languages in the world, has created everything
from Netflix’s recommendation algorithm to the software that controls self-driving cars. Python
is a general-purpose language, which means it’s designed to be used in a range of applications,
including data science, software and web development, automation, and generally getting stuff
done. Python is commonly used for developing websites and software, task automation, data
analysis, and data visualization. Since it’s relatively easy to learn, Python has been adopted by
many non- programmers such as accountants and scientists, for a variety of everyday tasks, like
organizing finances.

“Writing programs is a very creative and rewarding activity,” says University of Michigan and
Coursera instructor Charles R Severance in his book Python for Everybody. “You can write
programs for many reasons, ranging from making your living to solving a difficult data analysis
problem to having fun to helping someone else solve a problem.

■ Accessible—As Python is an interpreted programming language, it saves you time by skipping


code compilation. All your programs can natively run on Windows, Mac, and most variants of
Unix.

■ Robust—Python is a robust programming language and provides an easy usage of the code
lines, maintenance can be handled in a great way, and debugging can be done easily too. It has
gained importance across the globe as computer giant Google has made it one of its official
programming languages.

■ Scalable—Python is a programming language known for its far-reaching applicability that


goes beyond web development coding. Python can be a good coding language for new or novice
coders because of its readability and use of the English language.

1
Chapter 1

■ Simple—python allows users to quickly write efficient parallel code.

Because the readability and other structural elements of Python are designed to be easy to
understand, especially for English speakers, it's relatively easy to learn. This is a great first or
second language for beginners.

However, Python is not limited to basic use. It supports some of the most complex websites and
apps in the world.

1.2 SCOPE

The Future Scope of a Python Developer is very bright. The world is getting digitized. Python
has become the core language as far as the success of these technologies is concerned. Let’s dive
into the technologies which use python as a core element for research, production and further
developments. The future is all about automating processes and utilizing the heaps of data to
make intelligent decisions. This puts to the forefront technologies such as artificial intelligence
(AI), machine and deep learning, Internet of Things (IoT), etc.
Python is a versatile programming language that can be used in a variety of fields, such as
software development, government administration, business, science, arts, education, and others.
According to Naukri.com, there were more than 75,000 open jobs for Python developers in India
at the end of 2019.
Here are a few job roles that you can fill:

 Python developer: This is one of the most direct jobs that you can expect to land
after acquiring this skill. The stats that we shared in the last section clearly tell you
that you will always have open Python developer positions to fill. Here are a few key
responsibilities:

1. Build websites
2. Resolve problems related to data analytics
3. Write codes that are both reusable and efficient

2
Chapter 1

4. Optimize data algorithms


5. Implement data protection and security

 Data analyst: This is a very interesting opportunity. It is especially for those who like
working with huge amounts of data and finding meaning in that data. This is again a
very popular job role. There are many companies that are looking for people who can
work with the large sets of data that they have access to. These companies are looking
for people skilled in Python because Pandas, SciPy, and other Python libraries come in
very handy in accomplishing this task. No wonder more and more companies are looking
for data analysts with experience in python to fill open positions.

 Product manager: Product managers have a very important role to play when it comes
to helping businesses to understand the market and why building one product will be
better than building another. They study the market, research for new features related to
a particular product or category, and advocate the building of certain products with facts.
Data is a very important part of the work they do. This is why most companies today are
looking for product managers that are skilled in python.

 Machine learning engineer: If you don’t already know, then let us tell you that the job
postings for this position have increased by more than 330% in the last couple of years.
If you are skilled in python, you will be given preference over other candidates. A
machine learning engineer builds and trains machines, programs, and other computer-
based systems to apply their learned knowledge for making predictions. Python’s ability
to work with data automation and algorithms makes it the ideal programming language
that can be used in machine learning.

1.3 FEATURES

Python is a dynamic, high level, free open source and interpreted programming language. It
supports object-oriented programming as well as procedural oriented programming. In

3
Chapter 1

Python, we don’t need to declare the type of variable because it is a dynamically typed
language.
Here are a few key features of python:

Figure 1.1: <Features of Python>

 Easy To Code in python


Python is a high-level programming language. Python is very easy to learn the language as
compared to other languages like C, C#, Javascript, Java, etc. It is very easy to code in python

4
Chapter 1

language and anybody can learn python basics in a few hours or days. It is also a developer-
friendly language.
 Free and Open Source
Python language is freely available at the official website and you can download it from many
platform.

Since it is open-source, this means that source code is also available to the public. So you can
download it as, use it as well as share it.

 Object-Oriented Language
Python supports object-oriented language and concepts of classes and objects come into
existence. It supports inheritance, polymorphism, and encapsulation, etc. The object-oriented
procedure helps to programmer to write reusable code and develop applications in less code.
 Python Is Portable Language
Python language is also a portable language. For example, if we have python code for windows
and if we want to run this code on other platforms such as Linux, Unix, and Mac then we do
not need to change it, we can run this code on any platform.

 Interpreted Language
Python is an Interpreted Language because Python code is executed line by line at a time. like
other languages C, C++, Java, etc. there is no need to compile python code this makes it easier to
debug our code. The source code of python is converted into an immediate form called bytecode.

 Large Standard Library

Python has a large standard library which provides a rich set of module and functions so you do
not have to write your own code for every single thing. There are many libraries present in
python for such as regular expressions, unit-testing, web browsers, etc.

 Dynamically Typed Language


Python is a dynamically-typed language. That means the type (for example- int, double, long,
etc.) for a variable is decided at run time not in advance because of this feature we don’t need to
specify the type of variable.

5
Chapter 1

 Embeddable
The code of the other programming language can use in the Python source code. We can use
Python source code in another programming language as well. It can embed other language into
our code.

6
Chapter 2

CHAPTER 2
Technology Name Detailed Description

Technology Name
 Random
 Randint()

2.1 Random:

1. This module implements pseudo-random number generators for various distributions.


For integers, there is uniform selection from a range. For sequences, there is uniform selection of
a random element, a function to generate a random permutation of a list in-place, and a function
for random sampling without replacement.

2. On the real line, there are functions to compute uniform, normal (Gaussian), lognormal,
negative exponential, gamma, and beta distributions. For generating distributions of angles, the
von Mises distribution is available.

3. Almost all module functions depend on the basic function random(), which generates a
random float uniformly in the semi-open range [0.0, 1.0). Python uses the Mersenne Twister as
the core generator. It produces 53-bit precision floats and has a period of 2**19937-1. The
underlying implementation in C is both fast and threadsafe. The Mersenne Twister is one of the
most extensively tested random number generators in existence. However, being completely
deterministic, it is not suitable for all purposes, and is completely unsuitable for cryptographic
purposes.

4. The functions supplied by this module are actually bound methods of a hidden instance of the
random.Random class. You can instantiate your own instances of Random to get generators that
don’t share state.

7
Chapter 2

5. Class Random can also be subclassed if you want to use a different basic generator of your
own devising: in that case, override the random(), seed(), getstate(), and setstate() methods.

6. Optionally, a new generator can supply a getrandbits() method — this allows randrange() to
produce selections over an arbitrarily large range.

7. The random module also provides the SystemRandom class which uses the system function
os.urandom() to generate random numbers from sources provided by the operating system.

Example:

Figure 2.1: <random module example>

2.2 Randint()

1. randint() is an inbuilt function of the random module in Python3.

2. The random module gives access to various useful functions and one of them being able
to generate random numbers, which is randint(). Syntax : randint(start, end) Parameters :
(start, end) : Both of them must be integer type values.

8
Chapter 2

3. Basically, the randint() method in Python returns a random integer value between the two
lower and higher limits (including both limits) provided as two parameters. It should be
noted that this method is only capable of generating integer-type random value.

4. random. randint() is one of the function for doing random sampling in numpy. It returns
an array of specified shape and fills it with random integers from low (inclusive) to high
(exclusive), i.e. in the interval [low, high). Syntax : numpy.random.randint(low,
high=None, size=None, dtype='l')

5. The difference between the two of them is that randint can only be used when you know
both interval limits. If you only know the first limit of the interval randint will return an
error. In this case you can use randrange with only one interval and it will work.

9
CHAPTER 3
Overview Of Tools Used

3.1 Visual Studio Code

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is


used to develop computer programs, as well as websites, web apps, web services and mobile
apps. Visual Studio uses Microsoft software development platforms such as Windows
API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft
Silverlight. It can produce both native code and managed code.

Visual Studio includes a code editor supporting IntelliSense (the code completion component)
as well as code refactoring. The integrated debugger works both as a source-level debugger and
a machine-level debugger. Other built-in tools include a code profiler, designer for
building GUI applications, web designer, class designer, and database schema designer. It
accepts plug-ins that expand the functionality at almost every level—including adding support
for source control systems (like Subversion and Git) and adding new toolsets like editors and
visual designers for domain-specific languages or toolsets for other aspects of the software
development lifecycle (like the Azure DevOps client: Team Explorer).

Visual Studio supports 36 different programming languages and allows the code editor and
debugger to support (to varying degrees) nearly any programming language, provided a
language-specific service exists. Built-in languages include C,[9] C++, C++/CLI, Visual Basic
.NET, C#, F#,[10] JavaScript, TypeScript, XML, XSLT, HTML, and CSS. Support for other
languages such as Python,[11] Ruby, Node.js, and M among others is available via plug-
ins. Java (and J#) were supported in the past.

The most basic edition of Visual Studio, the Community edition, is available free of charge. The
slogan for Visual Studio Community edition is "Free, fully-featured IDE for students, open-
source and individual developers".

10
Chapter 3

3.2 Features of VScode

 Cross platform support

Visual Studio Code supports macOS, Linux, and Windows - so you can hit the ground running,
no matter the platform.

 Robust and extensible architecture

Architecturally, Visual Studio Code combines the best of web, native, and language-specific
technologies. Using Electron, VS Code combines web technologies such as JavaScript and
Node.js with the speed and flexibility of native apps. VS Code uses a newer, faster version of the
same industrial-strength HTML-based editor that has powered the "Monaco" cloud editor,
Internet Explorer's F12 Tools, and other projects. Additionally, VS Code uses a tools service
architecture that enables it to integrate with many of the same technologies that power Visual
Studio, including Roslyn for .NET, TypeScript, the Visual Studio debugging engine, and more.

 Edit, build, and debug with ease

At its heart, Visual Studio Code features a lightning fast source code editor, perfect for day-to-
day use. With support for hundreds of languages, VS Code helps you be instantly productive
with syntax highlighting, bracket-matching, auto-indentation, box-selection, snippets, and more.
Intuitive keyboard shortcuts, easy customization and community-contributed keyboard shortcut
mappings let you navigate your code with ease.

For serious coding, you'll often benefit from tools with more code understanding than just blocks
of text. Visual Studio Code includes built-in support for IntelliSense code completion, rich
semantic code understanding and navigation, and code refactoring.

11
Chapter 3

 Intelli-sense

IntelliSense is a general term for various code editing features including: code completion,
parameter info, quick info, and member lists. IntelliSense features are sometimes called by other
names such as "code completion", "content assist", and "code hinting." Visual Studio Code
IntelliSense is provided for JavaScript, TypeScript, JSON, HTML, CSS, SCSS, and Less out of
the box. VS Code supports word based completions for any programming language but can also
be configured to have richer IntelliSense by installing a language extension.

3.3 Benefits of vscode

There is a number of benefits to using projects such as: Projects take full advantage of the
numerous time-saving and productivity features of Visual Studio. Features such as IntelliSense
suggestions and syntax checking in the editor are not fully available if you are using the files
without a project.

It is very good. It is probably the best IDE for Javascript, becouse it has, terminal, so you can use
it for Node. js, there are so many packages for previewing HTML and has a good debugger. For
other language like C# it's good too becouse it has the extension dedicated for C#.

12
Chapter 3

Figure 3.1: <Development Enviroments>

Its popularity is due to the growth of the web development field in these years and the need of
the developers of having a lightweight well-done editor, with few features but less complex than
the others available on the market

13
CHAPTER 4
Project Description

4.1 Rock Paper & Scissors Game

 Overview

The traditional Rock-Paper-Scissors is a two-player game, in which each player simultaneously


chooses, either rock, paper or scissors, given that, rock crushes scissors, scissors cuts paper, and
paper covers rock. Based on the rules, the winner is decided.
If you’re unfamiliar, rock paper scissors is a hand game for two or more players. Participants say
“rock, paper, scissors” and then simultaneously form their hands into the shape of a rock (a fist),
a piece of paper (palm facing downward), or a pair of scissors (two fingers extended). The rules
are straightforward:

Rock smashes scissors.

Paper covers rock.

Scissors cut paper.

 Game In Python

In this game, user gets the first chance to pick the option among Rock, paper and scissor.
After that computer select from remaining two choices(randomly), then winner is decided as
per the rules.

Winning Rules as follows :

Rock vs paper-> paper

14
wins

15
Chapter 4

Rock vs scissor-> Rock wins

paper vs scissor-> scissor

wins.

In this game, randint() inbuilt function is used for generating random integer value within the
given range.

Rock Paper Scissors has been a hit with all age groups tested. It is a classic game that is
enhanced through picture animations.

However, for the future, these images could be programmed to look nicer rather than showing as
a plain figure window.

Also, different versions of the game could be added so the user could choose which version they
would like to play. There would be the classic version, and also the version inspired by The Big
Bang Theory: Rock Paper Scissors Lizard Spock.

4.2 Project Details

In order for us to play against the computer and have a fair game, we’ll need to import choice
from the random module.

The choice model allows us to import a random element from a given list. In our case the list will
be one of our three options. Before we implement our logic lets define our function and assign
our variables.

16
Chapter 4

Figure 4.1: <Rock Paper & Scissors Game>

4.2.1 procedure of the game

In this game, the user and the computer are the players. First, the code will ask the user to get no.
of chances or rounds means how many times you want to play. If the user enters 5 times then
code asks 5 times for the choice to enter Rock Paper Scissors.

After entering the number of chances code will ask you to enter one character from list R, P, S
for Rock, Paper, Scissors respectively. And at that time computers also generate random
character from the list.

17
Chapter 4

After entering the character the player’s score counter will increase in every loop according to
game condition to count the score. If both enter the same character then the score counter doesn’t
count. And every time code will print the scoreboard with a score of the player.

In the end who gained more score will win the game. If scores are the same then the game is a tie
and you have to play again.

Use random. randint() to generate a random number, and use conditionals to let each random
number choose a different option for the computer (e.g. 0 mean rock, 1 means paper, 2 means
scissors).

Use input() to get the user's

choice. Use conditionals to see

who wins.

4.2.2 Flowchart of the project

Although rock paper scissors might seem uncomplicated, it’s important to carefully consider
the steps involved in playing it so that you can be sure your program covers all possible
scenarios. For any project, even small ones, it’s helpful to create a flowchart of the desired
behaviour and implement code around it. You could achieve a similar result using a bulleted
list, but it’d be harder to capture things like loops and conditional logic.

Flowcharts don’t have to be overly complicated or even use real code. Just describing the desired
behaviour ahead of time can help you fix problems before they happen!

Here’s a flowchart that describes a single game of rock paper scissors:

18
Chapter 4

Figure 4.2 <Flowchart of program>

Each player selects an action and then a winner is determined. This flowchart is accurate for a
single game as you’ve coded it, but it’s not necessarily accurate for real-life games. In real life,
the players select their actions simultaneously rather than one at a time like the flowchart
suggests.

In the coded version, however, this works because the player’s choice is hidden from the
computer, and the computer’s choice is hidden from the player. The two players can make their
choices at different times without affecting the fairness of the game.

Flowcharts help you catch possible mistakes early on and also let you see if you want to add
more functionality. For example, here’s a flowchart that describes how to play games repeatedly
until the user decides to stop:

19
Chapter 4

Figure 4.3: <Flowchart of the program>

Without writing code, you can see that the first flowchart doesn’t have a way to play again. This
approach allows you to tackle issues like these before programming, which helps you create
neater, more manageable code!

20
CHAPTER 5
Screenshots Of Project

5.1 Code of the project

21
Chapter 5

22
Chapter 5

23
Chapter 5

5.2 Output

24
Chapter 5

25
CONCLUSION

 Creating this type of game helped me or will help any beginner to think logically. After
all, creating these types of programs will help me create my own algorithms, which is a very
important skill for coding interviews and competitive programming.

 So, this was an easy and fun way to create a rock paper scissors game. It is customizable,
as per a developer’s personal preference. Not just rock paper scissors, but many more games can
be developed easily in Python using various tools and libraries available.

 We have designed and implemented Rock-Paper-Scissor-with-State to provide a


verifiable, decentralized, game platform. Our voter network leverages existing consensus
methods to allow for decentralized global state and our players provide verifiable game
encounters.

 Understanding the syntax of Python is great and all, and Python by itself is indeed a
great language, but the fundamentals of Python aren't why Python is a successful language.
There are plenty of fun-to-write languages that are just like Python, such as Ruby, Julia, even R.

 In this tutorial, I learned how to:

 Code your own rock paper scissors game


 Take in user input with input()
 Play several games in a row using a while loop
 Clean up your code with Enum and functions
 Describe more complex rules with a dictionary

 Advantages of learn python language

26
 Easy Syntax. Python's syntax is easy to learn, so both non-programmers
and programmers can start programming right away.
 Readability. ...
 High-Level Language. ...
 Object oriented programming. ...
 It's Free. ...
 Cross-platform. ...
 Widely Supported. ...
 It's Safe.

27
FUTURE SCOPE

1. Python growth is promising in future. Top companies stuck with java, python trending
technologies now and also in future. As a result of fact, python has become a core language,
using python for research, production, development. Small, big, start-up organizations choose
python to meet their customer requirements. Python has been voted as a favorite language rather
than c, c ++, machine learning course, learn r programming.

2. The Future Scope of a Python Developer is very bright. The world is getting digitized.
Python has become the core language as far as the success of these technologies is concerned.
Let’s dive into the technologies which use python as a core element for research, production and
further developments. The future is all about automating processes and utilizing the heaps of data
to make intelligent decisions. This puts to the forefront technologies such as artificial intelligence
(AI), machine and deep learning, Internet of Things (IoT), etc. Migration time will become
negligible

3. For future and present programmers, Python is becoming the first-choice language for
learning it to get “actual jobs”. It is also being used for many purposes, from web development to
mobile app development to data science. ... “Pandas” is by far the fastest-growing Python
package.

Following are the jobs related to python

 Python Developer
 Senior Python Developer
 Senior Software Engineer
 Machine Learning Engineer
 Jr. Data Scientist
 Data Scientist
 Software Engineer
 DevOps Engineer

28
 Software Developer
 Data Analytics

o ARTIFICIAL INTELLIGENCE (AI)

 In computer science, artificial intelligence, sometimes called machine


intelligence, is intelligence demonstrated by machines, in contrast to the natural
intelligence displayed by humans and animals.
 A lot of research is going on in the field of AI since it can be applied to many
complex applications in the Travel, Health, Entertainment sectors, to name a few. Many
large firms have invested in AI research across the globe and are working towards finding
solutions that will change the way many industries function.
 Python has many libraries and tools that support AI work, as compared to other
languages. This makes Python a favorite language of many programmers in this field.

o MACHINE LEARNING (ML)

 Machine Learning is a subset of AI. It deals with the ability of systems to learn
and grow from their previous experience without any human intervention. Machine
Learning has a lot of uses in functionalities like Video Recommendations on online
streaming sites, social media, Virtual Personal Assistants, etc. There are subsets
of Machine Learning like Supervised Learning, Unsupervised Learning, and
Reinforcement Learning.
 The ease of use of Python Programming Language along with many helpful
libraries like Numpy, Skikit-learn, Keras, TensorFlow, Matplotlib has made it find
extensive usage in Machine Learning applications.

29
 Programming: Programming is one of the important aspects for any Machine
Learning enthusiast. For Machine Learning, we generally use R and Python languages.
We can learn both. However, the scope of Machine Learning with Python is high.
 Understanding of data structures: The data structure is the core of any software.
Thus, it is recommended to have a good grasp of the concepts of data structure.
 Mathematics: We cannot perform computation without mathematics. Therefore,
we should have knowledge of applying mathematical concepts into Machine Learning
models. These concepts include calculus, linear algebra, statistics, and probability.
 Software engineering: Machine Learning models are built to integrate with the
software. Thus, an ML Engineer should have a thorough knowledge of software
engineering.

o DATA SCIENCE

 The past few years have seen an exponential increase in the amount of data
generated across the world.
 Data science is an interdisciplinary field that uses scientific methods, processes,
algorithms, and systems to extract knowledge and insights from many structural and
unstructured data. Data science is related to data mining and big data.
 Python is a very versatile language and hence finds a lot of uses in different areas
of Data Science. The extensive library support of Python helps analyze and work with
large amounts of data.

o NETWORKING

 Python has found its way into the Networking field since it is highly secure and
provides library support. Router configuration and other networking tasks can be
automated using Python.

30
o WEB DEVELOPMENT

 Python is also used in Web Development by many companies. It provides many


security features, has a lot of library support, and has frameworks like Django and Flask
that make the work of programmers easier.

o Demand of python programmers

Python is becoming popular because of advantages, like simple syntax, easy to learn, supports different
programming paradigm, platform independent etc.

According to Google Trends, Python programmers are having high demand in the market.

Figure 1: <graph of demand in the market>

Many companies are using Python for developing front-end and back-end development. So, these
companies are hiring Python programmers for different posts, like

1. Software Engineer

2. Research Analyst

31
3. Data Analyst

4. Data Scientist

5. Software Developer

32
REFRENCES

1. Sources

 UDEMY :- https://www.udemy.com/

 VSCODE :- https://www.wireshark.org/

 Wikipedia :- https://www.wikipedia.org/

33
PROGRAM OUTCOMES
1. Engineering knowledge: Engineering knowledge: Apply the knowledge of mathematics, science,
engineering fundamentals, and an engineering specialization to the solution of complex electronics
and communication engineering problems.
2. Problem analysis: Identify, formulate, research literature, and analyze complex electronics and
communication engineering problems reaching substantiated conclusions using first principles of
mathematics, natural sciences, and engineering sciences.
3. Design/development of solutions: Design solutions for complex electronics and communication
engineering problems and design system components or processes that meet the specified needs with
appropriate consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
4. Conduct investigations of complex problems: Use research-based knowledge and research methods
including design of experiments, analysis and interpretation of data, and synthesis of the information to
provide valid conclusions.
5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering
and IT tools including prediction and modeling to complex engineering activities with an understanding of the
limitations.
6. The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal,
health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional
electronics and communication engineering practice.
7. Environment and sustainability: Understand the impact of the professional electronics and
communication engineering solutions in societal and environmental contexts, and demonstrate the knowledge
of, and need for sustainable development.
8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of
the electronics and communication engineering practice.
9. Individual and team work: Function effectively as an individual, and as a member or leader in
diverse teams, and in multidisciplinary settings.
10. Communication: Communicate effectively on complex electronics and communication engineering
activities with the engineering community and with society at large, such as, being able to comprehend
and write effective reports and design documentation, make effective presentations, and give and receive
clear instructions.
11. Project management and finance: Demonstrate knowledge and understanding of the electronics and
communication engineering and management principles and apply these to one’s own work, as a member
and leader in a team, to manage projects and in multidisciplinary environments.
12. Life-long learning: Recognize the need for, and have the preparation and ability to engage in
independent and life-long learning in the broadest context of technological change.
------------------------------------------------------------------------------------------------------------------------------------
PSO1: Graduates of the program would be able to develop mobile and web based IT solutions for real time
problems.
PSO2: Graduates of the program would be able to apply the concepts of artificial intelligence, machine learning
and deep learning.

34
COURSE OUTCOME

To extend the boundaries of knowledge through research and development and integrate
CO-1
classroom theory with workplace practice.

3IT7-30
Indust
rial To develop new or advanced skills and Gain understanding of administrative functions and
CO-2
Traini company culture.
ng

Ability to obtain and apply important principles of science and engineering and for self-
CO-3
improvement through constant professional development and life-long learning.

Ability to recognize, express and model problems and find engineering solution based on a
CO-4
systems tactic.

MAPPING OF CO & PO

PO- PO- PO- PSO- PSO-


COs PO-1 PO-2 PO-3 PO-4 PO-5 PO-6 PO-7 PO-8 PO-9
10 11 12 1 2

CO-1 H H M H H M L L M L L M H H

CO-2 H M H H M L L M H L H H H H

CO-3 H H M H H L M M H M M H H H

CO-4 H H L H H H H H H H M H H H

ABHAY AGRAWAL
20EJCIT003

35

You might also like