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.
Designed For
Beginner programmers, along with those with more experience who want to expand their knowledge of the C language.
See Requirements
ADMISSION REQUIREMENTS
To apply, you must have:
- One year of programming experience in a high-level language such as Java, C#, Python, FORTRAN, BASIC, Pascal or COBOL or completed one of these courses:
- Solid knowledge of basic data structures (arrays, linked lists) and algorithms (searching, sorting)
- Experience creating programs that work with text on the command line, read input from the user and print it to the screen
- Ability to follow complex instructions in written English
If you are unsure if you meet these requirements, you can take our assessment quiz.
English Proficiency
If English is not your native language, you should have at least intermediate English skills to enroll. To learn more, see English Language Proficiency Requirements – Noncredit Programs.
International Students
Because this course is held completely online, international students are welcome to apply. No visa is required. For more information on international student eligibility, see Admission Requirements for International Students.
Technology Requirements
You must have access to a computer, and we recommend a high-speed internet connection.
Completing the Course
To successfully complete this course, you must adhere to its attendance policy and fulfill the requirements outlined by your instructor.
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
OUR ENROLLMENT COACHES ARE HERE TO HELP
Connect with an enrollment coach to learn more about this offering. Or if you need help finding the right certificate, specialization or course for you, reach out to explore your options.