About Guida ai Linguaggi C e C++17 course
If you are new to programming, this course is for you.
Even if you already know another programming language but want to learn C/C++, you will still find everything you need in this course.
The first section of the course, which I offer you as a bonus, is a sort of course within the course... You will in fact learn in depth the Object-Oriented Paradigm in all its main aspects, according to a path that I have drawn from my (alas) many years of experience in the field as an object-oriented analyst and designer. The skills that you will acquire in the theoretical lessons of this first section are also valid for any object-oriented language, such as Python, C#, Swift, C++.
The course is then made up of two parts . In the first part, the C programming language is explained , starting from scratch, in a way that is easy to understand even for those with little or no programming experience. In the second part , the C++17 programming language is explained in detail , as an extension to the C language introduced in the first part.
By purchasing this course, you will actually participate in two programming courses : a C course (version 11) and a C++ course (version 17).
Why should you learn to program in C and C++?
First of all, C is the language from which many other programming languages have been derived (including in particular Java, C++, C#, Swift, Objective-C) which are by far among the most used in the world: knowing C will allow you to access these languages much more easily - and with a level of depth that cannot be achieved in these languages without first really knowing the syntax of C.
Furthermore, despite C having been introduced to the market in the late 70s (!), the TIOBE index (the main index measuring the diffusion of programming languages in the world) elected C as the language of the year 2017 , as it was the language that has grown the most in terms of use.
Knowing the C language, through this course, will also allow you to learn the main mechanisms of software programming in general. Furthermore, given the very nature of the language, you will also learn how "low level" programming occurs, that is, at the level where it becomes important to be aware of the architecture of the CPU and the computer's memory, to obtain optimized and extremely high-performance code.
Learning to develop in C++ will then lead you to know and use object-oriented programming , and to master one of the most powerful programming languages in the world .
What you will learn in this course
First things first: this course is not a long generic tutorial on the C/C++ language: it is a real guide in which every single element of both languages is examined, defined, illustrated and explained in detail. The topics themselves have been arranged in an order that allows you to understand each of the two languages in a progressive but complete way.
While this course is an in-depth guide to the C language (version 11, the most recent), and the C++ language (version 17, also the most recent), nothing has been taken for granted: each topic is introduced with the understanding that you may have no programming experience whatsoever.
**In particular, in this course you will learn in depth:**
- Using the open-source GNU C and C++ compiler, and an online C/C++ compiler
- The general architecture of a computer and a compiler
- Variables, constants, and basic data types of the C language
- Arithmetic operators
- Arrays (one-dimensional and multidimensional)
- The enumerations
- The structures
- The unions
- Control structures (conditional and iteration)
- Designing the functions
- Using pointers (in all its aspects, even the most advanced ones)
- The memorization classes
- Using preprocessor directives
- I Namespace e gli Stream in C++
- Classes and Objects in C++
A very large section of the course was dedicated to the description of pointers, one of the most important - but also one of the most complex - topics that we face when learning the C language.
Your instructor, Alessandro Bemporad, has personally designed and programmed complex software systems in the C and C++ languages for many years - which were actually his first programming languages! - and therefore knows the subject of this course very well.