Effectively plan, design, develop, and test an original program of your choosing. This program is your choice and it can be as complex as you wish. The goal is to start with an idea for your program and then step through the process of most phases of the development lifecycle to turn your idea into an actual program. This includes planning out the algorithm using pseudocode, coding your program using everything you learned from Units 1-3, and finally, testing and debugging your program to make sure it fulfills your intended purpose. You will fill out a journal (template link below) which has five sections that correspond to the five steps you will complete for your final project.