This document outlines a three stage plan to establish programming competency in freshman computer science students. Stage 1 establishes the goals of demonstrating a minimum level of programming ability and understanding fundamentals like control structures and problem solving. Stage 2 involves assessing students' ability to design, implement, test, and debug simple programs. Stage 3 includes learning activities like group assignments, lectures, and revising assignments to achieve the understanding and skills outlined in Stage 1.