About This Course
The C programming language is a popular general-purpose language — and for good reason. It runs on nearly every platform and device, and its high‑performance design gives you direct insight into the interaction between software and hardware. C consistently ranks among the top three programming languages worldwide, and its influence shapes much of today’s software ecosystem. Becoming proficient in C will strengthen your understanding of the machine and give you a solid foundational skill to take on your career journey.
In this course, you’ll go beyond the basic mechanics of the programming language and focus on fundamental coding concepts to solve real-world problems using core engineering principles. You’ll learn simple, readable, testable and maintainable control flow and code design, and dive into strategic testing methods that improve code quality and accuracy. In the closing stretch, you’ll choose between one of two tracks: embedded programming or higher-level programming concepts such as abstract data types.
You’ll complete your assignments in a variety of platforms (Windows, Mac and Linux) and compilers (Visual Studio, Xcode, GNU Compiler Collection, CLion, Eclipse and others). Your instructor will conduct a personalized and professional review that’ll help you master techniques for writing clean and practical code.
▸ You can take this course on its own or use it to fulfill programming prerequisites for the Certificate in C++ Programming or the Certificate in Embedded & Real-Time Systems Programming.
Designed For
Programmers with at least one year of programming experience who want to learn or expand their knowledge of the C language.
What You’ll Learn
All aspects of character I/O and input validation, functions, arrays, pointers, C strings, storage classes, linkage, memory management, file I/O, structures, the preprocessor and advanced data representation
Algorithms, data structures, unit testing (open and closed loop) and modular program design
Earn a Digital Badge
After successfully completing this course, you can claim a digital achievement badge that can be shared on LinkedIn and other social media sites. Learn more about digital badges.
This program is intended for professional development and is not designed to meet educational requirements for professional licensure or certification.