Page under construction!!

Plan composition

Plans can be composed in different ways, as summarized and exemplified in the following lecture notes. ;

Type: Lecture notes

Topic: Plan composition for iteration

Purpose: These lecture notes introduce the concept of plan composition and present the typical plan compositions applied to iteration plans. The lecture notes are associated with a Reading Assessment Test (RAT) to be passed before doing the subsequent exercises on plan composition.

Text: in English

Reading Assessment Test:

The next series of exercises helps fostering several skills concerning plan decomposition:

Implementing combination of plans

The following exercises help to acquire the practice of recognizing the presence of more goals in the requirements specification to be composed in the design and implementation of the solution. In particular the aim is to consolidate the terminology relative to plan composition and to practice the different iteration plan composition types.

Type: Program completion

Topic: Iteration plans composition

Exercise purpose: The exercise helps to acquire the practice of recognizing the presence of more goals in the requirements specification to be composed in the design and implementation of the solution. The exercise also aims at consolidating the terminology relative to plan composition. In particular the task focuses on nesting plans and provides two templates to be completed.

Text: in Italian only
Text attachments: first template and and second template

Solution: program that implements the specifications.

Type: Parsons problem

Topic: Iteration plans composition

Exercise purpose: The exercise helps to acquire the practice of recognizing the presence of more goals in the requirements specification to be composed in the design and implementation of the solution. In particular the aim is to consolidate the terminology relative to plan composition and to practice the different iteration plan composition types. Here merging is practiced, and two templates are given to be completed.

Text: in Italian only
Text attachments: counting plan and template to be completed

Solution: program that implements the specifications.

Type: Debugging

Topic: Iteration plans composition

Exercise purpose: The exercise helps to acquire the practice of recognizing the presence of more goals in the requirements specification to be composed in the design and implementation of the solution. In particular the aim is to consolidate the terminology relative to plan composition and to practice the different iteration plan composition types. Here correctly handling the variables with a fundamental role when merging plans is practiced.

Text: in Italian only
Text attachments: program to debug

Solution: debugged program.

Analyzing requirements specifications

This exercise support learning how to analyze requirements specifications in order to identify the goals to be achieved, the related plans and how they should be combined.

Type: Analysis of requirements specification

Topic: Iteration plans composition

Exercise purpose: The exercise supports learning how to analyze requirements specifications in order to identify the goals to be achieved, the related plans and how they should be combined. It presents a series of requirements specifications covering different iteration plans and composition types and asks for each one to identify the main goals and propose how to combine them.

Text: in Italian only

Solved exercise: in Italian only

Identify plans, design the program, implement it

In each of the following exercises, students are required to implement programs starting from given design instructions.

That is, the analysis of requirements specifications and a general desing for the program is given, while students should focus on the details of the implementation of such design;
since often plans need to be decomposed, tailored, and rearranged, in order to combine them.

Type: Parsons problem

Topic: Iteration plans composition

Exercise purpose: In this exercise the student is given separate plans for the problem’s two subgoals, indications on how they should be tailored to combine them, and the programs’ instructions to be reordered into a proper arrangement. The purpose is to acquire skills in decomposing, tailoring, and rearranging iteration plans in order to combine them.

Text: in Italian only
Text attachments: max plan, counting plan, template to be completed, and instructions to be rearranged.

Solution: program with the correctly rearranged instructions.

In the wild

This sequence of exercise ends with two program-writing tasks.

Even though the exercises are not guided anymore, the same approach should be used in order to design the program:
analyze the requirements specifications to identify the goals and related plans;
establish the relationship among goals and hence decide how to combine the plans;
reflect about how the plans should be implemented in the specific case, which variables are needed and when/how they should be updated.