. . MAJOR LEARNING OBJECTIVESProgramming is everywhere. In almost every aspect of our lives, we interact with software applications. From mobile apps and Operating Systems, to sophisticated Enterprise-scale applications and Artificial Intelligence, all of these, and even more, are created with Programming. This makes Programming, one of the most important skills on the technical field. This course, is definitely a must for beginners that are just starting out with computer Programming and coding, but it is also useful for any technical level, since besides the main principles of programming, it also talks about the Programmer’s Mindset, that is the required skill set every great Programmer must have. Throughout the course, I will take you through what you need to know, in order to get started with computer programming fast and easy. First, we will discuss about the required skill set for becoming a great Programmer. Then we will talk about the basic computer programming principles and fundamentals such as: abstraction, algorithms, data structures, functions, inheritance, and more. we will discuss more about programming languages, such as: what are the factors that define a Programming Language as popular, how to choose a Programming Language, types of Databases, and more. After that, we will talk about some of the most popular programming and scripting languages, such as: C#, SQL, Java, C, C++ and Python. Within this section, you will get introduced to these programming languages, learn about their main code constructs and how to start writing computer programs using these popular programming languages. After all the above, in order to combine theory with practice, we will develop together two simple software applications, that is a Text Editor application and an Image Viewer application. Finally, you will learn how to implement many other special tasks in different Programming Languages and development environments, such as Visual Studio.