Developing Assessments to Determine Mastery of Programming Fundamentals