C Made Easy For Beginners: A Complete C Language Course
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.42 GB | Duration: 21h 45m
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 6.42 GB | Duration: 21h 45m
Become a professional C programmer, learn from very basic to advance level, apply / answer confidently.
What you'll learn
Fundamentals of C Language (From scratch to advance level)
Basics of C Language in depth, Data types, all Control structures, IO (+5 Example student projects demonstrated and fully explained)
File IO (text/binary), complex Data structures, Dynamic / Static Libraries creation, Unicode support in standard C
Web Programming using pure C language, connecting with MySQL / SQLite / CSV, Forms handling, CGI Programming (+2 projects)
Object Oriented Programming using pure C Language, solving complex problems using OOP (in depth)
GUI Programming (on windows) using pure C
Data Structures and Algorithms
Requirements
A machine with Windows / Linux / Mac on it
Basic understanding of English Language
Description
Is prior programming experience required? Short answer is "NO", because this course is designed for absolute beginners; but, if you already have programming experience, you would be able to learn C within [probably] couple of days.What you learn and earn from this C Course?You would be able to code (pretty much any kind of software application), i.e. general, complex, a database driven, web, GUI application, as well as complex algorithmic stuff after finishing the course.You will have completed understanding on C language and it's capabilitiesYou will learn to code Web Applications in pure CYou will learn to code Windows GUI Application in pure CYou will also learn concepts and implementation of Object Oriented Programming in CYou will learn Data Structures and AlgorithmsYou will be learning from (five) Student Projects that are included in this course (specifically coded / tailored for this course)You will learn SOC - Separation of ConcernsYou will learn Modular programming approachYou will learn real-life application development, linking external stuff, and completing your application in shorter time.Outline overview:Basic Programming concepts, Variables, Constants, Type-castingData Types, all kind of Operators (arithmetic / relational / logical etc.) , Basic input / output / Unicode Character setArrays, VLAs, Matrices, Structures, Unions , bit-fieldsDecision Making (if-else, switch, ternary), Nested decisions / statementsLoops (for, while, do-while), Nested LoopsFile IO (reading writing appending - Binary / Text data)Functions (Basic, with/without parameters, Variadic, Pass by ref/value, Recursion), Scope of variables / constants. Advance use of "const"Pre-processor / Macros - in depth studyPointers in details, Pointer Arithmetic, Function PointersStorage ClassesData Structure & Algorithms - Linked Lists (doubly / singly / circular), Stacks, Queues, Trees, Graphs & Hash-Tables, Sorting algorithms etc.)Creating & Working with Shared / Static Libraries .SO / .DLL / .A / .LIB (Implicit and explicit linking of shared libraries)Bitwise operations / Bit manipulation in detailYou will also learn about CGI & Web programming - HTTP (get / post) , SQL, HTML, etcGUI Programming to build fully functional Windows ApplicationsObject Oriented Programming using CAlong with Additional topics you an find in last Bonus chapter (which will gradually be updated with new topics5 - Student database projects are included in this course, and are demonstrated in form of video lectures
Overview
Section 1: Introduction
Lecture 1 About the Teacher
Lecture 2 Introduction to Course
Lecture 3 Why C?
Lecture 4 What is a Compiler?
Lecture 5 A quick talk on C compilers
Lecture 6 Choosing an Editor or IDE
Lecture 7 Necessary tools installation - Microsoft Windows
Lecture 8 Necessary tools installation - Linux
Lecture 9 C is Statically-Typed language
Lecture 10 C is a Case-Sensitive language
Lecture 11 Type Fast please !
Section 2: Let's start to Program - C Basics [Variables, Data Types, Constants, Arrays]
Lecture 12 A basic C Program Structure, 1st Program & Output
Lecture 13 Basic IO in C (output)
Lecture 14 Basic IO in C (input)
Lecture 15 Comments // /* … * / , Single line / Multiline comments
Lecture 16 Variables - Basic concept and Rules
Lecture 17 Data Types in C
Lecture 18 Arithmetic Operations
Lecture 19 Additional Assignment Operators
Lecture 20 Arrays in C and concept of string
Lecture 21 Creating Arrays of Numbers and other data type
Lecture 22 Accessing Individual elements from Array
Lecture 23 VLA - Variable Length Arrays in C
Lecture 24 Multi-Dimensional Arrays [2D, 3D, etc]
Lecture 25 The "sizeof" - and it's importance
Lecture 26 Assigning Constant values to Arrays
Lecture 27 Concepts of "signed" and "unsigned" - Numbers ranges
Lecture 28 Constants in C
Lecture 29 Scope of Constants in C
Lecture 30 Boolean Data Type
Lecture 31 Sized Integer types - be a better programmer
Lecture 32 Enum Data Type (Enumerated)
Lecture 33 Different base constant values - Integer Literals
Lecture 34 Typecasting in C
Section 3: Decision Making
Lecture 35 "if - else" in C
Lecture 36 Relational Operators
Lecture 37 Logical operators in conditions & Compound conditions
Lecture 38 Nested if - else statements
Lecture 39 Ternary / Conditional expression
Lecture 40 "switch - case" - another way of decision making in C
Lecture 41 Extra Semicolons Problem
Section 4: Structures in C - struct
Lecture 42 Introduction, use and benefits of structures in C
Lecture 43 struct - The Implementation
Lecture 44 Bit fields within structures
Lecture 45 Nested structures in C
Section 5: Unions in C - union
Lecture 46 Introduction to Unions in C
Lecture 47 Use and benefits of Unions
Lecture 48 Unions - The Implementation
Section 6: Loops and Labels in C
Lecture 49 Introduction to Loops in C
Lecture 50 Visually understanding loops structure
Lecture 51 The "for" loop in C
Lecture 52 The "while" loop in C
Lecture 53 The "do-while" loop in C
Lecture 54 Infinite loops in C & concepts of break
Lecture 55 "continue" keyword, it's use in loops
Lecture 56 Labels in C - concept
Lecture 57 Labels - The Implementation
Lecture 58 Nested loops in C
Section 7: More String know-about & IO functions
Lecture 59 Common string and IO functions
Lecture 60 Formatted printing into a string
Lecture 61 About quotes, slashes and % sign
Lecture 62 Using Program Command-line arguments
Section 8: Functions in C Language
Lecture 63 Introduction to Functions
Lecture 64 Basic Function Structure
Lecture 65 Declaration & Definition
Lecture 66 Functions that do not return a value & conditional return
Lecture 67 Functions that return a value
Lecture 68 Functions that have Arguments / Parameters
Lecture 69 Functions that that "do not" have Arguments / Parameters
Lecture 70 Functions with Variable number of Arguments (Variadic 1)
Lecture 71 Implementation of Default Arguments in C using struct (C++ style - Variadic 2)
Lecture 72 No data types in arguments
Lecture 73 Understanding Pass by Value
Lecture 74 Understanding Pass by Reference
Lecture 75 Recursive Functions in C
Lecture 76 Scope of variables & static variable within a function
Lecture 77 Constants (const) revisited - with regards to Functions
Section 9: Preprocessor directives in detail - macros
Lecture 78 Introduction to Preprocessor Directives
Lecture 79 A Macros and their implementation
Lecture 80 Predefined Macros
Lecture 81 ## - Concatenation
Lecture 82 # - Stringization / Stringification
Lecture 83 #pragma Directive
Section 10: File System IO
Lecture 84 Introduction to File system IO
Lecture 85 Basic File IO Program - modes concepts - Writing TEXT file
Lecture 86 Reading text file, appending TEXT
Lecture 87 Writing Binary files
Lecture 88 Reading Binary file
Lecture 89 Binary mode extra
Lecture 90 Seeking - determine file size
Lecture 91 Determine End of File when reading
Section 11: Unicode support in C program - data types and corresponding functions
Lecture 92 Introduction to Unicode
Lecture 93 What is Wide character?
Lecture 94 Visually Understanding the Wide character
Lecture 95 Unicode specific String and File IO Functions
Section 12: Pointers in C
Lecture 96 Introduction to Pointers in C
Lecture 97 Address and Value Modification
Lecture 98 Dynamic Memory Allocation
Lecture 99 Pointers in Functions Parameters
Lecture 100 Effictive memory usage
Lecture 101 Use of pointers in Data Structures
Lecture 102 String Example - in regards to Pointers
Lecture 103 Pointer Arithmetic in C
Lecture 104 Typecasting in regards to Pointers
Lecture 105 Function Pointers in general
Lecture 106 Function Pointers with Structures
Lecture 107 Restricting target of Pointer
Section 13: Storage Classes in C & Type Qualifiers
Lecture 108 Introduction to Storage Classes
Lecture 109 Use of "auto" in C
Lecture 110 Use of "static" in C
Lecture 111 What is "register" keyword used for?
Lecture 112 What is "extern" keyword used for?
Lecture 113 What is inline keyword used for?
Lecture 114 What is "volatile" keyword used for
Lecture 115 Creating Cleanup functions in C - concepts
Section 14: Student database project - v1 / v2 - hands-on training
Lecture 116 Introduction to Project
Lecture 117 Creating data structures for project
Lecture 118 Creating simple User Interface
Lecture 119 Implementing simple Reading / Writing functions
Lecture 120 Writing a new rercord
Lecture 121 Reading All Records
Lecture 122 Searching for certain Record
Lecture 123 Bonus - Create database in MS Excel & LibreOffice for same program
Lecture 124 Converting to binary - Updating writing routine
Lecture 125 Converting to binary - Updating reading routine
Section 15: External Libraries & headers
Lecture 126 Introduction & SOC
Lecture 127 Header files in C Program
Lecture 128 Static Library files .a / .lib
Lecture 129 Shared Libraries - creating DLL
Lecture 130 Program 1 - Implicit Linking of DLL
Lecture 131 Program 2 - Explicit Linking of DLL
Lecture 132 Working with large numbers - using GMP DLL
Lecture 133 Working with SQLite in C - Linking SQLite 3 DLL
Section 16: Web Programming using C & CGI
Lecture 134 Introduction to Web Programming using C & CGI
Lecture 135 Web server requirements
Lecture 136 Apache configuration updates to run C program, CGI
Lecture 137 HTTP Output basics
Lecture 138 HTTP methods basics [GET, POST]
Lecture 139 Form handling in C - Web Applciation
Section 17: BONUS Chapter - Student Database Project - v3 - Web application in C
Lecture 140 Introduction - SOC First
Lecture 141 Explore Code and understand whole Application
Lecture 142 About premade CSS Libraries for our C based Web Application
Section 18: BONUS Chapter - Student Database Project - v4 - Upgrading v3 Application
Lecture 143 What exactly is the Update to v3? (Update / Delete ) - Revised + Explained
Section 19: Data-Structures & Algorithms - An Introduction
Lecture 144 Introduction
Lecture 145 Stack (LIFO) - Data Structure
Lecture 146 Stack - Implementation
Lecture 147 Queue (FIFO) - Data Structure
Lecture 148 Queue - Implementation
Lecture 149 Linked List (singly) - Data Structure
Lecture 150 Linked List (singly) - Implementation
Lecture 151 Doubly Linked List - Data Structure
Lecture 152 Doubly Linked List - Implementation
Lecture 153 Circular Linked List - Data Structure
Lecture 154 Circular Linked List - Implementation
Lecture 155 Tree - Data Structure
Lecture 156 Tree - Implementation
Lecture 157 Graph - Data Structure
Lecture 158 Hash Table / Map - Data Structure
Lecture 159 Hash Table - Implementation
Lecture 160 Sorting
Section 20: Bitwise operators / Bit Manipulation
Lecture 161 Introduction to Bitwise Operations
Lecture 162 Bitwise Operators & their use
Lecture 163 Bit 2 Bit Counting - Determining integer value of a bitstring
Lecture 164 Understanding Bitwise Operators
Lecture 165 Assignment operators revised for bitwise operations
Lecture 166 Checking if certain bit is set in data
Lecture 167 Setting certain bit in data - Turning a bit ON
Lecture 168 Inverting certain bit in data
Lecture 169 Clearing certain bit in data - Turning OFF a bit
Lecture 170 Creating bit manipulation macros for ease
Lecture 171 Printing number in Binary format
Section 21: BONUS Chapter - GUI Programming using C - Microsoft Windows - introduction
Lecture 172 Introduction - WINAPI Application Internals
Lecture 173 GUI programming with premade libraries
Lecture 174 A Windows API based Program
Lecture 175 Configuration & Program structure (It is too easy)
Lecture 176 Native Controls
Lecture 177 Binding Procedures to Events
Lecture 178 Common Form Styles & Events
Lecture 179 Controls' visibility and state
Lecture 180 Controls' text value - setting and getting text value
Lecture 181 Text Box styles, events and value
Lecture 182 Combo box events and value
Lecture 183 Listbox events and value
Lecture 184 Checkbox events and value
Lecture 185 Radio button events and value
Lecture 186 Track events and value (slider)
Lecture 187 Guage value and updates (progressbar)
Lecture 188 Table control - Columns, Rows, events
Lecture 189 Image control - color / monochrome
Section 22: BONUS Chapter - Student database Project v5 (+Exercise)- Windows GUI Application
Lecture 190 Explanation of Project (going though source) + Assignment
Section 23: BONUS Chapter - Object Oriented Programming using C - OOP
Lecture 191 Introduction / Common sense of OOP - What is OOP?
Lecture 192 Basic OOP Example using C
Lecture 193 Forward Declarations
Lecture 194 Heavy use of Macros in OOP -C
Section 24: BONUS Chapter - Additional Useful topics [lectures added time to time]
Lecture 195 Program Executable size reduction
Lecture 196 Grab External program's output in your program
Absolute Beginners, or developers of any other programming languages willing to explore power of C (e.g. php, perl, javascript, actionscript, C++, java, C#, kotlin, GO, swift developers),or - Programmers that are willing to learn about low-level programming language,or - C / C++ programmers who are willing to get stated with creating basic Web / GUI applications in C,or - C / C++ programmers willing to learn about Bit manipulation further / Data Structures & algorithms,or - O / A Level students, College Students, University Students (having subject of structured programming)