From the trivial to the complex, programs (the formal representations of algorithms) have the potential to make almost any digital task easier. Nevertheless, even the simplest concepts to explain in plain English can be more convoluted in coding than you might initially think. Consider the example of looking up a telephone number. In explicitly detailed steps, how, precisely, do you do that? If you translate that to a coding language, the challenge becomes greater than you might anticipate.
Now, consider the task of automating program testing. Do you think it is easier to write a correct program (e.g., like the telephone lookup example), or write a program that correctly checks whether another program is correct (e.g., checks to see of the telephone lookup found the right number)? For this Discussion, you will take a position on which program is easier to write and defend it.
Create an initial post in which you take a position on whether it is easier to write a correct program or a program that correctly checks whether another programme is correct. Address the following:
Analyse the properties of an algorithm.
Analyse the ambiguity in algorithms.
Compare the programming/algorithms required for writing a correct program and writing a program that correctly checks whether another program is correct.
Explain if your answer would be the same or different if the problem was given using formal specifications.
Explain if your answer would be the same or different if a series of known test cases were developed.
Fully state and justify any choices, assumptions or claims that you make using the suggested resources for this week and/or your own research.
Use the order calculator below and get started! Contact our live support team for any assistance or inquiry.
[order_calculator]