Return to upper level - the rubric
Programming Skills
We define four aspects of programming that all students should master:
program synthesis
solve small "pattern" problems
write programs about 250 lines long
recognize common operations
program analysis
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
Program design
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
Program composition
define requirements and produce specifications
knowledge of tools and environments
higher level programming components
work in a team
Program assessment
measures for assessment of programs
apply the techniques for assessment
certifying the program quality