0% found this document useful (0 votes)
12 views6 pages

w8.2.9: Pseudocode and Algorithms - Final Project: 1. Planning Stage

The final project involves creating a program that sends messages between micro:bits using binary representation of letters. It includes stages of planning, execution, and evaluation, requiring pseudocode, Boolean operators, flowcharts, ASCII translation, and testing. The project emphasizes algorithm improvement and error checking during development.

Uploaded by

hna2001deptrai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views6 pages

w8.2.9: Pseudocode and Algorithms - Final Project: 1. Planning Stage

The final project involves creating a program that sends messages between micro:bits using binary representation of letters. It includes stages of planning, execution, and evaluation, requiring pseudocode, Boolean operators, flowcharts, ASCII translation, and testing. The project emphasizes algorithm improvement and error checking during development.

Uploaded by

hna2001deptrai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

w8.2.

9: Pseudocode and Algorithms - Final project


Welcome to the final project for unit 2. As part of this project, you will implement a
program that sends a message from one micro:bit to another. The message should be
composed of letters, with each letter represented as a binary number. In this project, your
tasks will include planning, implementing, testing, and evaluating your program.

✅ 1. Planning stage
1.​ Plan the program algorithm. You should write it in pseudocode, using plain words
to outline the step-by-step of the algorithm.

START

from microbit import *

import radio

from microbit import *

radio.config(group=40)

radio.on()

# Code in a 'while True:' loop repeats forever

while True:

message=radio.receive()

if message:

display.show(Image.HEART)

sleep(1000)

display.scroll('01101000 01100101 01101100 01101100 01101111 ')

if button_a.was_pressed():

display.scroll('01101000 01100101 01101100 01101100 01101111 00100000 01101101


01101001 01100011 01110010 01101111 00100000 01100001 ')
if button_b.was_pressed():

display.scroll('01101000 01100101 01101100 01101100 01101111 00100000 01101101


01101001 01100011 01110010 01101111 00100000 01100010 ')

if display.read_light_level() < 50:

display.scroll('01110100 01101111 01101111 00100000 01100010 01110010 01101001


01100111 01101000 01110100 ')

else:

display.clear()

if accelerometer.was_gesture('shake'):

display.scroll('01110100 01101000 01101001 01110011 00100000 01101001 01110011


00100000 01100110 01110101 01101110 ')

STOP

2.​ Explain how you will incorporate Boolean operators (AND, OR, NOT). Your program
should include at least one Boolean operator.

____First of all, you need to include a boolean, to include a boolean you need to know
how to use it. You have to add AND, OR, , or NOT in your coding

3.​ Create a flowchart to represent your algorithm. You can use shapes or hand-drawn
illustrations (take a picture of it and include it below).

Add your screenshot here:


4.​ Using ASCII, plan the word you are going to send. Include the word and its
corresponding translation in ASCII code.
111 117 114 032 099 111 100 101 032 119 105 108 108 032 032 109 097 107 101 032 097 032
104 097 112 112 121 032 102 097 099 101 032 097 116 032 102 105 114 115 116 032 097 110 100
032 116 104 101 110 032 097 032 116 101 120 116 032 115 099 114 111 108 108 032 104 101 108
108 111 032 101 118 101 114 121 032 098 111 100 121 046 032 065 102 116 101 114 032 116 104
097 116 044 032 119 101 032 119 105 108 108 032 104 097 118 101 032 097 032 115 112 101 101
099 104 032 116 104 097 116 032 080 082 032 118 105 110 115 099 104 111 111 108 032 097
115 032 097 110 032 097 100 118 101 114 116 105 115 101 109 101 110 116 046 032 070 105 110
097 108 108 121 032 073 039 118 101 032 109 097 100 101 032 115 111 109 101 032 115 101 110
115 111 114 032 111 102 032 108 105 103 104 116 032 108 101 118 101 108 044 032 114 097 100
105 111 032 097 110 100 032 097 099 099 101 108 101 114 111 109 101 116 101 114 046

5.​ Test, evaluate and improve your algorithm. What improvements can you include?

Maybe we made it a bit too bland, I think we could add more interesting codes to it
but if the code works, it works. If we can, we can simplify the code and make it
easier.

✅ 2. Execution stage
👉 Write your program in MicroPython.
Add a screenshot below:

✅ 3. Evaluation and reflection:


6. Create a test plan table, including the columns “Test”, “Input”, “Expected Outcome”,
“Actual Outcome” “Pass/Fail”. Include multiple tables if necessary until all tests pass.
Expected Actual
Test Input Pass/Fail
Outcome Outcome

Test 1: Press button A Work out fine Didnt display Fail


or B an Image

Test 2: Press button A Works out Worked out Fail


or B perfectly fine but needed
something
more
interesting

Test 3 Press button A Wanted it to Work really Pass


or B work out in the well
best way
possible

7. Explain how you checked for errors during the program development.

I have checked errors by asking for hints and we’ve also been overlooking it. We’ve mostly
been testing and adding more codes to make it better.

8. Explain how a linear search works. How would a computer locate the letter that the
binary number represents?

Linear search is when you tell the computer to find an exact thing and if it's not right, the
computer will keep trying to find it until it finds it. To let linear search locate the letter that
binary number represents, the computer would just keep searching for it until it finds it.

Self-Evaluation Rubric (to be filled in by you).

Factor Pts. Description


Planning Stage (20 points)
Pseudocode Algorithm 5 Clear and accurate algorithm planned using 4
pseudocode.
Incorporation of 5 Explanation of how Boolean operators (AND, OR, 4
Boolean Operators NOT) will be used, and program includes at least one
Boolean operator.
Flowchart 4 Well-constructed flowchart effectively illustrating the 2
Representation algorithm.
ASCII Word Planning 3 Correct planning of word and its ASCII translation, 2
included in the project.
Algorithm Testing and 3 Demonstrates understanding of testing and improving 2
Improvement the algorithm. Potential improvements discussed.
Execution Stage (15 points)
MicroPython Program 10 Functional program written in MicroPython, 8
implementing the planned algorithm. Named, saved,
and submitted correctly.
Program Organization 5 Well-organized code with appropriate comments 4
explaining key sections.
Evaluation and Reflection (10 points)
Test Plan Table 4 Well-structured test plan table with required columns. 3
Multiple tables used if needed to cover all tests.
Error Checking 4 Explanation of strategies used to check for errors 3
Throughout during development.
Development
Explanation of Linear 2 Clear and accurate explanation of how a linear search 1
Search works to locate a letter using a binary number.
Overall Quality and Presentation (5 points)
Clarity and 3 Well-written, organized, and clear explanations. 2
Cohesiveness
Visual Aids 2 Clear and supportive visual aids (flowcharts, tables, 1
diagrams) if applicable.
Total Points: 55

You might also like