
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:
- write code that suitably combines two plans;
- analyze the requirements specifications of a program in order to identify the goals that must be reached and how they relate one to each other;
- set up a program starting from the analysis above;
- complete and test the program, by implementing the plans and their combination.
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.