| 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 | |