You are on page 1of 17

AN

INDUSTRIAL TRAINING REPORT

ON

“PYTHON”
AT

UNIVERSITY OF MICHIGAN

SUBMITTED IN PARTIAL FULFILLMENT


FOR THE AWARD OF THE DEGREE OF

Bachelor of Technology
IN

Computer Science & Engineering

Submitted By:
Rahul Prajapati
19ECTCS049

Department of Computer Science & Engineering


University College of Engineering & Technology, Bikaner
(Constituent college of)
Bikaner Technical University, Bikaner
(Aligning with 21st Century: The Century of Consciousness)
January, 2022
Page |2

CANDIDATE'S DECLARATION

I RAHUL PRAJAPATI hereby declare that I have undertaken 1 month PYTHON


Training at UNIVERSITY OF MICHIGAN during a period from 1 June 2021 to 30
June 2021 in partial fulfillment of requirements for the award of degree of B.Tech. in
Computer Science & Engineering at UNIVERSITY COLLEGE OF ENGINEERING
& TECHNOLOGY BIKANER. The work which is being presented in the training
report submitted is an authentic record of training work.
Date : 25 January 2022
RAHUL PRAJAPATI
19ECTCS049

19ECTCS049 RAHUL PRAJAPATI


Page |3

ACKNOWLEDGEMENT

The internship opportunity I had with UNIVERSITY OF MICHIGAN was a great


chance for learning and professional development. Therefore, I consider myself as a
very lucky individual as I was provided with an opportunity to be a part of it. I am
also grateful for having a chance to meet so many wonderful people and professionals
who led me though this internship period.
I would like to express my sincere gratitude to supervisor Mr. Abhisekh Purohit,
Assistant Professor, Dept. of Computer Science ( U.C.E.T. , Bikaner ) and Mr.
Devendra Tiwari, Head, Dept. of Computer Science ( U.C.E.T. , Bikaner ) for giving
me the opportunity to work on this topic. It would never be possible forme to take this
project to this level without their relentless support and encouragement.
It is my radiant sentiment to place on record my best regards, deepest sense
ofgratitude to Mr. Charles Severance, Clinical Professor,School of Information for
their careful and precious guidance which were extremely valuable for my study both
theoretically and practically.
I perceive as this opportunity as a big milestone in my career development. I will
strive to use gained skills and knowledge in the best possible way, and I will continue
to work on their improvement, in order to attain desired career objectives. Hope to
continue cooperation with all of you in the future.

Sincerely,
Rahul Prajapati
25 January 2022

19ECTCS049 RAHUL PRAJAPATI


Page |4

COMPLETION CERTIFICATE

COMPLETION CERTIFICATE

19ECTCS049 RAHUL PRAJAPATI


Page |5

Abstract

The objective of a practical training is to learn something about industries


practically and to be familiar with a working style of a technical worker to
adjust simply according to industrialenvironment . This report deals with the
equipments their relation and their general operating principle.Python, an
interpreted language which was developed by Guido van Rossum came
intoimplementation in 1989. The language supports both object oriented and
procedure orientedapproach. Python is designed to be a highly extensible
language. Python works on the
 principle of “there is only one obvious way to do a task” rather than “there is
more than oneway to solve a particular problem”. Python is very easy to learn
and implement. The simpler
syntax, uncomplicated semantics and approach with which Python has been
developed makesit very easier to learn. A large number of python
implementations and extensions have beendeveloped since its inception.

19ECTCS049 RAHUL PRAJAPATI


Page |6

COURSE DETAILS

Course Name - PYTHON

Source - Coursera(Online Tranning/


Summer Traning)

Learning Objectives - The codder will understand the


fundamentals of Python

19ECTCS049 RAHUL PRAJAPATI


Page |7

PURPOSE OF TRANNING

The purpose of tranning was to learn the concept of python


language and getting the level of making applications.

19ECTCS049 RAHUL PRAJAPATI


Page |8

CONTENTS

CANDIDATE’S DECLARATION
ACKNOWLEDGEMENT
CERTIFICATE
ABSTRACT
COURSE DETAIL
PURPOSE OF COURSE

CONTEN

1.INTRODUCTION

19ECTCS049 RAHUL PRAJAPATI


Page |9

2.WHY WE PROGRAM
2.1 Wrighting Paragraphs of Code

3. VARIABLES AND EXPRESSIONS

4. CONDITIONAL CODE
4.1 Conditional Statements
4.2 More Conditional Statements

5. FUNCTIONS
5.1 Using Functions
5.2 Building Functions

6. LOOPS AND ITERATION


6.1 Loops and Iteration
6.2 Definite Loops
6.7 Finding the Largest Value
6.8 Loop Idioms

1. INTRODUCTION

1.1 ORGANISATION PROFILE

Coursera is an American massive open online course


provider founded in 2012 by Stanford University computer science
professors Andrew Ng and Daphne Koller. Coursera works with universities
and other organizations to offer online courses, certifications, and degrees
in a variety of subjects.

19ECTCS049 RAHUL PRAJAPATI


P a g e | 10

History of Python
The programming language Python was conceived in the late 1980s, and its
implementation was started in December 1989 by GUIDO VAN
ROSSUM at CWI in the NETHERLANDS as a successor to ABC capable
of exception handling and interfacing with the AMOEBA OPERATING
SYSTEM. Van Rossum is Python's principal author, and his continuing central
role in deciding the direction of Python is reflected in the title given to him by
the Python community, Benevolent Dictator for Life (BDFL).

2. WHY WE PROGRAM

This course aims to teach everyone the basics of programming


computers using Python. We cover the basics of how one constructs a program
from a series of simple instructions in Python. The course has no pre-requisites
and avoids all but the simplest mathematics. Anyone with moderate computer
experience should be able to master the materials in this course. This course will
cover Chapters 1-5 of the textbook “Python for Everybody”. Once a student
completes this course, they will be ready to take more advanced programming
courses. This course covers Python 3.

3.VARIABLE & EXPRESSION

A variable in python is a named location which refers to a value and these


values can be used and processed during program run. A variable is not created
in python until some value is assigned do it.

Python variables are created by assigning the value of desired type to them.
Like in the above statements a numeric value is assigned to 'users' making it a
numeric variable and a string is assigned to 'user_name' making it a string
variable.

*In python, an expression is any valid combination of variables, constants,


literals and operators.

19ECTCS049 RAHUL PRAJAPATI


P a g e | 11

It performs one or more operations with one or more operators, variables and
literals.

The type of operators and operands in the expression determines the type of
expression. There are different types of expressions in Python like : arithmetic
expressions, string expressions, relational expressions, logical
expressions and compound expressions.

4. CONDITIONAL CODE

 sequential code that simply runs one line of code after another to
conditional code where some steps are skipped. It is a very simple
concept - but it is how computer software makes "choices".

Usually in Python Programming Language code executes in a


sequential manner like the first line will be executed first followed by
second line and so on until the end of the code. Conditional
statements come into picture when we must decide that a certain part
of code should run only if the condition is True.

19ECTCS049 RAHUL PRAJAPATI


P a g e | 12

5. FUNCTIONS

We will learn about what functions are and how we can use them. The
programs in the first chapters of the book are not large enough to
require us to develop functions, but as the book moves into more and
more complex programs, functions will be an essential way for us to
make sense of our code.

Using Functions :

This is the store and reuse pattern, and the basic essence of the
store and reuse pattern is that we, as programmers, do not like
repeating ourselves. 
So, if you have like four lines of code, and you want to do the same
thing later, and you put it down here. 
Then you've got to find all the places, and, let's just say you put it
100 places in your program. You've got to find all 100 places and fix
the mistake. And that's exactly what store and reuse is. 

BUILDING FUNCTIONS

We sort of saw a little bit of that syntax at the very beginning. 


We're going to explore using the def keyword and some of the choices
that we get to make. 
And so the essence of this, I'll say this probably 20 times. 
The def statement only defines the function. There's a side effect to it,
but it doesn't actually run the code. It just remembers the code, and
then later we will call and invoke the function.

19ECTCS049 RAHUL PRAJAPATI


P a g e | 13

6.LOOPS AND ITERATION

Basically, this is where computers do repetitive tasks that we 


humans don't want to do. This is where the real power and the real
benefit of computers happen. Each time through the loop we have to
do something smart. But we can tell a computer to do it a million
times really, really quite easily. 
And so the basic idea is that at some point in the code, you go back
up, right. The idea is that you've done something, let's go do that thing
again. And the way we express that in Python is with a couple of
keywords. One of the keywords is the while keyword and the for
keyword. And so we'll start talking about the while. 
And in a bit, we'll talk about definite loops using for. These are called
indefinite loops. 
So while is a keyword and this is like an if statement, this is a
question. That's leads to a true or false answer. And if it is true, this
code executes and if it is not true, the code is skipped.  

DEFINITE LOOP

 Definite loop is a loop in which the number of times it is going to


execute is known in advance before entering the loop. In an
indefinite loop, the number of times it is going to execute is not
known in advance and it is going to be executed until some condition
is satisfied

19ECTCS049 RAHUL PRAJAPATI


P a g e | 14

TESTING

5.1. INTRODUCTION
Testing is a process used to help identify the correctness, completenessand
quality of developed computer software. With that in mind, testing can never
completely establish the correctness of computer software. There are many
approaches to software testing from using tools to automated testing, but
effective testing of complex products is essentially a process of investigation, not
merely a matter of creating and following rote procedure.
One definition of testing is "the process of questioning a product in order to
evaluate it", where the "questions" are things the tester tries to do with the
product, and the product answers with its behaviour in reaction to the probing
of the tester. Although most of the intellectual processes of testing are nearly
identical to that of review or inspection, the word testing is connoted to mean the
dynamic analysis of the product putting the product through itspaces.
The quality of the application can and normally does vary widely from system to
system but some of the common quality attributes include reliability, stability,
portability, maintainability and usability. Refer to the ISO standard ISO 9126
for a more complete list of attributes and criteria.
1. Testing is a process of executing a program with the intent of finding
an error.
2. A good test case is one that has a high probability of finding an as yet
undiscovered error.
3. A successful test is one that uncovers an as yet undiscovered error.
Testing should systematically uncover different classes of errors in a minimum
amount of time and with a minimum amount of effort. A secondary benefit of
testing is that it demonstrates that the software appears to be working as stated
in the specifications. The data collected through testing can also provide an
indication of the software's reliability and quality. But, testing cannot show the
absence of defect -- it can only show that software defects are present.

5.2. TYPE OF TESTING


5.2.1. Manual Testing

19ECTCS049 RAHUL PRAJAPATI


P a g e | 15

Manual testing includes testing a software manually, i.e., without


using any automated tool or any script. In this type, the tester
takes over the role of an end-user and tests the software to identify
any unexpected behaviour or bug. There are different stages for
manual testing such as unit testing, integration testing, system
testing, and user acceptance testing.
Testers use test plans, test cases, or test scenarios to test a software
to ensure the completeness of testing. Manual testing also includes
exploratory testing, as testers explore the software to identify
errors in it.
5.2.2. White-Box Testing:
White-box testing is the detailed investigation of internal logic and
structure of the code.
White-box testing is also called glass testing or open-box testing. In
order to perform whitebox testing on an application, a tester needs
to know the internal workings of the code.
The tester needs to have a look inside the source code and find out
which unit/chunk of the code is behaving inappropriately.
The following table lists the advantages and disadvantages of
white-box testing.
Advantages
1. As the tester has knowledge of the source code, it becomes
very easy to find outwhich type of data can help in testing
the application effectively.
2. It helps in optimizing the code.
3. Extra lines of code can be removed which can bring in
hidden defects.
4. Due to the tester's knowledge about the code, maximum
coverage is attained during test scenario writing.
Disadvantages
1. Due to the fact that a skilled tester is needed to perform
white-box testing, the costs are increased.
2. Sometimes it is impossible to look into every nook and
corner to find out hidden errors that may create problems,
as many paths will go untested.
3. It is difficult to maintain white-box testing, as it requires
specialized tools like code analysers and debugging tools.
Unit testing is a software development process in which the
smallest testable parts of an application, called units, are

19ECTCS049 RAHUL PRAJAPATI


P a g e | 16

individually and independently scrutinized for proper operation.


Unit testing can be done manually but is often automated.

5.3. Test cases


The purpose of a test case is to describe how you intend to empirically verify that
the software being developed conforms to the specifications. In other words, you
need to be able to show that it can correctly carry out its intended functions. The
test case should be written with enough clarity and detail that it could be given to
an independent tester and have the tests properly carried out.
5.3.1. TEST CASE DESCRIPTION:
A test case contains all the information necessary to verify some
particular functionality of the software.
5.3.2. Purpose:
Describe the features of the software to be tested, and the
particularbehaviour being verified by this test.
5.3.3. Requirement Traceability:
Across reference to the numbers of the requirements (in the system
specification) which are being verified in this test.
5.3.4. Setup:
Describe all the steps necessary to setup the software environment
necessary to carry out the test.
5.3.5. Test Data:
Write the actual input data to be provided and the expected output for
your actual working product. You must provide the actual input data
values, not just a description.

19ECTCS049 RAHUL PRAJAPATI


P a g e | 17

6. WORK DONE/OBSERVATION

19ECTCS049 RAHUL PRAJAPATI

You might also like