Learn C from Scratch

Learn C from Scratch

Gain insights into C programming fundamentals and advanced concepts, including data types, control flow, memory management, and debugging, enhancing your programming skills and deepening your understanding.

Beginner

90 Lessons

12h

Certificate of Completion

Gain insights into C programming fundamentals and advanced concepts, including data types, control flow, memory management, and debugging, enhancing your programming skills and deepening your understanding.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

1 Project
132 Playgrounds
6 Challenges
13 Quizzes

This course includes

1 Project
132 Playgrounds
6 Challenges
13 Quizzes

Course Overview

Do you want to get a grip on the basic programming concepts from scratch? Do you feel the need to have a better and enhanced understanding of how it all works? Well, you've come to the right place. This course outlines data types, control flow, functions, input/output, memory, compilation, debugging and other advanced topics in a comprehensive, yet concise manner. C is where it all begins and where you should also begin to embark on your programming journey. The incredibly efficient and powerful C languag...Show More

TAKEAWAY SKILLS

Programming Language

C

Learn To Code

Course Content

1.

Why Program in C?

Get familiar with C's historical significance, efficiency, and optimal use in performance-centric tasks.
2.

Basic Types and Statements

Unpack the core of creating programs, using variables, data types, constants, and understanding statements in C.
3.

Operators and Expressions

Work your way through operators and expressions, type conversions, custom type names, and exercise applications.
4.

Control Flow

Break down complex ideas in C control flow: loops, conditionals, break, continue, and switch statements.
5.

Functions

Explore functions in C to enhance code reuse, efficiency, and modularity through practical examples.
6.

Complex Data Types

8 Lessons

Follow the process of utilizing arrays, structures, and command-line arguments for complex data handling.
7.

Memory : Stack vs Heap

5 Lessons

Master the steps to manage stack and heap memory for efficient C programming.
8.

Pointers

7 Lessons

Learn how to use pointers for dynamic memory, efficient data handling, and function interaction.
9.

Strings

5 Lessons

Unpack the core of handling strings, standard library functions, arrays of strings, and practical exercises.
10.

Input and Output

6 Lessons

Go hands-on with C I/O streams, file handling, binary file operations, random access, and practical exercises.
11.

Macros and the C Preprocessor

4 Lessons

Grasp the fundamentals of the C preprocessor, including #define directives, macros with arguments, and conditional compilation.
12.

Header Files, Compiling and Linking

3 Lessons

Take a closer look at organizing C programs with multiple files and using Makefiles efficiently.
13.

Debugging

5 Lessons

Implement debugging techniques using GDB, manage breakpoints, and avoid common C pitfalls.
14.

Speeding Up Your Code

3 Lessons

Practice using profiling, known slugs, and compiler optimizer flags to speed up your code.
15.

Advanced Topic: Parallel Programming in C

6 Lessons

Learn how to use parallel programming techniques in C for optimized performance.
16.

Conclusion

1 Lesson

Look at the comprehensive understanding and lasting skills in C programming.
17.

Miscellaneous

1 Lesson

Explore useful C libraries like GLib, GSL, BLAS/LAPACK, Apophenia, and GNUplot.
18.

Appendix: Setting Up the Environment

2 Lessons

Build a foundation in setting up your C programming environment across different operating systems.

Course Author

Show License and Attributions

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Souvik Kundu

Front-end Developer

Eric Downs

Musician/Entrepeneur

Anthony Walker

@_webarchitect_

Evan Dunbar

ML Engineer

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor