Learn C from Scratch to Advanced

5 stars | 6 reviews

This comprehensive C programming course is designed for beginners and intermediate learners, providing hands-on experience from the fundamentals to advanced topics. You'll start with the basics of programming, learning C syntax, data types, variables, and operators. The course progresses through essential concepts such as control structures, functions, arrays, strings, and pointers, ensuring a thorough understanding of C programming.

Pre-requisites

None

Projects

3 Projects

Duration

75 Hours

Outcome

Skills: C, Git, GitHub
Certification: Course completion certificate

Assessments

20+ Tests, 18+ Assignments

About the Course

This course provides a deep dive into C Programming, designed for beginners as well as students looking to solidify their understanding of core programming concepts. C is a foundational language that has influenced many modern languages, making it a crucial tool for any aspiring software developer. The course covers a wide range of topics from basic syntax and program structure to advanced topics like dynamic memory management, data structures, and project development.

Tools Covered in the Course

These are the tools we are going to cover and master in the course. Please click on the tools to know more about them:

VSCode GIT GitHub
JIRA Slack Trello

Advantages of this course

Once you do the Frontend developer Certification, these are the Job profiles you can aspire for::

  • Understanding how a Software, Website, Apps, & Web Apps works
  • Understanding how a Software works under-the-hood
  • Learning about GIT
  • Hands-on training in basics, Moderate, & Advance concepts of GitHub
  • Public speaking - Chance to be a Speaker in in a city-wide session
  • 3 Mini Projects & 1 Major Project - Completed & Deployed on a live server
  • Hackathons organised for the batch with exciting prizes to win
  • Project Management using Trello & JIRA
  • Learning about Communication tool - Slack
  • Improving the Logical ability
  • Guidance on Placement preparation
  • Career counselling
  • Complete Hands-on training
  • Doubt clearing @ anytime

Syllabus

14 Sections · 74 Topics · 3 projects · 40+ Tests & Assignments

  • Introduction to Programming
  • What is Programming?
  • History of C Language
  • Features and Importance of C
  • Applications of C
  • Setting Up Environment
  • Installing IDEs (Turbo C, GCC, CodeBlocks, etc.)
  • Writing and Executing First C Program
  • Basic Structure of C Program
  • Syntax and Semantics
  • #include and Header Files
  • main() Function
  • Compilation, Debugging, and Execution Process

  • Introduction of HTML
  • Data Types
  • Integer, Float, Double, Char
  • Void and Derived Data Types
  • Variables and Constants
  • Declaration and Initialization
  • Scope and Lifetime of Variables
  • Constant Qualifier (const)
  • Operators
  • Arithmetic, Relational, Logical
  • Assignment and Compound Operators
  • Increment and Decrement Operators
  • Bitwise Operators
  • Ternary (?:) Operator

  • Formatted I/O
  • printf() and scanf()
  • Format Specifiers
  • Escape Sequences
  • Unformatted I/O
  • getchar(), putchar()
  • gets(), puts()

  • Conditional Statements
  • if, if-else, else-if ladder
  • Nested if statements
  • Switch-case statements
  • Looping Constructs
  • for, while, do-while loops
  • Break and Continue Statements
  • Nested Loops
  • Decision Making in C
  • Conditional Expressions
  • goto Statement

  • Defining and Using Functions
  • Syntax, Return Types, and Parameters
  • Function Call by Value and Reference
  • Types of Functions
  • Built-in (Library) Functions
  • User-defined Functions
  • Recursion
  • Recursive Functions
  • Use-cases (Factorial, Fibonacci, etc.)
  • Function Prototyping
  • Scope of Variables
  • Storage Classes (auto, static, extern, register)

  • Introduction to Arrays
  • Declaration and Initialization
  • Accessing and Modifying Elements
  • Multi-dimensional Arrays
  • Working with Strings
  • Declaration of String Variables
  • String Handling Functions (strlen(), strcpy(), strcmp(), strcat())
  • String I/O Operations

  • Introduction to Pointers
  • Pointer Variables and * (Dereferencing)
  • Pointer Arithmetic
  • Null and Void Pointers
  • Pointers and Arrays
  • Relationship Between Arrays and Pointers
  • Passing Arrays to Functions Using Pointers
  • Pointers and Functions
  • Call by Reference
  • Returning Pointers from Functions
  • Dynamic Memory Allocation
  • malloc(), calloc(), realloc(), free()

  • Defining Structures
  • Declaring and Initializing Structures
  • Accessing Structure Members
  • Nested Structures
  • Unions
  • Difference Between Structure and Union
  • Use Cases of Union
  • Pointers to Structures
  • Passing Structures to Functions

  • File Operations
  • Opening and Closing Files
  • Reading from and Writing to Files (fopen(), fclose(), fscanf(), fprintf())
  • File Pointers
  • fgetc(), fputc(), fgets(), fputs()
  • File Modes
  • Text and Binary Files
  • Error Handling in File Operations

  • Preprocessor Commands
  • #define, #include, #ifdef, #ifndef
  • Conditional Compilation
  • Macros
  • Macro Substitution
  • Parameterized Macros

  • Dynamic Data Structures
  • Linked Lists (Singly and Doubly Linked)
  • Stacks and Queues Using Linked Lists
  • Memory Management
  • Memory Leaks and Optimization
  • Handling Memory with free()
  • Command-line Arguments
  • Using argc and argv
  • Application of Command-line Arguments
  • C Libraries and Header Files
  • Common C Libraries (<math.h>, <time.h>, etc.)
  • Creating and Using Custom Header Files

  • Common Errors in C
  • Syntax vs Logical Errors
  • Segmentation Faults
  • Memory Leaks
  • Debugging Techniques
  • Using GDB (GNU Debugger)
  • Breakpoints and Step-by-Step Execution
  • Logging with fprintf() and Debug Mode

  • Project Guidelines
  • Writing Efficient Code
  • Documentation and Commenting
  • Project Topics:
     Basic Calculator,
     Inventory Management System,
     Mini-Banking System,
     Student Record Management System
     Simple Calculator
     Matrix Operations
     Library Management System
     Basic File Operations (e.g., Contact Book)
     Simulation of Data Structures (Queue, Stack)