Programming Skills
  Programming in the Small Program Design Program Composition Program assessment
Skill Level Program Synthesis Program Analysis
Expert

Proficient

Competent

Advanced  Beginner

Novice
· solve small "pattern" problems
· write programs about 250 lines long
· recognize common operations 
· use abstract data types
· identify bugs in a small program and fix them
· identify the scope of an identifier
· correlate assignments with potential uses of the value assigned
· write a conditional dispatch
· formulate the post-condition of a while loop
· identify the base and recursive cases of a simple recursion
· hand simulate a small piece of code
· select appropriate structure from alternatives
· use a standard structure and adapt it
· evaluate the costs and benefits of using structures and algorithms
· use some sophisticated techniques 
· define requirements and produce specifications
· knowledge of tools and environments
· higher level programming components
· work in a team
· measures for assessment of programs
· apply the techniques for assessment
· certifying the program quality