Designing solutions using appropriate tools - CCEADesigning algorithms for a solution

In this unit, students design, develop and test coded solutions when creating digital systems. Students must use one of the following languages in their completed solution: Python, Java or C#.

Part ofDigital Technology (CCEA)Digital development practice (programming)

Designing algorithms for a solution

First, the problem and use to provide clear algorithms to meet the needs of the user or solve problems.

If we look at the sample task, we can determine that there are many problems needing to be solved in order to create the overall solution. We can use abstraction to break down the complexity.

Start by identifying the simplest problem to solve. Create a list that will be your success criteria for solving the task. At this stage, think about the solution in terms of modules, or 'separate bits'. This will allow you to determine the degree to which you can separate the components and recombine them later.

The easiest module to write for the sample problem is a to capture the user's name.

Once identified, you can start listing your success criteria.

For example:

The solution will include a function to capture a user's name as a , use and checks to validate the name, and return the name variable.

One of the more complex abstractions from the sample is to search and retrieve a record from the file from disk. This may involve identifying a few success criteria. For example:

A will be created to search the certificate file for individual student’s certificate and return the results to the screen.

  1. The function will accept student surname as an input
  2. The function will print their name, level and score on screen

Success criteria

You should create a clear list or table of all the success criteria that you will attempt to design and implement. For example:

Success criteria
1.The solution will include a function to capture a user's name as a string, use length and presence checks to validate the name, and return the name variable for use later in the program.
2.A main menu will greet the user with a personalised message and ask at which level they want to be tested (Easy, Medium, Hard).
3.Four functions will be created that will add, subtract, multiply and divide integer value. The function will accept two numbers as arguments and return the result after the mathematical operation
...
15.A linear search function will be created to search the certificate file for each individual student's certificate and return the results to the screen. The function will accept student surname as an argument and will print their name, level and score on screen.
1.
Success criteriaThe solution will include a function to capture a user's name as a string, use length and presence checks to validate the name, and return the name variable for use later in the program.
2.
Success criteriaA main menu will greet the user with a personalised message and ask at which level they want to be tested (Easy, Medium, Hard).
3.
Success criteriaFour functions will be created that will add, subtract, multiply and divide integer value. The function will accept two numbers as arguments and return the result after the mathematical operation
...
15.
Success criteriaA linear search function will be created to search the certificate file for each individual student's certificate and return the results to the screen. The function will accept student surname as an argument and will print their name, level and score on screen.