Programming Skills
We define four aspects of programming that all students should master:
Programming in the small
- 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