Advanced C Programming Course
4.5 (386 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,064 students enrolled

Advanced C Programming Course

Become a True Master of the C Programming Language - Confidently Apply for Real Time or Embedded C Jobs or contracts!
Highest Rated
4.5 (386 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,063 students enrolled
Last updated 4/2020
English
English [Auto]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 28 hours on-demand video
  • 1 article
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand and be able to apply advanced concepts of the C programming language to create advanced C applications.
  • Understand Function and Double Pointers, Recursion, Bit Manipulation, Macros, Signals and loads more (check curriculam on this page for full list).
  • Learn all about threads and networking with Sockets.
  • Master the art of problem solving in programming using efficient, proven methods.
  • Be able to apply advanced C concepts to other programming languages.
  • How to write high quality C code, to make yourself more marketable for higher level programming positions and be apply for real-time/embedded programming positions.
Course content
Expand all 169 lectures 28:03:45
+ Introduction
4 lectures 31:40
Class Organization
05:55
The C99 Standard
05:03
The C11 Standard
06:00
+ Installing Required Software
9 lectures 56:36
Overview
05:07
Installing the C compiler (Windows)
07:25
Installing the C compiler (Mac)
04:36
Installing Code Blocks (Windows)
11:37
Installing CodeLite (Windows)
10:05
Installing CodeLite (Mac)
05:31
Installing Visual Studio Code (Windows)
03:30
Installing Visual Studio Code (Linux)
04:37
Installing Visual Studio Code (Mac)
04:08
+ Starting to Write Code
4 lectures 45:13
Exploring the Code Blocks Environment
11:22
Creating a Project in Code Blocks
05:12
Exploring the Visual Studio Code Environment
11:23
Creating a Workspace and configuring the compiler in Visual Studio Code
17:16
+ Working with Larger Programs
6 lectures 47:09
Overview
18:49
Compiling multiple source files from the command line
05:45
Makefiles
05:57
Communication between files
04:12
Heap and Stack Memory Allocation
07:40
+ Storage Classes
5 lectures 51:35
Automatic Variables
12:39
External
13:22
Static
14:09
Register
08:29
(Quiz)
12 questions
(Challenge)
02:56
+ Advanced Data Types
10 lectures 01:23:33
The #define statement (constants)
09:54
Variable Length Arrays
10:55
(Challenge) Variable Length Arrays
01:54
(Challenge) Flexible Array Members
01:51
Complex number types
15:51
(Challenge) Complex number types
02:28
(Quiz)
14 questions
(Demonstration) Challenge solutions
14:03
+ Type Qualifiers
3 lectures 27:38
const
14:33
volatile
05:00
restrict
08:05
(Quiz)
9 questions
+ Bit Manipulation
14 lectures 02:06:33
Binary numbers and bits
13:05
(Challenge) Binary numbers and Bits
02:07
(Demonstration) Binary numbers and Bits
10:40
Bitwise Operators (Logical)
21:43
(Challenge) Bitwise Operators
04:38
(Demonstration) Bitwise Operators
05:27
Bitmasks
14:34
Using Bit Operators to pack data
09:20
(Challenge) Setting and Reading bits
02:22
(Demonstration) Setting and Reading bits
06:08
Using Bit Fields to pack data
10:08
(Challenge) Using Bit Fields to pack data
05:10
(Demonstration) Using Bit Fields to pack data
07:49
(Quiz)
27 questions
+ Advanced Control Flow
7 lectures 46:30
The goto statement
09:36
(Challenge) The goto statement
01:53
The null statement
05:02
The comma operator
07:40
(Challenge) setjmp and longjmp functions
01:28
(Demonstration) Advanced Control Flow
08:06
(Quiz)
9 questions
+ Input and Output
10 lectures 01:42:04
char functions (input)
19:35
char functions (output)
11:30
(Challenge) char functions
03:00
(Demonstration) char functions
12:16
string functions
17:49
(Challenge) string functions
02:11
(Demonstration) string functions
07:03
Formatting functions
20:37
(Challenge) Formatting functions
02:55
(Demonstration) Formatting functions
05:08
(Quiz)
10 questions
Requirements
  • Basic knowledge of the C programming language (ideally having completed our Beginners course on Udemy).
  • A computer running Microsoft Windows, Linux or the Mac operating systems.
  • At least 4GB of ram on your computer.
Description

What you will learn in this course?

The C programming language in 2020 is still one of the most popular and widely used languages. Having C programming skills gives you great career options, but learning the C language, particularly some of the trickier advanced stuff can be really difficult.

This course is designed to take your basic C skills to the next level and help you obtain mastery of the language by helping you understand advanced concepts of the C programming language, enabling you to master the art of problem-solving in programming using efficient, proven methods.

You’ll learn how to write high-quality C code and to make yourself more marketable for higher-level programming positions.

Just some of the topics in this huge 28-hour course include Threads, Function Pointers, Double Pointers, Recursion, Networking using Sockets, Bit manipulation, Macros, Signals, Storage Classes and loads more.  Check the curriculum on this page for full details of what is included in this very comprehensive course.

By the end of this course, with your new-found skills, you will be able to apply for real-time/embedded C programming positions or any job that requires mastery of the C programming language and be able to apply your new skills developing your own Advanced C programs.

What's different about this course?

Jason Fedin is your instructor in this course and this course takes the skills you learned in that course to the next level.

This course focuses on the details and a thorough understanding of all advanced C programming concepts. This is not just a how-to course, it is a "why?" course.

You will learn how to implement specific advanced C concepts such as multi-threading and double pointers, in addition to learning why they are the best approach and how they make you a high-quality C programmer.

Many, many examples, challenges and quizzes are provided to test your understanding of every concept that you have learned.

This course is unique to other courses here at Udemy in that the details and the why are explained. We do not just go through projects and provide a how-to.

Who is the course aimed at?

This is not a beginner's course.  It's assumed you have some knowledge of the C programming language, preferably having completed our Beginner course (here on Udemy) or similar training and/or commercial programming experience in C or a similar language.

Getting started

If you are ready to get started, click on the enroll or Add to Cart button on this page and start taking your C Language skills to the next level.

Who this course is for:
  • This course is not aimed for beginners. If you have never used C programming before, then I would suggest you purchase our C Programming For Beginners course first, complete it then come back to take this advanced course.
  • On the other hand, if you already have a basic or prior experience with C programming, then this course is for you!