Problem-solving applying structured techniques and representation of algorithms using design tools. Includes testing, evaluation, and documentation.