You are on page 1of 16

lOMoARcPSD|15602052

SUMMER INTERNSHIP

On

C & C++ Programming

Submitted by

Name: Nilesh Kumar Choudhary


RegistrationNo:12103416
Program: B. Tech CSE
Under the Guidance of
BoardInfinity

School of Computer Science & Engineering


Lovely Professional University, Phagwara

(June-July, 2022)
lOMoARcPSD|15602052

DECLARATION

I hereby declare that I have completed a summer internship at BoardInfinity from June 2022
to July 2022. I have declared that I have worked with full dedication during training and my
learning outcomes fulfill the requirements of training for the award of a degree of BTech CSE
(Relevant Degree), Lovely Professional University, Phagwara.

Nilesh Kumar Choudhary


12103416

Date: 07/07/2022
lOMoARcPSD|15602052

ACKNOWLEDGEMENT

I would like to express my special thanks of gratitude to BoardInfinity who gave me a golden
opportunity to do Course project and also provided support in completing in my project.

I would also like to extend my gratitude to our Lovely Professional


University for providing me with all the facilities that were required.

Nilesh Kumar Choudhary


12103416
lOMoARcPSD|15602052

CERTIFICATE

Link- https://lms.boardinfinity.com/c-and-cpp-programming-certification-course/module/module-c-and-
cpp-programming-certification-course-2022-may-01-recLJhh360GVEqrtn
lOMoARcPSD|15602052

TABLE OF CONTENTS

1. INTRODUCTION
2. TECHNOLOGY LEARNT
3. REASON FOR CHOOSING THIS TECHNOLOGY
4. LEARNING OUTCOME FROM TRAINING/TECHNOLOGY
LEARNT.

INTRODUCTION

C & C++ is a general-purpose programming language created by Bjarne Stroustrup as an


extension of the C programming language, or "C with Classes". The language has expanded
significantly over time, and modern C++ now has object-oriented, generic, and functional
features in addition to facilities for low-level memory manipulation. It is almost always
implemented as a compiled language, and many vendors provide C++ compilers, including the
Free Software Foundation, Microsoft, Intel, Oracle, and IBM, so it is available on many
platforms.

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).
lOMoARcPSD|15602052

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).

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 a solid knowledge of methods and techniques in Object Oriented Design and
Programming.
lOMoARcPSD|15602052

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

REASON FOR CHOOSING THIS TECHNOLOGY

C & C++ is a general-purpose, object-oriented programming language that was designed by


Bjarne Stroustrup in 1979 to be an extension of the C language. It has the features of imperative,
object- oriented as well as generic programming models. C++ also has some additional facilities
to those in C such as classes, inheritance, default function argument, etc.

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.
lOMoARcPSD|15602052

Reason Why I chose this course is because of:


1. C++ Popularity and High Salary
C++ is one of the most popular languages in the world. It is used by some
4.4 million developers worldwide. Also, C++ Developers are quite sought after and they hold
some of the most high-paying jobs in the industry with an average base pay of $103, 035 per
year.

2. C++ has Abundant Library Support


C++ has the Standard Template Library(STL) that is very useful as it helps
in writing code compactly and quickly as required. It contains mainly four components i.e.
algorithms, containers, functions, and iterators.

3. C++ has a Large Community


There is a large online community of C++ users and experts that is
particularly helpful in case any support is required. There is a lot of resources like GeeksforGeeks
etc. available on the internet regarding C++. Some of the other online resources for C++ include
StackOverflow, cppreference.com, Standard C++, etc.

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.

5. C++ In Operating Systems


All the major operating systems such as Windows, Linux, Android,
Ubuntu, iOS, etc. are written in a combination of C and C++. The Windows applications are
written in C++, while Android applications are written in Java along with C/C++ with non-
lOMoARcPSD|15602052

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.

7. C++ In Web Browsers


A lot of web browsers are developed using C++ such as Chrome,
Firefox, Safari, etc. Chrome contains C++ in the rendering engine, JavaScript engine, and the
UI. Firefox uses mainly in the rendering engine and a little in the UI. Safari also uses C++ in the
rendering engine and JavaScript engine.

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.

9. C++ In Embedded Systems


C++ is closer to the hardware level and so it is quite useful in embedded
systems as the software and hardware in these are closely coupled. There are many embedded
systems that use C++ such as smart watches, MP3 players, GPS systems, etc.
lOMoARcPSD|15602052

10. C++ is Portable

Programs developed in C++ can be moved from one platform to


another. This is one of the main reasons that applications requiring
multi-platform or multi-device development often use C++.
lOMoARcPSD|15602052

LEARNING OUTCOMES FROM TRAINING/TECHNOLOGY LEARNT

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 a solid knowledge of methods and techniques in Object Oriented Design and
Programming.

Learned from Terms:


1. Classes and Objects
C++ is arguably the most versatile language in common use. C++
allows for both high-performance codes as well as expressive abstractions and design constructs.
C++'s greatest strength is how scalable it could be, so apps that are very resource intensive are
usually built with it. A member function of a class may be a function that has its definition or its
prototype inside the class definition like several other variables. It operates on any object of the
class of which it's a member and has access to all or any of the members of a class for that object.

We should be aware of:

What is a Class from an Object-oriented programming standpoint?


What is an Object?
What does a Class contain?
How to create an Object?
How to access data members of a class using Object?

2. Relationships between classes


lOMoARcPSD|15602052

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. In this module, we tend to explore however relationships may be
given an equivalent status as classes. At the end of this session, you should be aware of: What is
a relationship and how its established between classes? Association relationship Aggregation
lOMoARcPSD|15602052

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 the 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
responsive queries. Various Code Samples would be present helping you to higher understand the
ideas from the implementation posture. Concentrate on 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 on implementing Inheritance. Also, Some
Application Programs go deeper into the subject.
you should be aware of:
What is Inheritance?
How is Inheritance implemented in C++?
Different types of Inheritance & code implementation How
to access the 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 behavior that's, you behave differently with a different person in
several places I mean to parents you will be a smart son, and to a friend you're a buddy and to
lecturers you show some respect. Here your behavior goes on dynamically with folks you meet.
Abstraction is the method of showing essential info to the user and concealing the rest Example:
suppose you've got automotive, and you're riding it currently, once you apply to 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.
lOMoARcPSD|15602052

you should be aware of:


What are Polymorphism and its types?

Function Overloading
What is Abstract Class?

5. STL library
The standard template Library (STL) could be a package library for the
C++ programming language that influenced several elements of the C++ Standard Library. The
STL achieves its results through the employment of templates. This approach provides compile-
time polymorphism that's usually a lot of economical than ancient run-time polymorphism.
Modern C++ compilers are tuned to reduce abstraction penalties arising from significant use of
the STL. At the end of this session, you should be aware of: Understand the necessity of
collections, explore varied STL containers, The way to use List and its methods, The way to use
Set and its methods, The way to use Map and its methods. Since there are several utility methods
out there as a part of these Standard Template Library, it's not humanly attainable to recollect or
explore all the methods.
We write programs that 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.
lOMoARcPSD|15602052

6. Exception Handling
Exception handling is used when the frequency of occurrence
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 the 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 the implementation posture. The design 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 deeper into subject.
you should be aware of:
What is Exception handling?
Throwing Exception.

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.
Creating/Opening a File
Writing to a File
Reading from a File
Closing a File
Special Operations in a File
lOMoARcPSD|15602052

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,
Nilesh Kumar Choudhary 12103416.

You might also like