Best Free C Programming Courses

Find the best online Free C Programming Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings.

Introduction To Python Programming

A Quick and Easy Intro into Python Programming

Created by Avinash Jain - CEO of TheCodex.me - Teaching 500,000+ Students how to code

"]

Students: 646318, Price: Free

Do you want to become a programmer?

Or is it that Python interests you?

If you need a quick brush-up, or learning Python for the first time, you've come to the right place!

Let's get started learning one of the most easiest coding languages out there right now. There's no need to fret if you haven't coded before. By the time you finish this course, you'll be a pro at Python!

Python is a great and friendly language to use and learn. It fun, and can be adapted to both small and large projects. Python will cut your development time greatly and overall, its much faster to write Python than other languages. This course will be a quick way to understand all the major concepts of Python programming. You'll be a whiz in no time.

This course is a one-stop-shop for everything you'll need to know to get started with Python, along with a few incentives. We'll begin with the basics of Python, learning about strings, variables, and getting to know the data types. We'll soon move on to the loops and conditions in Python. Afterwards, we'll discuss a bit of file manipulation and functions. By then, you'll know all the basics of Python.

I hope you're excited to dive into the World of Python with this course. Well, what are you waiting for? Let's get started!

C++ Tutorial for Complete Beginners

How to program in the popular (and tricky!) C++ programming language, for complete beginners.

Created by John Purcell - Software Development Trainer

"]

Students: 529465, Price: Free

This course teaches you the powerful, fast and popular C++ programming language from scratch, assuming only basic computer knowledge. If you want to develop apps that squeeze the most power from your computer -- high-end desktop games or complex artificial intelligence programs, for instance -- or if you want to use a language that let's you get close to your machine and access all of your computer's hardware, C++ is the language for you. While C++ is quite challenging, in this course we'll learn the basics step by step; towards the end of the course you'll learn how to create a beautiful "particle fire" program, including a smattering of the basic principles of game development.

R Basics – R Programming Language Introduction

Learn the essentials of R Programming - R Beginner Level!

Created by R-Tutorials Training - Data Science Education

"]

Students: 181445, Price: Free

Are you interested in data science?

Do you want to learn R totally from scratch?

Are you looking for an easy step by step approach to get into R?

Do you want to take an easy R course for BEGINNERS?

Well, if your answer is YES to some of these questions, look no further, this course will help you.

I created this course for the total beginner. That means for you: No prior knowledge required! If this is your first computer programming language to use - congratulations, you found your entry level material. If you are new to data science, no problem, you will learn anything you need to to start out with R.

That also means for you: if you are already used to R, you will likely benefit more from an advanced course. I have more than ten intermediate and advanced R courses available on Udemy, which might be more suited towards your needs. Check out the r-tutorials instructor profile for more info.

Let’s take a look at the content and how the course is structured:

We will start with installation, the R and RStudio interface, add on packages, how to use the R exercise database and the R help tools.

Then we will learn various ways to import data, first coding steps including basic R functions, functions and loops and we will also take a look at the graphical tools.

The whole course should take approx. 3 to 5 hours, and there are exercises available for you to try out R. You will also get the code I am using for the demos.

Anything is ready for you to enter the world of statistical programming.

What R you waiting for?

Martin

Java Programming Basics

Learn to program! Let's walk through some simple examples and I'll explain everything along the way.

Created by Charles Mulic - Professional Code Monkey

"]

Students: 135830, Price: Free

Learn about programming through a series of short, concise examples with line by line explanations covering everything from getting up and running to object oriented programming, data structures, and various tips and tricks to help you along your way.

Section 1 will get you up and running with everything you'll need to write and run Java programs.

Section 2 will introduce fundamental programming concepts such as variables, methods, and control structures that will put you well on your way to writing your own applications.

Section 3 dives a bit deeper as we learn about object oriented programming. You'll learn how to write code that can be reused easily, as well as gain some insight into technical details about how programs actually run on hardware.

Programming 101

Comprehend basic foundational knowledge of hardware, networking, programming and licensing.

Created by Lawrence Turton - Technical Instructor

"]

Students: 96931, Price: Free

Most people do not know how their device's process binary and work with data, from their washing machine to their smart phone. I found even some programmers don't have the knowledge of such; I'm in fact guilty of this sin!

I missed out by learning a programming language first rather than trying to understand the computer on the hardware level. As programmers we are controlling the hardware and eventually even if you're programming in Javascript you need to know about memory and how the language works. So understanding binary data, persistent and temporary memory, CPU, SPU, GPU, networking and more is crucial even if you're a web developer this still applies to you.

This course will be a broad foundation of knowledge giving understanding of certain topics that need to be covered; giving you a solid foundation to grow from. I don't believe in understanding a programming language first is the correct way to go about things. Programming languages have evolved as a tool for us. NOT the computer! So if we understand the computer's hardware we'll understand clearly how our program's are controlling our device's.

Computers are tools that we created to benefit man kind, however as all tools we need to improve them more and more. However the core principle of computers from the very first computer ever invented hasn't changed. Over time the tool or computer has been refined. However the very core process and simplicity in underlying principles has been the same from the foundation of computing which is, processing ones and noughts. Computers have gone from processing 8 to 64 bits at any one time. This is just the computer being able to process more bits and thus more powerful operations can be done at a single time.

Don't get me wrong computers are far more advanced, but the concept is all I'm saying is simple enough that even a beginner can learn what most people consider advanced and above their pay grade.

Likewise understanding networking is of vital importance especially for the web developers of today. More apps are going online so understanding network infrastructure, that has been around for over a decade, is still important today.

What about programming languages? We invented them as tools to communicate with these raw processing machines. We must understand why we have programming languages and how they work. For example what're compilers or transpilers? How have we taken our form of communication, human languages, and turned it into an effective communication to manipulate the computer, programming languages? What about variables, constants, functions, objects and arrays that are in all major programming languages today? Also all languages have operators and if you didn't have them in a programming language you wouldn't actually have a programming language at all.

In this course we'll cover even more, what about programming paradigms. Paradigm just means a model on how to do something. So in this case we can write our program's in a certain way or in a certain paradigm. Very few beginners consider the style with which they program. When creating small scale apps it isn't that difficult, however when creating large scale apps, paradigms become imperative.

Most programming languages give you the flexibility to mix and match programming paradigms or styles for writing your app's. You have a few major styles to choose from such as assembly, procedural and object oriented. Do note in a single app you can mix these paradigms usually procedural and object oriented to best suite that part of your large scale app. I'll show you the styles of these paradigms and then apply procedural and OOP (object oriented paradigm/programming) to demonstrate how the human mind works with differing paradigms; proving that multiple paradigms are the way forward.

Finally at the end of learning such a broad range of topics in a clear and concise course; you'll also be learning about the licensing which should be covered especially for new comers. Then learning about software morality such as DRM, software patents and many other aspects of how the government is dealing with your data.

After all this, if you're still not satisfied you can have your 100% money back guarantee if the course actually cost anything. So this last bit is really the bit that sells it, what have you got to loose?

Microcontrollers and the C Programming Language (MSP430)

Create C programs for a microcontroller using inputs/outputs, timers, analog-to-digital converters, comm ports, and LCD.

Created by Mark M. Budnik - Brandt Professor of Engineering, Valparaiso University

"]

Students: 66114, Price: Free

The course is laboratory based. Almost every lecture and section of the course leads directly to a hands-on laboratory assignment. The more practice you get using the “real world" Texas Instruments MSP430 hardware and software the more proficient you will be.

The course does not waste your time. From the very beginning, we jump right in to your first laboratory assignment – Let's Get Started.

The course is modular in nature. Are you new to the world of microcontrollers? Great! Start at the beginning, and we'll teach you everything you need to know. Do you have some background in microcontrollers but want to learn more? Fantastic! You can pick and choose the modules that you need.

The course is packed with information. From the beginnings of the C programming language to advanced microcontroller peripherals, the course teaches you all of the building blocks you would need to build your own electronic systems.

We use lots and lots of examples. We take you step-by-step through the lessons – each time providing sample code and documentation to make sure you are supported through the course.

We are here to help. We are educators with a singular focus of providing a meaningful experience for our students. And, while we cannot do the work for you, we are willing to work WITH you help you succeed.

C Programming 2021: Master The Basics!

Learn C Fast | Start Coding Quickly | Master The Fundamentals of C

Created by Ali Badran - Programmer | Android Developer | Instructor

"]

Students: 38169, Price: Free

Welcome to "C Programming 2021: Master The Basics!"

This course is for total Beginners, you will learn how to code using the  C Programming Language in an easy, simple, and efficient way.

What Will You Get?

- Develop your programming skills: From ZERO to ONE

- In-depth knowledge and practice - 2+ Hours Course with Exercises

- Flexible learning - At Your Own Pace, On Any Device

- Zero-fluff - Straight to the point, no time wasted

- Clear delivery - I explain every single thing clearly, step-by-step

What Will You Learn?

Basics:

- Installing Code::Blocks IDE

- Basic Program Structure, Comments

- The Build Process

- Variables and Data Types

- Constants and Addresses

- Input and Output (scanf(), printf())

- Arrays

- Strings (char arrays)

- Operators

- Control Flow (Decisions)

- Control Flow (Loops)

- Functions, Scope

Exercises:

- power

- Sum of Input

- Divisors of a Number

- Min and Max

- GCD and LCM

- 1D Array: Sum and Product

- 2D Array: print [row-row, column-column]

- 2D Array: Rain Fall

- Strings: Read a string

- Strings: Copy String to String

This is a part of the full 18-hours long ( 11+ hours of exercises ) course "C Programming: Become A Pro! Think Like a Programmer!", you can check it after you finish this course for more content and advanced topics!

REMEMBER: you have a "30-Days" money-back guarantee, so don't worry if you have any doubts...

So what are you waiting for? SEE YOU INSIDE!
Enjoy the course! I'm sure it will make you a better programmer!

Introduction To The C Language

Learn a language that was ranked amongst the top 3 programming laguages in the 2018 IEEE's survey.

Created by Haidar Al-Aubiydy - Aerospace Engineer

"]

Students: 12589, Price: Free

This course is a quick introduction the C programming language. You will first learn about the C language Basics such as variables, arrays, strings, and pointers. You will then learn about operators and control structures such as rational and logical operators, Conditional statements and loops. The course also includes a section on useful C language functions divided in 4 C language libraries. The course is meant to be for beginners, but some programming experience would be useful.

Programming Best Practices

How to follow programming best practices? Know the best practices followed in professional software development.

Created by Amalendu Kundu - Lead Instructor at MyOnlineEdu, 15+ Years of Programming Exp

"]

Students: 11642, Price: Free

Programming is not only about learning and writing code, it is an art. It helps you, as a programmer to think differently and build a problem solving attitude within you. A simple program can be written in many ways if given to multiple developers. Thus the need to best practices come into picture. It helps standardize products and help reduce future maintenance cost.

Learn from this course on various tips and techniques one programmer can follow to practice. The course will also help clients to understand the importance of enforcing standard practices.

What are included in the course? Why take this course?

What are the best practices writing the code? What are the best practices while designing your program? Why standards needs to be followed? The answers are provided in the course.

Programming Best Practices course offers video lectures on following topics:

  • Why do a programmer need to follow standard practices?
  • Why readability is important?
  • Tips to make you code more readable and maintainable?
  • Programming Styles to adopt while coding.
  • Why maintainability is essential aspect while writing software code and how to improve maintainability?
  • Design technique to keep in mind.

Quickstart guide for C programming

Learn the basics of C programming, the root of all programming languages

Created by Sergiu Muresan - Knowledgeable developer and dedicated teacher

"]

Students: 10605, Price: Free

Learn the basics of programming using C, one of the most widely used programming language. We will start from the simple concepts of variables, input and output to the more complex ones such as loops, low-level text manipulation and functions.

Start programming with this simple and straightforward guide through the most basic programming language.

  • Variables, working with data
  • Writing to the screen and reading user input
  • Conditions and loops
  • Manipulating text
  • Creating re-usable code using functions

Understand quickly one of the most important skills in programming

In the programming industry you might come across the idea that you have to learn the most advanced, cutting-edge and fully featured language right off the bat. This might be a good idea for some people, but, for most, it's a wise choice to start from the beginning, the root of all programming language, the C language.

Who uses this language? Essentialy, everybody, whether they know it or not. It's used in your operating system (mobile and desktop), for most embedded systems and even in building other programming languages (like Java, Python and C#)

Content of this course

This course has been created with you, the beginner, in mind. We start from the basics of the basics, how to create the code in the C programming language and run it. We will be using Dev-C++ as our IDE but this is just a recommendation, if you have already other IDE installed you can certainly use that.

We will continue with creating an overview of what a program actually is and how we can interact with this program using user input (from the keyboard) and program output (using the command prompt's console). We will also learn ways to format our output however we want.

Interacting with the program is all nice and good, but what if we want it to do something else based on a certain condition. This is what will learn next, and we won't stop there. We will also go through ways in which we can do something (inside our code) however many times we want.

Next up we'll cover ways to manipulate text in a low-level manner. This is very interesting and much more in-depth than in some other languages. This is something that is hidden from you when using other languages (such as Java) for text manipulation and will be great food for thought for the curious.

And lastly, we will shortly cover how to create code that can be used later on using functions.

After this course you will be on your way to becoming a programmer. You will know the basics which can be applied in any programming language and much more.

C’ Interview Questions

Prepare for technical interviews on 'C' Programming Language

Created by Srikanth Pragada - Trainer and Director, Srikanth Technologies

"]

Students: 9912, Price: Free

This course is meant to prepare a student for 'C' Programming Language interviews.  This course contains 65 interview questions with answers explained to enable student to acquire required knowledge to face 'C' interviews confidently. It is also meant for students who want to assess their knowledge of C Language and enable them to identify areas of improvement.

C – Fast Crash Course – Introduction

Learn C fast with this CRASH course

Created by Edwin Diaz - Web Developer & Premium Udemy Instructor - 700,000 students

"]

Students: 9592, Price: Free

C is a simple but powerful language to use. With the C programming language you can create many different desktop applications, such as Operating Systems, text editors, databases, compilers, and even other programming languages.

The C programming language is the grand daddy of mostly all the languages out there right now. Learning C will give you the knowledge you need to jump into creating desktop applications or the knowledge to jump into any other language based on C.

Get Started with Programming in C: Full Course

This course introduces you to C programming with regular assignments and hands on programming exercises.

Created by Akshat Gupta - Graduate student at Carnegie Mellon University

"]

Students: 9197, Price: Free

This is the first course in an upcoming series of courses on the C programming language.

The aim of the course is to teach you the C programming language and the general concepts in programming. Apart from video lectures, the course has short reading assignments and programming tasks to make the course engaging and hands on. In this course you learn by doing! We also have an exciting 'End of Course Project' where you create a small but fun game.

At the end of the course, you would have successfully touched upon the basics of the C programming language and programming concepts in general. You would also have written many C programs by yourself and a fun game to take home.

The following topics are covered in this course in detail:

1. C programming Libraries

2. Compiling a C program

3. Variables

4. Datatypes Part -1 (Part -2 in the next course)

5. Operators and Operands

6. Taking user input

7. If-else condition

8. 1-d Arrays

9. The 'for' loop

(X) End of Course Project

This course is made for people absolutely new to programming and the C language, although people with more experience will also find the course worthwhile.

NOTE: A lot of students are asking me about course certificate. You WILL get a certificate after you finish the course under the condition that you have a blue tick in front of all lectures and you MUST SUBMIT all assignments. Assignments in my opinion are the more important aspect of the course anyways and are made to make you think and read.

Trailer Course: Get Started with Programming in C

Write your first program and take your first step in the programming world with this course!

Created by Akshat Gupta - Graduate student at Carnegie Mellon University

"]

Students: 6950, Price: Free

Welcome to absolute beginnings in programming with C. This course gives you a push to write your first C program in just 39 minutes. I hope you watch it at one stretch. Shorter than one episode of Game of Thrones but will get you started on your path to become a programmer!

Note that this course is a trailer for the upcoming course on C programming. The FULL COURSE IS OUT, and has further programming assignments, readings, and an end of course project where we create a guessing game! You can check out my instructor profile to find that course.

This course will teach you the very basics of programming, including writing your first program, compiling and executing it. You write your first hello world program and get introduced to the concepts of data types and why they are needed.

NOTE: A lot of students are asking me about course certificate. You will get a certificate after you finish the course under the condition that you have a blue tick in front of all lectures, and you must SUBMIT all assignments. Assignments in my opinion are the more important aspect of the course anyways and are made to make think and read.

Create a Game Loop using C and SDL

Learn to create a game loop from scratch using the C programming language and SDL

Created by Gustavo Pezzi - University Lecturer

"]

Students: 6337, Price: Free

The more technology advances, and the more we add frameworks to abstract low-level details of the machine, the less we understand how computers really tick.

This course is a trip back to the fundamentals of game programming. We will dissect and discuss one super important element of any game application...

The game loop.

To understand the ideas behind writing a working game loop, we will learn the basics of the C programming language and use a library called SDL to render elements in the display.

We will learn together how to:

  • Write a basic C program and compile it using the GCC compiler

  • Install SDL and any other dependencies

  • Use SDL to create and open a basic window in your operating system

  • Control the time step of your game loop

  • Update game objects as a function of delta time

This course has no real pre-requisites.

Of course, you should have a working knowledge of how to use your computer, download files, install programs and copy files around your operating system.

But you should know the basics concepts of programming, such as variables, conditionals, loops, and functions. That will help you get the most out of it.

The code we will write works for Windows, macOS, and Linux. But be aware that I will be using Linux during the videos.

.Net Basic Course 2 – Introduction to .net with programming

C-Sharp Basics part 2

Created by Sravanthi Venishetty - .net Trainer

"]

Students: 2233, Price: Free

This .NET Programming training course provides hands-on experience creating software for Microsoft's .NET (Windows platform) using the Visual Studio development environment. Starting with the most fundamental elements of computer programming, the training evolves to leverage development techniques sufficient to produce a complete web application including the user interface, business logic and data access layers.You learn how to write code using  C#; create ASP.NET Web applications and process Web forms and build SQL Server databases and access them using ADO.NET.

Learn Graphic LCD interface with from scratch

• Light Emitting Diode interface with LPC2148 microcontroller and its Embedded C programming. • Light Emitting Diode C

Created by Sunil Sudam Morade - Engineer

"]

Students: 465, Price: Free

This course is useful for those who want learn microcontroller interfacing with Light Emitting Diode, LCD and Graphic LCD. Here LPC 2148, 32 bit ARM 7 microcontroller is introduced.

ARM 7 and higher version of ARM family microcontroller are used for embedded system. Course starting is introduction of microcontroller LPC 2148. In this course simple program are written Embedded C. LED,LCD and GLCD has number of application in embedded system. Many places LED is used as indicator such that particular thing happen or not. In traffic signal where high wattage LEDs are used. LCD is used where you want visual indication in letters. GLCD is used to display graphic information just in mobile. Also graphical interaction is possible if touch screen is used. Many times these devices are interfaced with microcontrollers. Course aim is that you are able to interface these devices easily and able to write Embedded C code related to these devices.

Course Details are as follows

· Light Emitting Diode interface with LPC2148 microcontroller and its Embedded C programming.

· Light Emitting Diode Characteristics

· Liquid Crystal Display (LCD) features

· LCD interface with LPC2148 microcontroller and Embedded C programming.

· Graphic LCD features

· Interface Graphic LCD with LPC2148 microcontroller and Embedded C programming.

Introduction to C.H.I.P

Learn how to create software and hardware projects using CHIP and python programming

Created by Venkatesh Varadachari - Founder, MAKERDEMY

"]

Students: 426, Price: Free

This is an introductory course to CHIP which is a 9$ computer. This course is great for those who are interested in either learning physical computing or want to use the chip as a full-fledged computer. This course only assumes that you have basic knowledge of programming and does not require you to know Linux commands or Python programming. However, a knowledge of the mentioned would greatly speed up your learning process.

If you do not know Linux or Python, no need to worry. The course has sections that cover the basics of Linux to get you started.

The chip is a 9$ device which will act as the CPU to which we will need to connect basic peripherals like a keyboard,mouse and a monitor to make it work as a full-fledged computer. The course will teach you to set up the CHIP and make it work as a low cost computer. You will also learn to work with hardware in combination with the GPIO pins of the CHIP.

You will be learning from 3 projects. The first project will be your first step in physical computing and you will learn about GPIO pins and how to use them. 

The second project will teach you to create a very simple and basic GUI with which you can control hardware and thus works as a virtual remote. Pretty cool right?

The third project is an ATM greeting machine which works with sensors to greet a person entering and exiting an ATM vestibule.

The course provides error-free source code for the above mentioned projects.

The entire course course can be completed over a period of 3 hours assuming that you have all the hardware necessary. Do not worry if it takes you longer since the longer it takes, the more you will be learning and more the fun.

By the end of the course, You will learn how to setup the CHIP, install and update the various packages needed for the projects. You will also learn basic Linux commands and the python code to make some really cool projects.

Learn Computer Graphics

Computer Graphics-CGR

Created by Abdul Aziz Patel Khan - Lecturer

"]

Students: 425, Price: Free

This Course provides an introduction to the Principles of Computer Graphics. In particular the course will consider methods for object design, transformations, scan conversion, visualization and modelling of real world. The emphasis of the course will be placed on understanding how the various elements that underlie computer graphics (algebra, geometry, algorithms) interact in the design of graphics, software systems and also enables students to create impressive graphics easily and efficiently. The aim of this course is to help students to develop programs using core graphical concepts.. The basic objectives of this course are Study of graphics mode, Study the importance of internal structure of output devices, Study of various algorithms of line and circle drawing, Ability to draw various curves and predict various fractal types, Ability to understand Color combinations. The Theory, practical experiences and relevant soft skills associated with this course are to be taught , so that students demonstrates the following industry oriented Course outcomes associated with the above mentioned competency:

1: Manipulate visual & geometric information of images.

2:Implement standard algorithm to draw various graphics objects using C program

3: Develop programs for 2D and 3D transformations

4: Use projection to visualize objects on view plane

5: Implement various Clipping algorithms

6: Develop program to create curves using algorithm

Exclusive : Pointers and Structures with simple Examples

Learn Pointers and Structures very easy way.

Created by Atchyut Kumar - Professional GATE CS/IT Faculty

"]

Students: 291, Price: Free

This course is created for students, beginners or  professionals who want to become strong in programming. Students or professionals who are aiming for top company jobs, this course definitely will play a key roll to fulfill.

Along with concepts in C - language, this course discussing what is happening in the system. It means, how one statement is executing in the system, how memory is created and how much memory created for variables and where it is created, how much time it will take. This type learning will give good command on programming when performance is matter.

Who this course is for:

  • Academic Students.

  • Interview Preparation Persons.

  • Competitive Exam Preparation Aspirants.

  • Those who want to become a highly paid coding developer.

  • Those who want to open up doors in your IT career by learning one of the world's most popular and in-demand programming.

Important information before you enroll!

  • Once enrolled, you have unlimited, 24/7, lifetime access to the course (unless you choose to drop the course during the first 30 days).

  • You will have instant and free access to any updates I'll add to the course - video lectures, additional resources, quizzes, exercises.

  • You will benefit from my full support regarding any question you might have.

  • Check out the promo video at the top of this page and some of the free preview lectures in the curriculum to get a taste of my teaching style and methods before making your decision