Learn and Master C Programming For Absolute Beginners!

Video description

In this course, we'll explore the C programming language from the ground up. We'll begin with a brief section on computer basics followed by a Hello world program in C and a walk-through to understand its elements and to dissect it. You will be introduced to the main elements of C like data types, operators, arrays, strings, pointers...etc. We will cover ALL C KEYWORDS in this course, when and how to use them with coding examples! I have dedicated entire sections for pointers, arrays, and strings. This course has the most extensive details on how and why we need pointers and how to avid pointer related gotchas. I guarantee you will not find any other course that covers pointers in this depth with easy to understand and follow examples like this course. There is even a full section on mastering Visual Studio included here for free so you can master using it for C/C++ and even C# as well as Visual Basic. This course will help you learn and master C language and become a professional programmer on your own pace by watching me as I introduce you to the concepts and fundamentals of programming and writing efficient code in C with easy to follow lectures that are full of hands-on practices and coding! During this course, I will share with you the tips and tricks of the trade that I learned throughout my 20+ years of professional career as a software engineer! I will teach you C language and programming from the ground up as I assume you have no prior programming experience. I have included sections for people who have never programmed before, but for those who are already programming, they can either watch them refresh on some fundamentals or simply chose to skip them altogether. If you want to become a professional software developer then search no more, you have found the right course!

What You Will Learn

  • Master C programming including advanced as well as complex parts
  • Master Visual Studio for C/C++ programming
  • View and Use Source Code Examples (Over 50 projects included)
  • Practice Coding in C throughout the entire course
  • Ask questions and receive help and feedback on a first come first serve basis
  • Test knowledge and understanding with end-of-section quizzes
  • Understand pointers, dynamic memory management and become fluent in C


Absolute beginners - This course has all you need to become a professional programmer in 14 hoursAnyone who wants to learn to program in C and master it in short time using Visual Studio 2015 or newerAnyone switching to C/C++ from some other language like Java, C# or JavascriptCross-platform development. C compilers exist on Windows, Linux and even MacAnyone who wants to learn C++ or Objective-C, must start with C language first

About The Author

Mohammad El-Haj: Senior Software Design Engineer / Freelancer / Consultant. Mohammad has been working as a professional software engineer since 1995. He also started teaching Visual C/C++ and Visual Basic back in 1997 and that is when he learned how much he enjoy teaching and helping others! He lived in Seattle for 17 years to work for Microsoft so he can learn from the best in the industry! He spent 9 years at Microsoft as a senior software engineer and then became curious to try out other companies in USA so he can keep on growing and learning...Over 20 years of his career, he worked with many companies from startups to medium size companies like Citrix and to big companies like Microsoft. During that time, he learned so many languages and technologies from Visual Basic, C/C++, Win32, ATL, COM, Python, Java, JavaScript, C# and .NET and many more. He built Windows applications, mobile applications, built some websites and built games using Unity and many other tools. He likes to share his experience and help others become professional developers as well

Table of contents

  1. Chapter 1 : Introduction
    1. Welcome to this course!
    2. About your instructor...
    3. What is covered in this course?
  2. Chapter 2 : Quick Intro To Computer Basics
    1. Section Introduction
    2. CPU, GPU and 32-bit versus 64-bit Processors
    3. Memory Storage
    4. Software: BIOS, OS and Programs
    5. A quick look at Programming Languages
    6. A brief history of C language
  3. Chapter 3 : Installing Configuring Visual Studio
    1. Downloading Visual Studio 2015
    2. Installing Visual Studio 2015
  4. Chapter 4 : Writing our First Program - A 'Hello, World!' Program in C
    1. Writing Our First Program Using Visual C on the Command-Line
    2. Using Visual Studio Command Prompt to write 'Hello, World' one more time
    3. Using Visual Studio IDE to write our first C Program
    4. A Deeper Look At Our First C Program Compilation Process
  5. Chapter 5 : Walkthrough: Visual Studio IDE
    1. Section Introduction and Overview
    2. Visual Studio Start Page
    3. Visual Studio File Menu
    4. Edit Menu
    5. Showing Line Numbers In The Text Editor
    6. Tabs versus White Space
    7. Quick Find in Visual Studio
    8. Find Replace in Visual Studio
    9. Visual Studio Debug Menu
    10. Build Menu
    11. Visual Studio Solutions Projects
  6. Chapter 6 : Fundamentals and Basics
    1. Comments in C
    2. C Symbols Keywords
    3. Introduction to C Data Types and Basic Types
    4. Basic C Types Continued
    5. How to use Basic C Types with prtinf format specifiers
    6. C Variables and Constants
    7. 'enum' Data Types in C
    8. Variable Scope
    9. More on Block Scope in C
    10. Understanding Creating C Functions
  7. Chapter 7 : Operators Expressions
    1. Operators Expressions in C
    2. Using Arithmetic Assignment Operators in C
    3. Increment Decrement Operators in C/C++
    4. Cast Operator and Type Casting in C
  8. Chapter 8 : Conditional Statements
    1. Using if...else...conditional statements
    2. If...else...Code Example: Checking high blood pressure readings
    3. Using Ternary Operator
    4. Using switch statement
    5. Using 'break' keyword...
  9. Chapter 9 : Loops, Jump keywords Control Flow
    1. Introduction to Loops
    2. Understanding For Loops in C/C++
    3. Using For Loops in C/C++
    4. Stepping through and debugging a 'for' Loop
    5. Using 'while' loops in C/C++
    6. Using 'do...while' Loops in C/C++
    7. Using 'continue' keyword...
    8. Using 'goto'...
  10. Chapter 10 : Arrays
    1. Introduction to Arrays
    2. Working with single-dimension arrays in C/C++
    3. Arrays and Functions
    4. How To Calculate Array Size in C/C++
    5. Working with 2D Arrays
    6. Declaring and Initializing Multidimensional Arrays
    7. Character Arrays versus Strings
  11. Chapter 11 : Pointers
    1. Introduction Section Overview
    2. Address of Operator ()
    3. Why Do We Need Pointers?
    4. What is a pointer?
    5. Using Pointers
    6. A Closer Look At How Pointers Work!
    7. Passing Pointers to Functions: Let's Implement Swap Function!
    8. Passing Pointers to Functions: Example With 2 Pointers
    9. Passing By Value vs. Passing By Pointer
    10. Pointers and Arrays
    11. Pointer Arithmetic: Working with Integer Pointers
    12. Pointer Arithmetic: Printing out Memory Addresses for Pointers
    13. Pointer Arithmetic: Working with Character Pointers (Strings)
    14. Pointers and Strings: Beware of Attempting to Modify Read-Only Memory!
    15. Pointers and Strings (2): Printing Out Vowels In a String
    16. Pointers and Strings: Remove Vowels Example
    17. Pointers and Arrays: Using Pointer Arithmetic with Arrays
    18. Pointers and 'const' Keyword
    19. Void Pointers
  12. Chapter 12 : Strings
    1. Working With Strings - Reviewing Strings in C/C++
    2. Using 'strlen' function to get length of string
    3. Using 'strcpy' and 'strcat' functions
    4. Using 'sprintf' function
    5. Using 'strcmp' and 'stricmp' functions to compare strings
    6. Using 'strchr' to search for characters inside strings
    7. Using 'strstr' to search for a substring inside another string
    8. How to declare and use string arrays
    9. Arguments of main() function - Part 1
    10. Arguments of main() function - Part 2
  13. Chapter 13 : Working with User Input
    1. A quick overview of 'scanf' function
    2. Getting user input using 'scanf'
    3. Important Tips for Working with User Input
  14. Chapter 14 : Preprocessor Directives
    1. Section Overview
    2. #define directive
    3. Using '#define' To Define Symbolic Constants
    4. using #define to define macros and avoiding macro pitfalls
    5. '#include': Angle Brackets (>) versus Double Quotes ("")
    6. Understanding Conditional Compilation
    7. Using Conditional Compilation
    8. '#error' preprocessor directive
    9. Using "#" and "##" operators
  15. Chapter 15 : Working with Header Files and Multiple Source Files
    1. Nesting Header Files Multiple Inclusion Problem
    2. Forward Declarations in C/C++
    3. Breaking Your Code Into Multiple Source Files
  16. Chapter 16 : Creating C Libraries (Static LIBs)
    1. Libraries Overview
    2. Creating Your First Library Project (.LIB)
    3. Using Our Library in a Project - The Un-recommended Approach
    4. Referencing Our Library When Installed in a Specific Path (Folder)
    5. Using Our Library From Projects Within The Same Solution
  17. Chapter 17 : Structures Unions
    1. Using 'struct' keyword in C
    2. Using 'union' keyword in C
  18. Chapter 18 : Working with Files and I/O
    1. Introduction to File I/O
    2. Reading and Writing Files (Overview)
    3. Reading and Displaying Text Files - Part 1
    4. Reading and Displaying Text Files - Part 2
    5. Creating Text Files using File API in C/C++
    6. Searching for text inside a text file!
  19. Chapter 19 : Let's Talk Binary | Manipulating Bits
    1. Bit-wise Operators Overview
    2. Bit-wise AND () operator
    3. Bit-wise OR (|) operator
    4. Bit-wise XOR (^) Operator
    5. Bit-wise NOT (~) Operator
    6. Bit-wise Right Shifting Operator (>>)
    7. Bit-wise Left Shifting Operator ()
    8. Using Bit-wise Operators in Code
  20. Chapter 20 : Dynamic Memory Allocation
    1. Dynamic Memory Management Overview
    2. Understanding Stack Memory
    3. Understanding Heap Memory
    4. Stack vs. Heap
    5. Using Malloc Free In Our Code
  21. Chapter 21 : More C Keywords...
    1. 'auto' keyword in C
    2. 'register' keyword in C
    3. declaring static variables inside functions with 'static' keyword in C
    4. 'volatile' keyword in C
    5. using 'typepdef' keyword in C
    6. Understanding 'extern' keyword in C
    7. Using 'extern' Keyword in our code
    8. Using 'static' keyword with global variables and functions in C
  22. Chapter 22 : Advanced Topics
    1. Recursion in C/C++
    2. Variadic Functions Overview
    3. Let's Implement a Variadic Function in C - Technique #1
    4. Let's Implement a Variadic Function in C - Technique #2
  23. Chapter 23 : Mixing C with C++ Code
    1. Overview of Mixing C with C++
    2. Creating A C++ Program That Uses Our C Library
  24. Chapter 24 : Where To Go From Here...
    1. Where To Go From Here...

Product information

  • Title: Learn and Master C Programming For Absolute Beginners!
  • Author(s): Mohammad El-Haj
  • Release date: October 2017
  • Publisher(s): Packt Publishing
  • ISBN: 9781788835718