You are on page 1of 30

A

Report on Industry Oriented Mini Project / Summer Internship

On

Data Science and Full Stack Web Development

Submitted in partial fulfillment of the academic requirements


For the award of the degree of

BACHELOR OF TECHNOLOGY

In

COMPUTER SCIENCE AND ENGINEERING

By

M. Yashwanth Reddy
20B61A0585

NALLA MALLA REDDY ENGINEERING COLLEGE


AUTONOMOUS INSTITUTION
(Approved by AICTE, New Delhi and Affiliated to JNTUH)
Accredited by NAAC with “A” Grade
DIVYA NAGAR, MALKAJGIRI-MEDCHAL (DIST), HYDERABAD-500088

2023-24
This is to certify that the Industry Oriented Mini Project / Summer Internship
report entitled “DATA SCIENCE AND FULL STACK WEB
DEVELOPMENT” is being submitted by M. Yashwanth Reddy bearing Hall Ticket
Number: 20B61A0585 in partial fulfillment of academic requirements for the award
of the degree of Bachelor of Technology in Computer Science and
Engineering, Nalla Malla Reddy Engineering College, JNTU Hyderabad,
during the academic year 2023 – 2024.

HEAD OF THE DEPARTMENT EXTERNAL EXAMINER


CONTENTS

S.NO. NAME OF THE TOPIC PAGE NO.


1 Introduction to Operating System 1

2 System Administration 2-3

3 Agile Methodology and GIT Version Software 4

4 HTML & CSS 5

5 JavaScript 6-7

6 Word Press 8

7 Python Fundamentals 9-11

8 Python Concepts 12

9 Javascript (Syntax and Semantics) 13

10 Evolution of Web, Web 1.0, 2.0 14


Tooljet 15-16
11

12 Tooljet Advanced 17

13 Aptitude 18

14 Rust Programming Language 19

15 Rust Language (Functions and Structure) 20-21

16 Data Visualisation using JS Session 22

17 Android Debugging 23-24

18 Aptitude (Logical, Reasoning and Puzzles) 25

19 Coding or Programming Skills 26

20 Interview Skills 27
INTRODUCTION TO OPERATING SYSTEM

Linux Operating System


Linux is an operating system(OS). An operating system is the software that directly manages a
system’s hardware and resources, like CPU, memory, and storage. The OS sits between applications
and hardware and makes the connections between all of your software and the physical resources
that do the work.

Windows operating system


Windows is a graphical operating system developed by Microsoft. It allows users to view and store
files, run the software, play games, watch videos, and provides a way to connect to the internet. It
was released for both home computing and professional works.

Difference between Linux and Windows


s.no Linux Windows
1 Linux is a open source operating While windows are the not the
system opensource operating system.

2 Linux is free of cost. While it is costly.


3 It’s file name case-sensitive. While it’s file name is case-insensitive.
4 In Linux, monolithic kernel is used. While in this, micro kernel is used.
5 Linux is more efficient in comparison While windows are less efficient.
of windows.
6 There is forward slash is used for While there is back slash is used for
Separating the directories. Separating the directories.
7 Linux provides more security than While it provides less security than
windows. Linux.
8 Root user is the super user and has all Administrator user has all administrative
administrative privileges. privileges of computers.

1
SYSTEM ADMINISTRATION

How to use Linux on windows?


As a developer, you might need to run both Linux and Windows side by side. Luckily,
there are a number of ways you can get the best of both worlds without getting different
computers for each operating system. In this article, we'll explore a few ways to use Linux on
a Windows machine. Some of them are browser-based or cloud-based that do not need any
installation prior to using them.

Here are the methods we'll be discussing:

 Dual boot

 Windows Subsystem for Linux (WSL)

 Virtual Machines (VM)

 Browser-based solutions

 Cloud-based solutions

Option 1-"Dual-boot" Linux + Windows


 With dual boot, you can install Linux alongside Windows on your computer, allowing
you to choose which operating system to use at startup.
 This requires partitioning your hard drive and installing Linux on a separate partition.
With this approach, you can only use one operating system at a time.
Option 2-Use Windows Subsystem for Linux (WSL)
Windows Subsystem for Linux provides a compatibility layer that lets you run Linux
binary executables natively on Windows.

2
Option 3- Use a Virtual Machine (VM)
A virtual machine (VM) is a software emulation of a physical computer system. It
allows you to run multiple operating systems and applications on a single physical machine
simultaneously.

Option 4- Use a Browser-based Solution


Browser based solutions are particularly useful for quick testing, learning, or accessing
Linux environments from devices that don't have Linux installed.

Option 5- Use a Cloud-based Solution


Instead of running Linux directly on your Windows machine, you can consider using
cloud-based Linux environments or virtual private servers (VPS) to access and work with
Linux remotely.

3
AGILE METHODOLOGY & GIT VERSION SOFTWARE

What is agile methodology?

An agile methodology is an iterative approach to software development. Each iteration


of agile methodology takes a short time interval of 1 to 4 weeks. The agile development process
is aligned to deliver the changing business requirement. It distributes the software with faster
and fewer changes.

The single-phase software development takes 6 to 18 months. In single-phase


development, all the requirement gathering and risks management factors are predicted
initially.

Git version software


Git is a free opensource distributed version control system you can use to track changes
in your files. You can work on all types of projects in Git, from small to large. With Git, you
can add changes to your code and then commit them (or save them) when you're ready. This
means you can also go back to changes you made before.

4
HTML & CSS

HTML
HTML Definition
HTML is an acronym which stands for Hyper Text Markup Language which is used
for creating web pages and web applications. Let's see what is meant by Hypertext Markup
Language, and Web page.
Hyper Text: Hyper Text simply means "Text within Text." A text has a link within it, is a
hypertext. Whenever you click on a link which brings you to a new webpage, you have clicked
on a hypertext.
Markup language: A markup language is a computer language that is used to apply layout
and formatting conventions to a text document. Markup language makes text more interactive
and dynamic. It can turn text into images, tables, links, etc.
Web Page: A web page is a document which is commonly written in HTML and translated by
a web browser. A web page can be identified by entering an URL.
Features in HTML
1) It is a very easy and simple language. It can be easily understood and modified.
2) It is very easy to make an effective presentation with HTML because it has a lot of
formatting tags.
3) It is a markup language, so it provides a flexible way to design web pages along with the
text.

CSS

CSS Definition

CSS stands for Cascading Style Sheets. It is a style sheet language which is used to
describe the look and formatting of a document written in markup language. It provides an
additional feature to HTML. It is generally used with HTML to change the style of web pages
and user interfaces. It can also be used with any kind of XML documents including plain XML,
SVG and XUL.

5
JAVA SCRIPT

JavaScript
It is a light weight, cross-platform, single-threaded, and interpreted compiled
programming language. It is also known as the scripting language for webpages. It is well-
known for the development of web pages, and many non-browser environments also use it.

How to Link JavaScript File in HTML?

JavaScript can be added to HTML file in two ways

 Internal JS: We can add JavaScript directly to our HTML file by writing the code
inside the <script> tag. The <script> tag can either be placed inside the
<head> or the <body> tag according to the requirement.

 External JS: We can write JavaScript code in other files having an extension.js
and then link this file inside the <head> tag of the HTML file in which we want
to add this code.
Example:

<!DOCTYPE html>
<html lang="en">
<head>
<title>
Basic Example to Describe JavaScript
</title>
</head>
<body>
<!-- JavaScript code can be embedded inside
head section or body section -->

6
<script>
console.log("Welcome to Geeks for Geeks");
</script>
</body>
</html>
Output: The output will display on the console.

Welcome to Greeks for Geeeks

7
WORD PRESS

Word press
WordPress is a free, open-source website creation platform. On a more technical level,
WordPress is a content management system (CMS) written in PHP that uses a MySQL
database. In non-geek speak, WordPress is the easiest and most powerful blogging and website
builder in existence today.
Word Prees Website

Here are just a few examples of the types of websites you can build with WordPress:
 Blog
 E-Commerce website

8
PYTHON FUNDAMENTALS

Fundamentals of Python
Fundamentals of Python consists of a discussion of the basic building blocks of the
Python programming language. Here, “Fundamentals of Python” is divided into the following
categories. And we will be discussing each topic separately.
A basic Python curriculum can be broken down into 4 essential topics that include:
1. Data types (int, float, strings)

2. Compound data structures (lists, tuples, and dictionaries)

3. Conditionals, loops, and functions.

4. Object-oriented programming and using external libraries

1. Data Types and Structures (int, float, strings)


The very first step is to understand how Python interprets data. Starting with widely
used data types, you should be familiar with integers (int), floats (float), strings (str), and
booleans (bool). Here's what you should practice.

Type, typecasting, and I/O functions


 Learning the type of data using the type() method.
type('Harshit') 
# output: str
 Storing values into variables and input-output functions (a = 5.67)

2. Compound data structures (lists, tuples, and dictionaries)

Compound data structures are data types that can store a large number of values. In
Python, there are various types of compound data structures. We will mostly concentrate on
Lists. In the end, we will take a quick look at Sets, Tuples, and Dictionaries.

 Addition in a list.

9
alist + alist
# output: ['harshit', 2, 5.5, 10, [1, 2, 3], 'harshit', 2, 5.5, 10, [1, 2, 3]]

3. Conditionals, Loops, and Functions

Conditions and Branching


Python uses these Boolean variables to assess conditions. Whenever there is a comparison or
evaluation, Boolean values are the resulting solution.

x = True
print(type(x))
# output: <class bool>

4. Object-Oriented programming and using external libraries

When we say list or dict, we are actually interacting with a list class object or a dict
class object. Printing the type of a dictionary object will show you that it is a class dict object.

10
ASSIGNMENTS

 PRINT DETAILS OF A STUDENT

name=str(input('enter the name:'))


rnm=input('enter the rollnumber:')
branch=str(input('enter the branch:'))
yr=input('enter current year:')
sec=str(input('enter the section:'))

OUTPUT
enter the name : Yashwanth
Yashwanth
enter the rollnumber:2
enter the branch: cse
enter current year:4th
enter the section:b

 TO FIND THE SUBSTRING IN A GIVEN STRING

x='NMREC internship'
print('ec' in x)

OUTPUT
False

11
PYTHON CONCEPTS

List of Python libraries


 Pandas
 Numpy
 Open cv
 Tensor flow
 SciPy

Pandas
Pandas is a BSD (Berkeley Software Distribution) licensed open-source library. This
popular library is widely used in the field of data science. They are primarily used for data
analysis, manipulation, cleaning, etc. Pandas allow for simple data modeling and data analysis
operations without the need to switch to another language such as R. Usually, Python libraries
use the following types of data:

 Data in a dataset.
 Time series containing both ordered and unordered data.
 Rows and columns of matrix data are labelled.

 Unlabeled information

 Any other type of statistical information

12
JAVA SCRIPT (SYNTAX & SEMANTICS)

JavaScript Syntax list


 Variables
 Semicolon
 White spaces
 Code comments
 String
 Number
 Boolean

JavaScript Semantics
 Article
 Aside
 Details
 Fig caption
 Figure
 Footer
 Header
 Main

13
EVOLUTION OF WEB, WEB 1.0, 2.0

Evolution of web
It refers to the evolution of web utilization and interaction which includes altering the
Web into a database, with the integration of DLT (Distributed Ledger Technology blockchain
is an example) and that data can help to make Smart Contracts based on the needs of the
individual.
Features of the Web 1.0
 Easy to connect static pages with the system via hyperlinks
 Supports elements like frames and tables with HTML 3.2
 Less interaction between the user and the server
 You can send HTML forms via mail

Features of the Web 2.0


 Free sorting of information, permits users to retrieve and classify the information
collectively.
 Dynamic content that is responsive to user input.
 Information flows between the site owner and site users using evaluation & online
commenting.
 Web access leads to concerns different, from the traditional Internet user base to a wider
variety of users.

14
TOOL JET

Tool Jet
Extensible low-code framework for building business applications. Connect to
databases, cloud storages, GraphQL, API endpoints, Airtable, etc and build apps using drag
and drop application builder. Built using JavaScript/TypeScript. Everything you need to build
internal tools. Open-source low-code application development platform for building and
deploying business applications. Build complicated frontends without any experience in React,
CSS or event HTML. Drag and drop 35+ in-built UI components to build even complicated
frontends. Adding new components, resizing them, adjusting position, changing colors etc can
be done using the visual app editor. Customize the component with in-built properties and
styles without using a single line of code. Viewer for verifying current properties of
components, queries and global states of applications. Every app can have multiple pages that
can be linked with each other.

FEATURES

 Multi pages apps

 State inspector

 35+ UI components 

 Drag and drop

 Build complicated frontends without any experience in React

 Drag and drop 35+ in-built UI components to build even complicated frontends.

15
ASSIGNMENT
INSTALLATION ON TOOLJET
1. Prerequisites
- Node.js (v12 or above) and npm (Node Package Manager) installed on your system. You
can download them from the official Node.js website: https://nodejs.org
2. Clone the ToolJet repository
git clone https://github.com/ToolJet/ToolJet.git
3. Change directory to the ToolJet folder
cd ToolJet
4. Install dependencies
npm install
5. Set up the configuration file:
- Copy the example configuration file
cp config/default.example.js config/default.js
- Edit the configuration file `config/default.js` and update the necessary settings, such as
the database connection details and authentication settings.
6. Build the frontend assets
npm run build
7. Start the ToolJet server
npm start
8. Access ToolJet
- Open a web browser and visit `http://localhost:3000`. You should see the ToolJet login
page.
- Create a new account and follow the on-screen instructions to set up your workspace.

That's it! You have successfully installed ToolJet on your system. You can now start building
applications using ToolJet's visual development platform.

16
TOOL JET ADVANCED

Tool Jet Advanced


Tool Jet is an open-source low-code framework to build and deploy custom internal
tools.
Tool Jet ships with its built-in database called Tool Jet DB (built on top of
PostgreSQL). You can also connect to the external data sources such as
databases (PostgreSQL, MongoDB, MS SQL Server, Snowflake, Big Query, etc),
API/Graph QL endpoints, SaaS tools (Stripe, Google Sheets, etc) and cloud object storage
services (AWS S3, Google Cloud Storage and Minio). Once the data sources are connected,
Tool Jet can run queries on these data sources to fetch and update data. The data fetched from
data sources can be visualised and modified using the UI widgets such as tables, charts, forms,
etc. You can also use Java Script or Python queries for writing business logic or interacting with
the user interface of the application.

17
APTITUDE

Aptitude
A measure of the probability of the success of an individual, with training in a certain
type of situation-a job, in school or in such activities as playing the violin or learning
a language.”
In general, aptitude tests measure one's competence in logical reasoning, numerical
skills, or verbal ability; competency can be evaluated through problem-solving tasks and
testing one's critical thinking across various contexts.
Types of aptitude
 Logical aptitude
 Spatial aptitude
 Organizational aptitude
 Numerical aptitude
 Verbal and non-verbal
 Grammatical aptitude

Characteristics of aptitude
 Intelligence and achievement
 Personality and interests
 Skills

Use of aptitude
Aptitude involves your ability to learn or excel in a particular area. For example, if you
have a strong aptitude for logic and math, you may excel in careers involving statistics and
probability.

18
RUST PROGRAMMING LANGUAGE

Introduction
Rust is a blazing fast and memory-efficient static compiled language with a rich type
system and ownership model. It can be used to power performance-critical services while
guaranteeing memory-safety and thread-safety, empowering developers to debug at compile-
time. In addition to that Rust has great documentation and a user-friendly compiler with top-
end tools like integrated package managers and multi-editor with features like type inspection
and auto-completion. Rust prevents all the crashes, and it is very interesting that rust is safe b y
default like JavaScript, Ruby, and Python. This is much more powerful than C/C++ because
we cannot write the wrong parallel code you can never see fault in rust. It is very fast in
representing a lot of programming paradigms very well.

19
RUST LANGUAGE (FUNCTIONS AND STRUCTURE)

Functions in Rust
Functions are the block of reusable code that can perform similar related actions. You
have already seen one of the most important functions in the language: the main function,
which is the entry point of many programs. You’ve also seen the “fn” keyword, which allows
you to declare new functions. Rust code uses snake case as the conventional style for function
and variable names.
Syntax:
fn functionname(arguments){
code
}
Structure in Rust
The structure is a user-defined data type in rust that is used to combine different data
items of a different type. Structure defines data as a key-value pair. The struct keyword is used
to define Structures in Rust.
Syntax:
struct Name_of_structure {
field1:data_type,
field2:data_type,
field3:data_type
}

20
ASSIGNMENT
To print tables from 1 to 10
fn main() {
// Table 1: Multiplication Table
println!("Multiplication Table:");
for i in 1..=10 {
for j in 1..=10 {
print!("{:4} ", i * j);
}
println!();
}

}
}
Output:

Multiplication Table:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

21
DATA VISUALISATION USING JS SESSION

Data visualization in JS
JS is one of the most popular data visualization libraries being used by developers across
the globe and is used to manipulate documents based on data. It uses modern web standards
like SVG, HTML, and CSS for building graphs, maps, and pie charts.
It allows you to visualize document-based data using HTML, CSS, and SVG. D3. JS gives
complete freedom to the developer to design the perfect interface for data while utilizing the
full capabilities of modern browsers D3.
Advantages
1. Improved agreement.
2. Simple data sharing.
3. Thorough inquiry.
Disadvantages
1. Provides an evaluation rather than exactness.
2. Unidirectional.
3. Lack of assistance.
4. An insufficient plan.

22
ANDROID DEBUGGING

Android Debugging
The debugger is an essential tool that lets you inspect the execution of the code that
powers your Android app so that you can fix any bugs in it. It lets you specify points at which
to suspend the execution of the code and manually interact with variables, methods, and other
aspects of the code.
Debugging is the process of finding and fixing errors or bugs in the source code of any
software. When software does not work as expected, computer programmers study the code to
determine why any errors occurred.
When a device is in USB Debugging mode, a computer connected to the device can read
all data, run commands, and install or remove apps. The security of the device settings and
data could be compromised.

ASSIGNMENTS

To uninstall pre-installed apps using ADB (Android Debug Bridge), you can follow
these steps

1. Install ADB on your computer: If you haven't already, you'll need to install ADB on your
computer. You can download the Android SDK Platform Tools, which includes ADB, from
the Android Developer website.
2. Enable USB Debugging: On your Android device, go to "Settings" > "About Phone" > tap
on "Build number" seven times to enable Developer options. Then, go back to the main
"Settings" menu, select "Developer options," and enable "USB debugging."
3. Connect your device to the computer: Use a USB cable to connect your Android device to
your computer. Make sure you have the necessary USB drivers installed.
4. Open a Command Prompt or Terminal: On your computer, open a Command Prompt
(Windows) or Terminal (Mac/Linux).

23
5. Test the ADB connection: In the Command Prompt or Terminal, enter the following
command to verify that your device is connected properly:

Code - adb devices


If your device is recognized, you should see its unique identifier listed. If not, make sure
USB debugging is enabled and that you have the correct drivers installed.
6. Uninstall the app: To uninstall a pre-installed app, use the following command:
Code - adb uninstall <package_name>
Replace `<package_name>` with the package name of the app you want to uninstall. You can
find the package name of an app by checking its Play Store URL or by using a package name
viewer app from the Play Store.
For example, to uninstall the Google Chrome app, the command would be:
Code - adb uninstall com.android.chrome
Be cautious when uninstalling apps, as some system apps are necessary for the proper
functioning of your device.

Remember to use ADB commands with caution, as they have the potential to cause issues if
not used correctly.

24
APTITUDE (LOGICAL, REASONING & PUZZLES)

Logical Aptitude
Logical reasoning comprises aptitude problems that need a logical level of examination
to arrive at the right answer. Simply put, logical reasoning is the use of logic and common
sense to solve problems. The section on logical reasoning is segregated into two parts: verbal
reasoning and non-verbal reasoning.

Reasoning Aptitude
Abstract reasoning: These measure problem-solving abilities and identify relationships
between abstract arrays. Numerical reasoning: In these tests, your abilities with numbers, math,
and data are tested. Verbal reasoning: Your language, reading comprehension, and vocabulary
are tested in these types.
Puzzle Aptitude

25
CODING OR PROGRAMMING SKILLS

Coding skills
Coding skills, also known as programming skills, are the knowledge and understanding
of languages, frameworks, and architecture that enables a coder to create any digital product.
In a digitally-connected world, coding skills influence nearly all aspects of human life.
Some common programming concepts include:
1. Data structures and algorithms

Data structures are ways to store data. Algorithms are formulas for tasks that take an
input to get an output.
2. Development frameworks
Libraries, tools, and templates programmers use to make building applications easier.
Front-end framework examples include React, Angular, and Vue.js. Back-end framework
examples include Node.js, Django, and Ruby on Rails.
3. Testing
The ability to write tests to ensure the code works as intended.
4. Debugging
Finding and fixing any bugs (errors) in the code.

INTERVIEW SKILLS

26
Introduction
Interviewing skills are the emotional and tactical techniques that make job seekers more
effective when interviewing for a new position. These skills are important to gain, just like the
technical skills and workplace skills you need to perform well in a position.
Interviewing skills are your ability to interact with the employer or interviewer and show
them why you are the best-fit candidate for the job role. Your interview skills give an
interviewer insight into how you will communicate in the workplace and solve problems.
Job interview skills
 Self Preparation
 Research
 Mastering your emotions
 Logistical planning
 Communication
 Introducing yourself
 Presenting your qualifications
 Listening
 Asking questions
 Following up with your Interviewer
 Reflecting on your interview and refining your methods

27

You might also like