Professional Documents
Culture Documents
SUMMER INTERNSHIP
On
Submitted by
Coursera
(January-February, 2022)
DECLARATION
I hereby declare that I have completed summer internship at Coursera from January 2022
to February 2022. I have declare that I have worked with full dedication during training and
my learning outcomes fulfill the requirements of training for the award of degree of
BTech CSE (Relevant Degree), Lovely Professional University, Phagwara.
Saksham Sharma
11905427
Date: 28/02/2022
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to Coursera who gave me a golden opportunity
to do Course project and also provided support in completing in my project.
Saksham Sharma
11905427
CERTIFICATE
Link- https://coursera.org/verify/Q7RHA9BQGSH9
TABLE OF CONTENTS
1. INTRODUCTION
2. TECHNOLOGY LEARNT
3. REASON FOR CHOOSING THIS TECHNOLOGY
4. LEARNING OUTCOME FROM TRAINING/TECHNOLOGY
LEARNT.
INTRODUCTION
C++ was designed with a bias toward system programming and embedded, resource-constrained
software and large systems, with performance, efficiency, and flexibility of use as its design
highlights. C++ has also been found useful in many other contexts, with key strengths being
software infrastructure and resource-constrained applications, including desktop applications,
video games, servers (e.g. e-commerce, Web search, or SQL servers), and performance-critical
applications (e.g. telephone switches or space probes).
C++ is standardized by the International Organization for Standardization (ISO), with the latest
standard version ratified and published by ISO in December 2017 as ISO/IEC 14882:2017
(informally known as C++17). The C++ programming language was initially standardized in
1998 as ISO/IEC 14882:1998, which was then amended by the C++03, C++11 and C++14
standards. The current C++17 standard supersedes these with new features and an enlarged
standard library. Before the initial standardization in 1998, C++ was developed by Danish
computer scientist Bjarne Stroustrup at Bell Labs since 1979 as an extension of the C language;
he wanted an efficient and flexible language similar to C that also provided high-level features
for program organization. Since 2012, C++ is on a three-year release schedule, with C++20 the
next planned standard (and then C++23).
Object-oriented design centers on finding an appropriate set of classes and defining their
contents and behavior. It involves determining the proper use set of classes and then filling in
the details of their implementation. Object-oriented design is fundamentally a three-step process:
identifying the classes, characterizing them, and then defining the associated actions.
In this internship, you will discover how to create modular, flexible and reusable software, by
applying object oriented design principles and guidelines. On completion of this internship, you
will have solid knowledge of methods and techniques in Object Oriented Design and
Programming.
TECHNOLOGY LEARNT
The Technology/terms that I had learnt from this course are:
1. Classes and Objects
2. Relationships between
classes
3. Inheritance
4. Polymorphism
5. STL library
6. Exception Handling
7. File Handling
8. String Handling
C++ plays quite an integral role in modern times as many contemporary systems such as
operating systems, web browsers, databases, etc. have C++ code in at least some part of their
codebase. Moreover, C++ is quite useful in performance critical areas because of its speed.
4. C++ In Databases
There are many modern day databases such as MySQL, MongoDB,
MemSQL, etc. that are written in C++. This is because C++ is quite modern and it supports
features like exceptions, lambda expressions, etc. Many of the databases that are written in C++
are used in almost all of the in-use applications such as YouTube, WordPress, Twitter, Facebook,
etc.
default run-times for C++ support. Also, C++ can be used to develop the core of the applications
in iOS.
In general, C or C++ are used in operating systems because of the speed and strongly typed
nature of these languages.
6. C++ In Compilers
C++ is closer to the hardware level and is a comparatively low-level
language. Because of this reason, it is used in many compilers as a backend programming
language. An example of this is the GNU Compiler Collection (GCC) which is currently written
mostly in C++ along with C.
All these web browsers and more use C++, particularly in the rendering engines because it
provides the required speed that is necessary for the rendering engines since they need to display
the content at an accelerated rate.
8. C++ In Graphics
Applications requiring graphics such as digital image processing,
computer vision, screen recording programs, etc. use C++ due to its high speed. This can also
include different games that have graphics as a big part of their structure.
Object-oriented design centers on finding an appropriate set of classes and defining their
contents and behavior. It involves determining the proper use set of classes and then filling in
the details of their implementation. Object-oriented design is fundamentally a three-step process:
identifying the classes, characterizing them, and then defining the associated actions.
In this internship, you will discover how to create modular, flexible and reusable software, by
applying object oriented design principles and guidelines. On completion of this internship, you
will have solid knowledge of methods and techniques in Object Oriented Design and
Programming.
all private and protected members of the class. You would study member functions and friend
function in C++. Relationships between classes are as vital as the classes themselves. Certainly,
developers ought to be aware of classes — cars and roads, students and universities and also the
relationships that exist between them — cars drive on roads, students are educated at
universities. We explore however relationships may be given an equivalent status as classes.
Constructors are special class functions that performs initialization of each object. The Compiler
calls the constructor whenever an object is created. Constructors initialize values to object
members once storage is allocated to the object. we'll study constructors and destructors in C++.
Constructors
Parameterized Constructors
Constructor Overloading
Constructors in array of objects
Constructors with default arguments
Dynamic memory allocation
Array of pointer to objects
Copy Constructor
Friend function and Friend classes
Destructors
you got to have learned regarding classes and Objects, access specifier and Getters and Setters
in C++. Let's use this iExplore section to seek out higher by responsive queries.
So far, we've got information on the necessities of Basic OOPs concepts, classes & Objects. Let's
quickly try few programming exercises, on the basics. We'll begin with creating changes on
some existing code snippets.
To standardize and ease out the coding method, you'd be supplied with some model code. The
problems would target making classes & Objects, writing getters & setters, writing standard code
by defining methods logical implementations. At the tip of the programming session, you must
have a smart grip over making classes, defining attributes, writing little standard
implementations. Also Some Application Programs to go into more deeper into subject.
relationship Composition relationship How does cardinality play a role in relationships. What
are Junction tables?
Let's commit to answer some quiz queries to strengthen your knowledge with respect to
numerous relationships and its properties. Theoretically, these concepts appear easier to grasp
and look ostensibly uncomplicated. However, representing them in C++ code would appear to a
frightening task at the start. The main target would revolve around distinguishing the attributes
concerned in relationships yet as representing the cardinality. Also Some Application Programs
to go into more deeper into subject.
3. Inheritance
Inheritance could be a way to utilize once written code again and
again. The class that is inherited is termed base class and therefore the class that inherits is termed
derived class. So when, a derived class inherits a base class, the derived class will use all the
functions that are outlined in base class, therefore creating code reusable. This session would
introduce you to the way to implement the idea of Inheritance in C++.In this, we seek out higher
by responsive queries. Various Code Samples would be present helping you to higher understand
the ideas from implementation posture. Concentrate towards the implementation of overloading.
The problems would target implementing Inheritance in C++ and method overriding. At the tip
of the programming session, you need to have a wise grip over implementing Inheritance. Also
Some Application Programs to go into more deeper into subject.
you should be aware of:
What is Inheritance?
How Inheritance is implemented in C++?
Different types of Inheritance & its code implementation
How to access constructor and methods of a base class?
What is method overriding?
4. Polymorphism
Polymorphism may be a method of representing one kind
in many ways. Example Your behaviour that's, you behave differently with different person in
several places I mean, to parents you will be smart son, and to a friend you're a buddy and to
lecturers you show some respect. Here your behaviour goes on dynamical with folks you meet.
Abstraction is that the method of showing essential info to user and conceal the rest Example :
suppose you've got an automotive, and you're riding it currently, once you apply break you
recognize that automotive gone a stop however you do not know what's the process happened
once you applied break. You would learn the C++ implementations of the on top of concepts
and additionally the eventualities these ideas would assist you model a much better style. In this
we can trengthen your knowledge with respect to Polymorphism and Abstract Classes. . We'll
begin with creating changes on some existing code snippets, so we tend to conjointly get a good
plan on how Polymorphism and Abstract Classes are implemented in C++ for varied situations.
Numerous problems from the application domain would be out there for follow. Apart from
coding them, you must additionally attempt to modify yourself to spot these eventualities in
alternative applications once you begin coming up with and programming. Also Some
Application Programs to go into more deeper into subject.
programs supported Collections in C++. Showcase your skills in solving the problems by using
Standard Template Library(STL) and also the accessible API strategies. Also Some Application
Programs to go into more deeper into subject.
6. Exception Handling
Exception handling is used when the frequency of occurence
of an exception cannot be predicted.
For example, arithmetic exceptions such as division by zero and operating systems use exception
handling to resolve deadlocks, recover from crash and so forth. We get the conceptual
information on exceptions. These queries would provide you with clarity on how exception
handling is enforced in C++. Various Code Samples would be present helping you to higher
understand the ideas from implementation posture. The iDesign part permits you to experiment
and code varied catch scenarios at the start by exploiting the exception classes offered. You may
finally find yourself writing your exception and handling it in your code. Also Some Application
Programs to go into more deeper into subject.
you should be aware of:
What is Exception handling?
Throwing Exception
Catching Exception
Standard Exceptions in C++
Creating custom exceptions.
7. File Handling
File reading and writing form an integral part of any application.
From simple logging to store Objects and Content, file processing plays a key role. C++ has a
very well crafted library referred to as fstream for File processing. This library provides data
types for file handling in C++. We seek out higher by responsive queries. Take a glance to
explore & learn by trying to hunt out answers. Its time to showcase your skills in solving the
problems by using appropriate API methods. Also Some Application Programs to go into more
deeper into subject.
you should be aware of fstream library and the data types it provides
Creating/Opening a File
Writing to a File
Reading from a File
Closing a File
Special Operations in a File
8. String Handling
We will Understand what strings are. Understand how to
declare a string. Understand how a string is stored in memory. we will Understand the string
functions defined in string header file. we will Understand the string classes in c++ we will
explore strings in detail. How to declare strings? How to work with strings? How to use
predefined string handling functions? let us take a look at the code samples to gain a
better understanding of strings. In particular, let us learn to handle strings and their
operations. String is an array of characters. In this session, we will solve programming
problems that involve extensive string processing. we will solve programming problems that
involve C++ string classes. Also Some Application Programs to go into more deeper into
subject.
Thank You,
Saksham Sharma, 11905427.