About this Course
The C programming language is a popular general-purpose language — and for good reason. Once you know C, you’ll have a better understanding of what you’re doing as a programmer. Plus, it’ll be much easier to learn other programming languages, such as Java and Python. Becoming proficient in C is a foundational skill that you can take with you on your career journey.
In this course, you’ll go beyond the basic mechanics of programming languages and focus on fundamental coding concepts to solve real-world problems. You’ll learn simple, readable, testable and maintainable control flow and code design. We’ll also dive into strategic testing methods that improve code quality and accuracy. Then 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.
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 programs:
- 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're unsure that you meet these requirements, you can take our assessment quiz.
Time Commitment
Including time in class, you should expect to spend seven to nine hours each week on coursework.
English Proficiency
If English is not your native language, you should have at least intermediate English skills to enroll. To see if you qualify, make sure you are at the B2 level on the CEFR self-assessment grid. To learn more, see English Language Proficiency Requirements – Noncredit Programs.
International Students
Because this offering is 100% online, no visa is required and international students are welcome to apply. For more information, 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 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
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.
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.