Good day, everyone.
Basically in this course, we will be covering some basic to advanced concepts in C++ programming.
Even if you have a previous exposure in programming, if you have not, then also this course is designed
in such a way to help you learn programming from scratch in an easy and efficient way.
So C++ is a popular, object oriented programming language which will help you to kick start your programming
life.
So without any wait, let, let's start the course.
So first of all, we are going to discuss what its programming and what is in need of programming in
our day-to-day life.
Computers has become a very essential part without a computer.
We cannot leave, right?
So most of our actions and everything is now carried out with the help of instruments like computers.
So what do we need to do some tasks with the help of a computer?
How can we make the computer do something?
So that's where we use programming.
Programming is the process of creating a set of instructions that tell a computer how to perform a task.
Now what about program?
So these terms are very essential while you start basic understanding of programming.
The collection of instructions, which we'll create to make computer perform a task are part program.
Now we are using several programming languages to create such programs.
So three basic concepts we are actually discussing in this light.
First of all, what is programming programming?
We will be creating a set of instructions to tell the computer how to perform a task.
Those instructions are collection by scholarship program and programming languages are utilized for
creating these kind of programs.
Now, let's see what are the key challenges which programmers had when they had to create good software.
So software in the sense it's a program itself, or it's a collection of multiple programs that helps
to do a particular task in a computer.
So these were the key challenges that the initial programmers had while they wanted to create this good
software.
They were confused to create and good examples or how they could represent real world entities.
That was something confusing for them, like if they wanted to create the hospital management system,
how they can create a good hospital management system by mapping all active participants, or that people
in the hospital.
It can be the hospital itself.
It can be the employees in the hospital.
It can be doctors.
It can be patients.
So these are the real world entities who were the part of this particular project.
And these people initially were confused how they may be able to represent these real world entities.
The next challenge they had was how to promote the usability.
So they were confused to create programs in such a way that these programs can be reused in other programs.
Suppose even if they are creating something for their hospital management system, if the same program
can be utilized or reused anywhere else supporting another program for I don't to a management system
that will be called, I say, the use of program.
So these users that are the programmers are confused how to promote the reusability of the program.
No.
The third challenge they had was to develop components that tolerated changes.
So when we talk about programming, each and every program will be updated as the time passes.
Suppose if you see an app in place, don't you download it for the first time in your mobile phone and
some days later, it will improve its features?
And you knew and you will have data for similarly like updating that application or code based on the
changes they need to make in that particular program or in a way to improve that program.
We need to update it several times, so that kind of changes.
Also, users or the programmers were concerned how to increase the change ability of the components
they use in the program.
That was also one challenge which they have faced.
Then they wanted to improve the quality of software projects.
That also was a key challenge.
And they also wanted to industrialize the software development process.
So software development is nothing like a normal process.
It's not like building it or like using raw materials and building a product from a factory.
It's not like that.
It's kind of different.
So there should be a way to industrialize and make the real software development more popular.
And this was another key challenge which programmers want to address at that time.
So if we talk about the evolution of programming the technology, so we talked about what is programming
now, this programming had different kind of methodologies which were actually offered in the initial
types.
The most popular methodology at the initial times of programming languages was procedural programming,
and another was called functional programming.
And the third one, or the recent popular one, is the object oriented programming, and we can follow
two types of approach while doing the programming.
One is top down approach and more depth approach.
So when we talk about this programming methodology, let's go one by one.