This course takes a unique approach, focusing on a systematic programming method rather than restricting learners to any one specific programming language. This practical approach will allow you to apply your skills and creativity more widely and to program well in any language. The course is part of the Software Development MicroMasters Program and presents a core design method with a focus on numbers, strings, images and lists. You will learn techniques to: Develop program requirements Produce programs with consistent structure that are easy to modify later Make your programs more reliable by building tests as an integral part of the programming process. This course concludes with the design of a simple interactive game. Learners who enroll in the Verified track will receive staff grading for the course project and increased interaction with the instructor and staff.