GUJARAT TECHNOLOGICAL UNIVERSITY Academic year (2021-2022) Babaria Institute of Technology INTERNSHIP REPORT UNDER SUBJECT OF SUMMER INTERNSHIP (3170001) B.E. SEMESTER-VII BRANCH - Computer Science and Engineering Submitted by :Jainish Nikul BrainyBeam Technologies Pvt. Ltd. Prof. Shweta Rajput guide (Internal Guide) Type the Name of Ext. (External Guide) Company Profile Company Name: BrainyBeam Technologies Pvt Ltd Address: 118, Sukan Mall , Science city road, Ahmedabad Contact No: +91 9033237336 Email Id : sagar@brainybeam.com Website: www.brainybeam.com About Us At BrainyBeam, we see Innovation as a clear differentiator. Innovation, along with focus on deep, long-lasting client relationships and strong domain expertise, drives every facet of our day-to-day operations. BrainyBeam Technologies was founded with a vision to address growing businesses' needs of reducing the time to market and cost effectiveness required to develop and maintain unique and customized web and mobile solutions. We are uniquely and strategically positioned to partner with startups and leading brands to help them expand their business and offer the most effective and cost-efficient solutions that provide revenues and value to their business needs. Vision To become the most trusted and preferred offshore IT solutions partner for Startups, SMBs and Enterprises through innovation and technology leadership. Understanding your ambitious vision, honing in on its essence, creating a design strategy, and knowing how to technically execute it is what we do best. Our promise? The integrity of your vision will be maintained and we'll enhance it to best reach your target customers. With our primary focus on creating amazing user experiences, we'll help you understand the tradeoffs, prioritize features, and distill valuable functionality. It's an art form we care about getting right. Joining Letter Completion Certificate ACKNOWLEDGEMENT I would like to express my deepest gratitude to all those who provided me the possibility to the completion of the internship. A special gratitude of thanks I give to our Assitant Professor, Prof. Shweta Rajput, whose contribution in stimulating suggestions and encouragement, helped me to coordinate the internship especially in drafting this report. Furthermore, I would also like to acknowledge with much appreciation the crucial role of the Head of Department, Dr. Avani Vasant, who gave the permission to use all required equipment and the necessary material to fulfil the task. Last but not the least, many thanks go to the teachers and my friends and families who have invested their full effort in guiding us in achieving the goal. Also I appreciate the guidance given by the developer at BrainyBeam, Mr Raj as well as the panels especially for the internship that has advised me and gave guidance at every moment of the internship. 1|Page Abstract Data Science and analysis is playing the most significant role today covering every industry in the market. For e.g., finance, e-commerce, business, education, government. Now organizations play a 360-degree role to analyse the behaviour and interest of their customers to take decisions in favour of them. Data is analysed through programming language such as python which is one of the most versatile language and helps in doing a lot of things through it. Netflix is a pure data science project that reached at the top through analysing every single interest of their customers. Key terminology that are used in Data Science are: Data Visualization, Anaconda Jupyter Notebook, Exploratory Data Analysis, Machine Learning, Data wrangling, and Evaluation using scikit library’s surprise module. 2|Page ||| DAY - 1 BASIC INTRODUCTION AND DOMAIN KNOWLADGE Explain about work flow of whole internship. Also discuss some basic domain knowledge. Introduction about Field i. Discuss some basic point about python, working of python, advantages of python for working in data science. ii. Also explained how to install and run python and jupyter notebook and other useful tools? Difference between Data Science, Data Analysis & Machine Learning i. Data Science: Use mathematical skills for get desire outcome from data. ii. Data Analysis: Analyzing data with different charts and tables. iii. Machine Learning: Totally based on mathematics used for prediction, for building models etc. Basic Linux Commands 1. 2. 3. 4. 5. 6. 7. cd – Use the cd command to change the directory mkdir – use the mkdir command to create a folder or directory touch – Create new file rmdir- Deletes a directory ls - Lists all the files and directories in the present working directory. Pwd - Displays the path of the present working directory. rm – use the rm command to delete files and directories. AIM: Task: build a python program which can take input of students with their subject marks, and gives their total marks obtained. Program: total = 0 n = int(input("Enter the number of students ")) for i in range(n): name = input("Enter the Name:") sub = int(input("No. of subjects ")) 3|Page for i in range(sub): marks = int(input("Enter marks")) total = total+marks print(total) 4|Page ||| DAY - 2 AIM: List out the methods used commonly in list, set, tuple, dictionary with their rules Data Types in Python 1. str: A string data type is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). 2. Numbers: Int, float, complex and long integers are numeric data types. We can store real number values in int, floating point values in float and complex numbers in complex data types and long for integers of unlimited size. 3. Lists are the build-in data-types in python that are used to store multiple items in a single variables. The data is stored in [ ]. 4. Sets are also used to store multiple items in a single variables. In set there is no order and no index. Data stored between { }. 5. Tuples: Similar to list the tuples are ordered and similar to set the tuples are immutable. Stored in ( ). 6. Dictionary: Storing of values ,Ordered , changeable(mutable) , doesn’t allow change of values. LIST: Example: a= [‘Jai’,’ni’,’sh’] Lists are the build-in data-types in python that are used to store multiple items in a single variables. The plus point of list is that the order of list does not change, and the items in the list are changeable (mutable) and the last point as the list allows duplicate values too. LIST Methods: - .append(x) : Add an item to the end of the list .insert(i, x): Inserting an item at a given position .remove(x) : removing the first item from the list whose value is equal to x copy(): Copying of the list count(): Number of elements with the specified value reverse() : reverse the list 5|Page SET - Sets are also used to store multiple items in a single variables. In set there is no order and no index. The down point of set data type is the value cannot be changed once the set is created immutable Repetition of values are not allowed in set. Sets Methods: a. add(): adds element to a set b. discard(): Removes an Element from The Set c. isdisjoint(): Checks Disjoint Sets d. issubset(): Checks if a Set is Subset of Another Set e. union(): Returns the union of sets f. update(): Add elements to the set g. clear(): remove all elements from a set CODE. # set of vowels vowels = {'a', 'e', 'i', 'u'} print(vowels) # adding 'o' vowels.add('o') print('Vowels are:', vowels) #discard 'o' 6|Page vowels.discard("o") print(vowels) #isdisjoin() A = {1, 2, 3, 4} B = {5, 6, 7} C = {4, 5, 6} print('Are A and B disjoint?', A.isdisjoint(B)) print('Are A and C disjoint?', A.isdisjoint(C)) #issubset() A1 = {1, 2, 3} B1 = {1, 2, 3, 4, 5} print(A1.issubset(B1)) #union A2 = {'a', 'c', 'd'} B2 = {'c', 'd', 2 } print('A U B =', A2.union(B2)) #update A3 = {'a', 'b'} B3 = {1, 2, 3} result = A3.update(B3) print('A =', A3) #clear vowels.clear() print('Vowels (after clear):', vowels) 7|Page TUPLE - Storing of multiple items in one variable Similar to list the tuples are ordered and similar to set the tuples are immutable. Tuples also allow duplicates. Tuples Methods: a. .count( ): Returns the number of times a specified value occurs in a tuple. b. .index( ): Searches the tuple for a specified value and returns the position of where it was found. Dictionaries - Storing of values Ordered , changeable(mutable) , doesn’t allow change of values Dictionary Methods get() - Returns the value of the specified key items() - Returns a list containing a tuple for each key value pair keys() - Returns a list containing the dictionary's keys pop() - Removes the element with the specified key popitem() - Removes the last inserted key-value pair Code. #get() person = {'name': 'Jainish', 'age': 21} print('Name: ', person.get('name')) print('Age: ', person.get('age')) 8|Page #items() print(person.items()) #keys print(person.keys()) #setdefault() age = person.setdefault('age') print('person = ',person) print('Age = ',age) #values() print(person.values()) #clear() person.clear() print(person) 9|Page ||| DAY - 3 AIM: 1) Random module functions with explanation 2) Build password generator program containing numbers, Alphabets and special characters. 3) Write a note about NLP, NLU, and NLG with examples. 4) Perform text to speech examples using gtts. Program: 1) Random module functions with explanation - Random function in python is use to generate random numbers. The use of random function is to generate random number, automatic password generator or OTP generator. RANDOM Methods: - Seed() is the method to initialize the random number generator - Sample() gives a sample of sequence - Uniform() returns a random float number between the two parameters - getstate() returns the current internal state of the random number generator - randrange() returns a random number between the given range 10 | P a g e CODE: import random as rand x = rand.randrange(5) print(x) # returns a random number in the given number range rand.seed(20) print(rand.random()) y = rand.randint(1,50) print(y) mylist = ["apple", "banana", "cherry"] print(rand.sample(mylist, k=2)) b = rand.uniform(1.0,5.0) print(b) print(rand.getstate()) print(rand.randrange(3, 9)) 2) Build password generator program containing numbers, Alphabets and special characters. import random length = int(input("enter length")) num = '0123456789qwertyuiopasdfghjklzxcvbnm!@#$%^&*()' print(" ".join(random.sample(num,length))) 11 | P a g e Learning about external and internal libraries External libraries taught were gtts (google-text-to-speech) is implemented and read the document of the gtts and there use in the daily life… from gtts import gTTS >>> a= gTTS("hello how are you") >>> a.save('voice.mp3') >>> exit() 12 | P a g e