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.
Installing Required Software
Starting to Write Code
-
5Overview
-
6Installing the C Compiler (Windows)
-
7Installing CodeLite On Windows
-
8Configuring CodeLite on Windows
-
9Installing the C Compiler (Mac)
-
10Installing CodeLite on Mac
-
11Configuring CodeLite on Mac
-
12Installing CodeLite on Ubuntu Linux
-
13Configuring CodeLite on Ubuntu Linux
-
14Creating a Default CodeLite Project Template (All Versions)
-
15Using the Command Line Interface
-
16Using the Command Line Interface on Windows
-
17Using the Command Line Interface on Mac
-
18Using the Command Line Interface on Linux
-
19Using a Web-based C compiler
Working with Larger Programs
Storage Classes
Advanced Data Types
Type Qualifiers
-
35The #define statement (constants)
-
36Using typedef
-
37Variable Length Arrays
-
38(Challenge) Variable Length Arrays
-
39Flexible Array Members
-
40(Challenge) Flexible Array Members
-
41Complex number types
-
42(Challenge) Complex number types
-
43Designated Initializers
-
44(Quiz)
-
45(Demonstration) Challenge solutions
Bit Manipulation
Advanced Control Flow
-
50Binary numbers and bits
-
51(Challenge) Binary numbers and Bits
-
52(Demonstration) Binary numbers and Bits
-
53Bitwise Operators (Logical)
-
54Bitwise Operators (Shifting)
-
55(Challenge) Bitwise Operators
-
56(Demonstration) Bitwise Operators
-
57Bitmasks
-
58Using Bit Operators to pack data
-
59(Challenge) Setting and Reading bits
-
60(Demonstration) Setting and Reading bits
-
61Using Bit Fields to pack data
-
62(Challenge) Using Bit Fields to pack data
-
63(Demonstration) Using Bit Fields to pack data
-
64(Quiz)
Input and Output
Advanced Function Concepts
-
73char functions (input)
-
74char functions (output)
-
75(Challenge) char functions
-
76(Demonstration) char functions
-
77string functions
-
78(Challenge) string functions
-
79(Demonstration) string functions
-
80Formatting functions
-
81(Challenge) Formatting functions
-
82(Demonstration) Formatting functions
-
83(Quiz)