SBA-How to Approach a Dry run using test data and trace tables to uncover errors in your algorithm

( this content is AKA: SBA Guidance – Trace Tables And Dry Runs )

Choosing test data

Generally , we use the following as a guide when generating data for use with trace tables:

  1. The user quits the program without entering data.
  2. The user enters normal data (ensure that all branches of code are tested)
    1. Data that allows to enter loops
    2. Different sets of data that allows for conditions in selection statements (if..then..) to be tested when true and false
  3. Data that test “Divide by zero errors if possible”
  4. Optional: Data that tests for real numbers.  If numbers are to be processed, supply real test data (e.g 1.0 , 99.01) to uncover data type errors

Task/Exercise

Download the files here: https://drive.google.com/drive/folders/1kKuCWbUajYe52ME_obPRSjxbyqxHEprg?usp=sharing

Use the file “Problem Solving and Programming – Demo – 04 Filled Tables” to complete

  1. Test 3 – (Hint: you may Fill in the table using the provided flowgorithm file as a guide, or you can perform a dry run by hand using the algorithm already documented above the trace tables in the document)
  2. Test 4 – (Hint: after you have created a script of data and perform this test using the trace table, it is likely that you would uncover a divide by 0 error. In this case you would have to modify the algorithm, and perform the test again using a trace table.

See the class video which offers a detailed explanation on the approach:

(Friday 17th May 2021)

Tuesday 7th October 2025

© 2021  Vedesh Kungebeharry. All rights reserved. 

Relational Operators – A practical Exercise

Pre-Requisite : Read (Campbell, Information Technology for CSEC – 3rd Edition, 2020, pp. 272-273)

Observe the attached flowgorithm file, or the pseudocode below:


Start 
    // Here we set up 2 numbers to experiment with our relational operators....
    FirstNum = 7
    SecondNum = 5
    
    // Comparison: First number is greater than second number
    greaterThan = FirstNum > SecondNum
    output "' " + FirstNum + " is greater than " + SecondNum + " ' evaluates to " + greaterThan
    
    // Comparison: First number is greater or equal to second number
    greaterThanOrEqualTo = FirstNum >= SecondNum
    output "' " + FirstNum + " is greater than or equal to " + SecondNum + " ' evaluates to " + greaterThanOrEqualTo
    
    // Comparison: First number is equal to second number
    equalTo = FirstNum = SecondNum
    output "' " + FirstNum + " is equal to " + SecondNum + " ' evaluates to " + equalTo
    
    // Comparison: First number is not equal to second number
    notEqualTo = FirstNum ≠ SecondNum
    output "' " + FirstNum + " is not equal to " + SecondNum + " ' evaluates to " + notEqualTo
    
    // Comparison: First number is less than second number
    lessThan = FirstNum < SecondNum
    output "' " + FirstNum + " is less than " + SecondNum + " ' evaluates to " + lessThan
    
    // Comparison: First number is less than or equal to second number
    lessThanOrEqualTo = FirstNum <= SecondNum
    output "' " + FirstNum + " is less than or equal to " + SecondNum + " ' evaluates to " + lessThanOrEqualTo
Stop

The flowgorithm file or the pseudocode above should output:

‘ 7 is greater than 5 ‘ evaluates to true
‘ 7 is greater than or equal to 5 ‘ evaluates to true
‘ 7 is equal to 5 ‘ evaluates to false
‘ 7 is not equal to 5 ‘ evaluates to true
‘ 7 is less than 5 ‘ evaluates to false
‘ 7 is less than or equal to 5 ‘ evaluates to false

Task:

In your notebook or personal notes, determine the output of the algorithm when FirstNum and SecondNum Is updated as follows:

  1. FirstNum=6 , SecondNum=7
  2. FirstNum=7 , SecondNum=7
  3. FirstNum=7 , SecondNum=6
  4. FirstNum= -6 , SecondNum= -7

© 2021  Vedesh Kungebeharry. All rights reserved. 

Algorithms

Definition: An algorithm is a set of finite, well defined steps which outlines the solution to a specific problem.

Alternative Definition : WHAT IS AN ALGORITHM? – DEFINITION

We use algorithms every day to solve problems, weather we’re conscious of it or not.

When we cook a new dish we follow a recipe, when we solve a math problem we follow a procedure.

In our case, we’d like to document the solution to a specific problem using an algorithm so that we can communicate it to a programmer , or create the tool  as a program itself.

We use algorithms, but what are the properties of a good algorithm?

I’m sure you’ve come across bad algorithms already –

  • Vague recipe instructions, what exactly is 2 cups of flour?
  • A videogame walkthrough that isn’t descriptive enough
  • A video tutorial that talks  a lot about becoming a youtuber , but the steps aren’t outlined in order.

What are the properties of good instructions, good algorithms?

Properties of good algorithms

  • Has a  finite number of steps ( a definite beginning and an end)
  • Is precise,
  • Is unambiguous (not subject to interpretation)
  • Shows the flow of control from one sub-process to another
  • Must output results
  • It must terminate.

© 2021  Vedesh Kungebeharry. All rights reserved. 

SBA Database Feedback 2021

See your video feedback here.

Group 1D

To be Posted. In class Feedback given on 18th March 2021. Video posted 20th March 2021.

OptionSurnameFirst NameClassGroupLeader
DRamgoolamAshvin5A1DY
DDeosaranKhiran5P1D 
DGangaSuraj5A1D 
DJagroopsinghJoshua5A1D 
DRamnarineAmish5A1D 
DSawhShivum5A1D 

Group 2D

To be Posted. In class Feedback given on 18th March 2021. Video posted 20th March 2021. UPDATE: Reposted on 13th April 2021

OptionSurnameFirst NameClassGroupLeader
DAliXavier5A3DY
DBasdeoDevan5N3D 
DDwarikaLiam5P3D 
DKingRomario5N3D 
DSookramAlex5A3D 
DWalcott-SmartJaymeel5P3D 

Group 3D

To be Posted. In class Feedback given on 18th March 2021. Video posted 20th March 2021. Students of this group did not find time to implement changes based on prior (before 18th March 2021 ) feedback . Students to resubmit on Wed 24th March 2021.

OptionSurnameFirst NameClassGroupLeader
DAliXavier5A3DY
DBasdeoDevan5N3D 
DDwarikaLiam5P3D 
DKingRomario5N3D 
DSookramAlex5A3D 
DWalcott-SmartJaymeel5P3D 

Group 4D

Feedback given in class. No video was recorded.

OptionSurnameFirst NameClassGroupLeader
DLodharGrant5P4DY
DAbidIsa5N4D 
DArjoonVivek5A4D 
DBhalekarAkshat5A4D 
DDeonarineDarius5A4D 
DLalbeharryJaden5A4D 

Group 5D

No video feedback, Inclass feedback given. As of the 18th Mar 2021 students were advised to change the structure of the authority table and resubmit on or before the 24th Mar 2021.

OptionSurnameFirst NameClassGroupLeader
DKhanAmeer5N5DY
DDalipsinghNicholai5A5D 
DEsareesinghVashish5P5D 
DHoseinJarvis5P5D 
DKhanTaariq5A5D 

Group 6D

To be Posted. So submission was made. This group was running late with no penalty, Zachary managed his communications with me effectively. Zachary reported that after seeing the sample demonstration on how to group data into tables that they would be changing the structure of the DB. When questioned on the matter on Mar 18th 2021, Zachary reported that comfortable progress was being made, and that the group is on track for submission on the 24th Mar 2021. Known risk: Teacher has not seen a preview of the final product as yet.

OptionSurnameFirst NameClassGroupLeader
DDomanZachary5A6DY
DHarrypersadKyle5P6D 
DRamjattanShivan5A6D 
DRamkissoonJustin5P6D 
DSamlalTeeval5A6D 

Group 7C

In class feedback given 25th Feb 2021, video posted 18th March 2021

OptionSurnameFirst NameClassGroupLeader
CMohammedIrshad5N7CY
CDookharanJared5P7C 
CRamadharNicholas5N7C 
CRamloganShivan5S7C 
CRamnathAdriel5S7C 
CSandySjezeh5P7C 

Group 8C

In class feedback given 25th Feb 2021, video posted 18th March 2021

OptionSurnameFirst NameClassGroupLeader
CSankarPete5P8CY
CDassDeron5P8C 
CGopaulRandel5A8C 
CJumanConnor5P8C 
CTackoorBrandon5A8C 
CWalayAlex5P8C 

UPDATE: RESUBMISSION FEEDBACK WITH 6D ON 26th APR 2021

© 2021  Vedesh Kungebeharry. All rights reserved.