Strategies for Programming Instruction in High School: Program Completion vs. Program Generation