About this Course
The C programming language is the root of many modern object-oriented languages, including C++, Java, C# and Objective-C. It has also influenced dozens of other programming and scripting languages.
Constructing a logically coherent, understandable and componentized programming solution is as important as the language and tools used. The skills of simple style, effective testing and correct control flow that are emphasized in personalized, professional code reviews are germane to all modern programming languages. Becoming proficient in C is a great way to learn these robust, language-independent concepts.
This programming course emphasizes simple, readable, testable and maintainable control flow and code design. It goes beyond basic language mechanics of C to focus on building concepts and fundamentals. You’ll gain a working knowledge of ANSI-C programming and constructs, along with strategic testing techniques that improve code quality and accuracy.
After learning the core ideas, you'll choose between one of two tracks: embedded programming or higher-level programming concepts such as abstract data types.
For assignments, you're given the flexibility to choose from a variety of platforms (Windows, Mac, Linux) and compilers (Visual Studio, XCode, gcc, CLion, Eclipse and others).
You can take this course on its own or use it to fulfill programming prerequisites for the certificates in C++ Programming and Embedded & Real-Time Systems Programming.
Beginner programmers, along with those with more experience who want to 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