Building on the course Programming Fundamentals, this course will teach you how to write code by first planning what your program should do—an important approach for novice and professional programmers. You will learn how to compile and run your program, and then how to test and debug it. This course builds on the Seven Steps you have already learned and provides a framework for systematically testing for problems and fixing them, so you can find and fix problems efficiently. ******Note: Due to a recent spike in enrollments for the Introduction to Programming in C Specialization, we are currently having technical difficulties with programming environment for this course, which prevents some learners from completing the course's programming assignments. Until this matter is resolved, we recommend you choose to audit (https://learner.coursera.help/hc/en-us/articles/209818613-Enrollment-options) this course and study the video lessons until this matter is resolved. We will email all learners when this matter is resolved. We apologize for this inconvenience and are working diligently to remedy the problem. Please note that this does not impact the first course of this Specialization, Programming Fundamentals.