Compare commits
240 Commits
Author | SHA1 | Date | |
---|---|---|---|
c82efa452d | |||
493014af01 | |||
fb4a96d81b | |||
bbf115f33c | |||
5d9c2cf590 | |||
b99231f6e2 | |||
2676907129 | |||
6f4c533ebb | |||
85dcaea979 | |||
8560b31657 | |||
b896588f45 | |||
0b4d4facfe | |||
52ad897ee3 | |||
72582f2a60 | |||
2b2048da7d | |||
e85fa990bd | |||
81a61538c3 | |||
cc8751bd09 | |||
03f933a1c8 | |||
10a77d9fef | |||
773f8a8688 | |||
f67743d935 | |||
237a57ee86 | |||
b80edb43fc | |||
6c9b609fe0 | |||
26d78768c0 | |||
6812767555 | |||
2aa7c91ca7 | |||
baf2c3247f | |||
c9536b0cf2 | |||
7fd7e15bd4 | |||
948b0ef304 | |||
715771b991 | |||
65d48f4b02 | |||
283c331a5e | |||
ba96e94fa7 | |||
7e1248b8dc | |||
cbe280187a | |||
761e4f38cd | |||
a9137f7761 | |||
3274e237cf | |||
5261b2b270 | |||
1adede163a | |||
bb80874ef9 | |||
9e9d11cb94 | |||
c004aa4b1b | |||
cdd4798945 | |||
0f56142317 | |||
6927085d64 | |||
c1b654f092 | |||
2f551c97b5 | |||
01e6aab376 | |||
df17ba09ae | |||
9c09a427c9 | |||
4b35f0f751 | |||
bb03cc4357 | |||
6f8b17e4ba | |||
60c5dfc539 | |||
bca5839b49 | |||
47e3737245 | |||
b8d5ec853e | |||
46d42e5300 | |||
ffabb9b16d | |||
d62c10d278 | |||
e2b2aa7ff1 | |||
664c8dcd35 | |||
bd7430b642 | |||
61fd28d840 | |||
c33df897d5 | |||
3bb0bd2a9f | |||
7751061b51 | |||
88a7fa5038 | |||
3c8a62df54 | |||
c661fd0eca | |||
8a124812b6 | |||
02c41b59bd | |||
b003af6eae | |||
5e5709e48d | |||
dafb056730 | |||
721ae893bb | |||
45dd3fc1bf | |||
9626207a61 | |||
87b6e0aba1 | |||
0d9890cfac | |||
5d40750542 | |||
bd09754466 | |||
5740133921 | |||
4e23553824 | |||
9b68519aff | |||
e6dc3b8974 | |||
53634f4d6a | |||
3ee0c6ea42 | |||
ef098cbd28 | |||
356b17cb13 | |||
47d382135b | |||
241da7fbed | |||
feb17c5e45 | |||
6559f386d2 | |||
6bf46577f9 | |||
0130ecb0c2 | |||
9820a035ce | |||
88acd9254d | |||
650fe61dcd | |||
c4e57e0165 | |||
a55ddcbab3 | |||
f58508afa2 | |||
4b92de7516 | |||
6176963504 | |||
37ec692dc4 | |||
1c2dc68479 | |||
a33472dbd4 | |||
746dc5d5ab | |||
70bd81d9c2 | |||
8ee34ec4c4 | |||
9f4a121829 | |||
64eec2875b | |||
400b9269ee | |||
58d854f6f5 | |||
13dcbd3a62 | |||
a2310f150f | |||
b4d7cbc1f0 | |||
d54baaca51 | |||
7c564ebaab | |||
4b3efd434e | |||
68143500da | |||
a7a9685963 | |||
a3b2682cc1 | |||
9e7d3b86ba | |||
68d22947bb | |||
a92236b3d8 | |||
832bb77987 | |||
46713ef6c3 | |||
f9b17a844a | |||
c5e3f2c673 | |||
3a12314332 | |||
3c9c30e489 | |||
dd28c6318e | |||
d43c0f6e23 | |||
e0da743cb4 | |||
3774b705a2 | |||
c1f6e45e36 | |||
7c6d3a0509 | |||
25e83b52f3 | |||
3640ddbd0e | |||
7f3b07e43f | |||
dd6e937472 | |||
1b9dfd1622 | |||
58ac6429df | |||
75461512f7 | |||
a7a91459ff | |||
4bd5b556a6 | |||
cf32012d4e | |||
19e49652f8 | |||
691da3605f | |||
34c5a5e216 | |||
5b1ccd3978 | |||
5552b42c6e | |||
2ab7175283 | |||
a23042a787 | |||
130768301c | |||
5ead39cf51 | |||
e6a1728f6e | |||
b210e505a2 | |||
984fa83ff8 | |||
31fdadbb08 | |||
b6d81f73bc | |||
1439942b45 | |||
7c862ce0f5 | |||
28e397bc99 | |||
dea2f33234 | |||
6341f795c6 | |||
ec36eaa4cf | |||
abed962eab | |||
24ce19654c | |||
d1bf09b084 | |||
529b18e423 | |||
612142a292 | |||
5899647865 | |||
8ede130a95 | |||
545fff44d0 | |||
ac58002462 | |||
bbb153305a | |||
03d7799afc | |||
5922135073 | |||
b83a845854 | |||
ba6c9f9d92 | |||
a14585d36f | |||
b76b32a825 | |||
1e77491b16 | |||
7cbba949db | |||
f00491df52 | |||
899183f8f4 | |||
3b3a1140b4 | |||
085af70db3 | |||
df8aaaca5a | |||
4d1f157ed3 | |||
0500da7a72 | |||
0d321114c0 | |||
8f61570158 | |||
06916c4f82 | |||
850c313c5d | |||
1f7e0b0f79 | |||
61dd0075b2 | |||
059539b954 | |||
45aa780934 | |||
0ccddf9fe8 | |||
a0b3b77118 | |||
8d1f59dc84 | |||
6a932a9c5c | |||
40405b7e7b | |||
0e816f2398 | |||
c6e2391bcd | |||
00adabe441 | |||
3ccec89f33 | |||
d5488a3ae8 | |||
8a14a95fcc | |||
d0fcd5f400 | |||
491c5faaf6 | |||
8179e38e41 | |||
d9c51b5fd5 | |||
8cbd8e5a74 | |||
5a8a5f82c9 | |||
c43088c099 | |||
816d738390 | |||
3e133aa66e | |||
a471c2cb1a | |||
a5826540fa | |||
1768881719 | |||
365c95b33d | |||
d05fa9f4cb | |||
acb0c66e85 | |||
a705b74fab | |||
85d406661a | |||
8fa190b209 | |||
664b841b1c | |||
715de4dff9 | |||
514e7cf1db | |||
c9f927b0bf | |||
0802b509c4 | |||
383bdc491d |
2
.gitignore
vendored
2
.gitignore
vendored
@ -6,3 +6,5 @@ tmp/
|
||||
*.ts.new
|
||||
*.tgz
|
||||
temp/
|
||||
*.db
|
||||
projects/
|
||||
|
@ -2,9 +2,8 @@ language: node_js
|
||||
node_js:
|
||||
- "5.7.0"
|
||||
script:
|
||||
- "npm update"
|
||||
- "node node_modules/kindscript/built/kind.js buildtarget"
|
||||
- "node node_modules/kindscript/built/kind.js travis"
|
||||
- "(cd libs/lang-test0; node ../../node_modules/kindscript/built/kind.js run)"
|
||||
- "node node_modules/kindscript/built/kind.js uploaddoc"
|
||||
sudo: false
|
||||
notifications:
|
||||
|
@ -1,14 +1,19 @@
|
||||
```sim
|
||||
basic.forever(() => {
|
||||
basic.showString("Hi!");
|
||||
})
|
||||
```
|
||||
# About
|
||||
|
||||
The [BBC micro:bit](https://www.microbit.co.uk) is a [pocket-size computer](/device) with 25 LEDs, Bluetooth and sensors that can be programmed by anyone.
|
||||
The BBC micro:bit was made possible by [a number of partners!](https://www.microbit.co.uk/partners)
|
||||
The [BBC micro:bit](https://www.microbit.co.uk) is a [pocket-size computer](/device) with a 5x5 display of 25 LEDs, Bluetooth and sensors that can be programmed by anyone.
|
||||
The BBC micro:bit was made possible by many [partners](https://www.microbit.co.uk/partners).
|
||||
|
||||
The micro:bit provides a fun introduction to programming and making – switch on, program it to do something fun – wear it, customize it.
|
||||
Just like Arduino, the micro:bit can be connected to and interact with sensors, displays, and other devices.
|
||||
|
||||
## Block Editor or JavaScript
|
||||
## Blocks or JavaScript
|
||||
|
||||
The student can program the BBC micro:bit using a Block Editor or JavaScript.
|
||||
The student can program the BBC micro:bit using [visual blocks](http://www.github.com/Google/blockly) or JavaScript.
|
||||
|
||||
```blocks
|
||||
basic.showString("BBC micro:bit!");
|
||||
@ -36,6 +41,14 @@ input.onButtonPressed(Button.A, () => {
|
||||
# . . . #
|
||||
. # # # .`);
|
||||
});
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
basic.showLeds(`
|
||||
. # . # .
|
||||
# . # . #
|
||||
# . . . #
|
||||
. # . # .
|
||||
. . # . .`);
|
||||
});
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
@ -44,18 +57,12 @@ input.onGesture(Gesture.Shake, () => {
|
||||
. # # # .
|
||||
# . . . #`);
|
||||
});
|
||||
basic.showString("BBC micro:bit");
|
||||
```
|
||||
|
||||
To run a student's project in the web browser, KindScript compiles it into JavaScript, the scripting language built into all web browsers.
|
||||
|
||||
C++ and Touch Develop Libraries
|
||||
The C++ micro:bit library, created at Lancaster University, provides access to the hardware functions of the micro:bit, as well as a set of helper functions (such as displaying a number/image/string on the LED screen). The Touch Develop micro:bit library mirrors the functions of the C++ library. When a Touch Develop script is compiled to C++, the calls to Touch Develop micro:bit functions are replaced with calls to the corresponding C++ functions.
|
||||
|
||||
Above, see the mapping from the Touch Develop "show number" function to its corresponding the C++ function.
|
||||
|
||||
## C++ Runtime
|
||||
|
||||
The C++ BBC micro:bit library, created at [Lancaster University](http://www.lancaster.ac.uk/), provides access to the hardware functions of the micro:bit,
|
||||
as well as a set of helper functions (such as displaying a number/image/string on the LED screen).
|
||||
The JavaScript micro:bit library mirrors the functions of the C++ library.
|
||||
When code is compiled to C++, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
|
||||
When code is compiled to ARM machine code, the calls to JavaScript micro:bit functions are replaced with calls to the corresponding C++ functions.
|
||||
|
@ -52,7 +52,7 @@ The first job of the scheduler is to allow multiple *subprograms* to be queued u
|
||||
|
||||
```
|
||||
export function countButtonPresses() {
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
count = count + 1
|
||||
})
|
||||
basic.forever(() => {
|
||||
@ -65,7 +65,7 @@ export function countButtonPresses() {
|
||||
The program above contains three statements that execute in order from top to bottom. The first statement
|
||||
|
||||
```
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
count = count + 1
|
||||
})
|
||||
```
|
||||
@ -132,14 +132,14 @@ As a result, you can easily add a new capability to the micro:bit by just adding
|
||||
|
||||
```
|
||||
export function countButtonPressesWithReset() {
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
count = count + 1
|
||||
})
|
||||
basic.forever(() => {
|
||||
basic.showNumber(count, 150)
|
||||
})
|
||||
count = 0
|
||||
input.onButtonPressed("B", () => {
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
count = 0
|
||||
})
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Run Scripts on your micro:bit
|
||||
|
||||
How to compile, transfer, and run a script on your micro:bit. #docs #USB #compile #transfer
|
||||
How to compile, transfer, and run a script on your micro:bit.
|
||||
|
||||
While you're writing and testing your Block Editor or Touch Develop scripts, you'll mostly be running scripts in your browser by clicking the `Run` button (see [run code in your browser](/microbit/js/simulator) for info about this).
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
# Lessons
|
||||
|
||||
Overview of lessons for the BBC micro:bit.
|
||||
|
||||
### @short Lessons
|
||||
|
||||
@ -52,17 +51,19 @@ Overview of lessons for the BBC micro:bit.
|
||||
### ~column
|
||||
|
||||
## Maker
|
||||
|
||||
* [The Watch](/microbit/lessons/the-watch), design and create The Watch
|
||||
* [Hack your Headphones](/microbit/lessons/hack-your-headphones), create music on the BBC micro:bit by hacking your headphones
|
||||
* [Banana Keyboard](/microbit/lessons/banana-keyboard), create music with fruits
|
||||
* [Telegraph](/microbit/lessons/telegraph), play the telegraph game between two BBC micro:bits
|
||||
* [Ornament Chain](/microbit/lessons/ornament-chain), play the ornament chain game between two BBC micro:bits
|
||||
* [Pogo](/microbit/lessons/pogo), create a pogo game to test your jumping abilities
|
||||
|
||||
## Advanced
|
||||
|
||||
* [Charting](/microbit/lessons/charting), create a charting app between 2 BBC micro:bits
|
||||
* [Prank WiFi](/microbit/lessons/prank-wifi), create fake WiFi to trick your friends
|
||||
* [Speed Button](/microbit/lessons/speed-button), code a speed game with running time
|
||||
* [Headbands](/microbit/lessons/headbands), create a charades game with a collection of strings that hold the words
|
||||
* [Hero](/microbit/lessons/hero), reconstruct the classic arcade game pac man with the BBC micro:bit
|
||||
|
||||
* [Catch the Egg](/microbit/lessons/catch-the-egg-game), catch falling eggs in a basket with an acceleration controller
|
||||
### ~
|
||||
|
||||
### @section full
|
||||
|
@ -15,9 +15,6 @@ Show String
|
||||
* [quiz answers](/microbit/lessons/answering-machine/quiz-answers)
|
||||
* [challenges](/microbit/lessons/answering-machine/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning / place of lesson in scheme of work
|
||||
|
||||
@ -25,7 +22,13 @@ Learn how to creating a message with a **string**, `show string` to write your m
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show string** : [read more...](/microbit/reference/basic/show-string)
|
||||
```cards
|
||||
basic.showString('Hi!')
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
|
||||
```
|
||||
|
||||
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
|
||||
## Objectives
|
||||
@ -33,48 +36,3 @@ Learn how to creating a message with a **string**, `show string` to write your m
|
||||
* learn how to show a string on the LED screen one character at a time
|
||||
* learn how to use to register an event handler that will execute whenever an input button is pressed
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
|
||||
* Evaluates the appropriatness of digital devices, internet services and application software to achieve given goals (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/answering-machine/activity)
|
||||
* [quiz](/microbit/lessons/answering-machine/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/answering-machine/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/answering-machine/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# answering machine blocks quiz answers
|
||||
|
||||
Create an answering machine on the micro:bit. #LED #screen #show #math #docs #input
|
||||
Create an answering machine on the micro:bit.
|
||||
|
||||
This is the answer key for the [answering machine quiz](/microbit/lessons/answering-machine/quiz).
|
||||
|
||||
@ -32,5 +32,10 @@ basic.showString("Hi")
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
```blocks
|
||||
basic.showString("Z")
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# answering machine blocks quiz
|
||||
|
||||
Create an answering machine on the micro:bit. #LED #screen #show #math #docs #input
|
||||
Create an answering machine on the micro:bit.
|
||||
|
||||
## Name
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# banana keyboard blocks lesson
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,6 @@ Music
|
||||
|
||||
* [activity](/microbit/lessons/banana-keyboard/activity)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to convert your BBC micro:bit into a music player using pins P0 and GND, earphones (or speakers), as well as crocodile clips (or spring clips). The connect fruit using pins P1 and GND.
|
||||
|
@ -81,3 +81,9 @@ Your banana keyboard is ready!
|
||||
|
||||
Connect your micro:bit to your computer using your USB cable and run the [banana keyboard](/microbit/lhpkbr) script on it. Tap your banana instrument to play sound against... the fruit!
|
||||
|
||||
|
||||
### ~avatar boothing
|
||||
|
||||
Excellent, you're ready to continue with the [challenges](/microbit/lessons/banana-keyboard/challenges)!
|
||||
|
||||
### ~
|
||||
|
@ -1,6 +1,6 @@
|
||||
# beatbox blocks lesson
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -11,9 +11,6 @@ Music
|
||||
* [activity](/microbit/lessons/beatbox/activity)
|
||||
* [challenges](/microbit/lessons/beatbox/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,40 +20,3 @@ Learn how to make a beatbox music player using pins P1 and P2. We will be learni
|
||||
|
||||
* learn how to code music on the BBC micro:bit
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/beatbox/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/beatbox/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/beatbox/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# beautiful image lesson
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
### @video td/videos/beautiful-image-0
|
||||
|
||||
@ -13,9 +13,6 @@ Show LEDs
|
||||
* [activity](/microbit/lessons/beautiful-image/activity)
|
||||
* [challenges](/microbit/lessons/beautiful-image/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,50 +20,19 @@ Learn how to **show LEDs**, to show an image on the BBC micro:bit's LED screen.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **pause** : [read more...](/microbit/reference/basic/pause)
|
||||
```cards
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.pause(100)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to display an image on the micro:bit's LED screen
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/beautiful-image/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/beautiful-image/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/beautiful-image/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# beautiful image blocks activity
|
||||
|
||||
Generate and show a beautiful image. #docs #microbit
|
||||
Generate and show a beautiful image.
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blink blocks lesson
|
||||
|
||||
Learn how to create a blinking LED. #LED #screen #plot #docs #lesson
|
||||
Learn how to create a blinking LED.
|
||||
|
||||
### @video td/videos/blink-0
|
||||
|
||||
@ -15,36 +15,21 @@ Plot
|
||||
* [quiz answers](/microbit/lessons/blink/quiz-answers)
|
||||
* [challenges](/microbit/lessons/blink/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning / place of lesson in scheme of work
|
||||
|
||||
Learn how to control a blinking LED. We will be learning how to create a blinking app using forever as well as simple commands, such as plot, unplot and pause.
|
||||
|
||||
## What the teacher needs to know / QuickStart Computing Glossary
|
||||
|
||||
**Program:** A stored set of instructions encoded in a language understood by the computer that does some form of computation, processing input and/or stored data to generate output.
|
||||
|
||||
**Algorithm:** An unambiguous set of rules or a precise step-by-step guide to solve a problem or achieve a particular objective. The guided tutorial follows a algorithm and is a precise step-by-step guide to solve a problem
|
||||
|
||||
**Loop:** A block of code repeated automatically under the program’s control. The blink program introduces Forever. The forever loop repeats code in the background forever.
|
||||
|
||||
**Command:** An instruction for the computer to execute, written in a particular programming language.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **plot**: [read more...](/microbit/reference/led/plot)
|
||||
* **unplot**: [read more...](/microbit/reference/led/unplot)
|
||||
* **pause**: [read more...](/microbit/reference/basic/pause)
|
||||
* **forever**: [read more...](/microbit/reference/basic/forever)
|
||||
```cards
|
||||
led.plot(0, 0)
|
||||
led.unplot(0, 0)
|
||||
basic.pause(100)
|
||||
basic.forever(() => {})
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/blink/activity)
|
||||
* Activity: [quiz](/microbit/lessons/blink/quiz)
|
||||
* Extended Activity: [challenges](/microbit/lessons/blink/challenges)
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -52,41 +37,3 @@ Learn how to control a blinking LED. We will be learning how to create a blinkin
|
||||
* learn how to turn off LED lights on the LED screen
|
||||
* learn how to pause program execution for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/blink/activity)
|
||||
* [quiz](/microbit/lessons/blink/quiz)
|
||||
* [quiz answers](/microbit/lessons/blink/quiz-answers)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/blink/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/blink/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blink blocks quiz answers
|
||||
|
||||
Learn how to create a blinking LED script. #LED #screen #plot #docs
|
||||
Learn how to create a blinking LED script.
|
||||
|
||||
This is the answer key for the [blink quiz](/microbit/lessons/blink/quiz).
|
||||
|
||||
@ -10,7 +10,10 @@ Answers will vary. In general, plot refers to the code that turns on a specific
|
||||
|
||||
## 2. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
```blocks
|
||||
led.plot(2, 2)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
@ -18,7 +21,10 @@ By default, the position of an LED on *Blink Tutorial* is set to the centre of t
|
||||
|
||||
## 3. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
```blocks
|
||||
led.plot(0, 0)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
@ -29,7 +35,10 @@ This code turns on specific LED. Plot turns on the specified LED on the LED scre
|
||||
|
||||
## 4. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
```blocks
|
||||
led.plot(4, 4)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# blink blocks quiz
|
||||
|
||||
Learn how to create a blinking LED script. #LED #screen #plot #docs
|
||||
Learn how to create a blinking LED script.
|
||||
|
||||
## Name
|
||||
|
||||
@ -12,23 +12,34 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 1. Describe what `plot` does?
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
## 2. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
```blocks
|
||||
led.plot(2, 2)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 3. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
```blocks
|
||||
led.plot(0, 0)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 4. Draw which LED is ON after running this code
|
||||
|
||||

|
||||
|
||||
```blocks
|
||||
led.plot(4, 4)
|
||||
|
||||
```
|
||||
|
||||
|
||||

|
||||
|
||||
|
@ -4,15 +4,11 @@ a game similar to "Simon Says" with the BBC micro:bit. #docs
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
Complete the following guided tutorial. Your code should look like this:
|
||||
|
||||
* [tutorial](/microbit/lessons/bop-it/tutorial)
|
||||
|
||||
At the end of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
```blocks
|
||||
newAction() // ***
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
if (action == 0) {
|
||||
game.addScore(1) // ***
|
||||
newAction() // ***
|
||||
@ -21,27 +17,27 @@ input.onButtonPressed("A", () => {
|
||||
input.onLogoDown(() => {
|
||||
if (action == 1) {
|
||||
game.addScore(1) // ***
|
||||
newAction() // ***
|
||||
newAction()
|
||||
}
|
||||
}) // ***
|
||||
})
|
||||
input.onGesture(Gesture.Shake, () => {
|
||||
if (action == 2) {
|
||||
game.addScore(1) // ***
|
||||
newAction() // ***
|
||||
game.addScore(1)
|
||||
newAction()
|
||||
}
|
||||
}) // ***
|
||||
input.onButtonPressed("B", () => {
|
||||
})
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
basic.showNumber(game.score(), 150) // ***
|
||||
basic.pause(2000) // ***
|
||||
newAction() // ***
|
||||
}) // ***
|
||||
})
|
||||
```
|
||||
|
||||
### Challenge 1
|
||||
|
||||
Now let's add some more types of instructions for the player to follow. Let's add `PRESS PIN 0`. Change the global variable `action` to `math->random(4)` so that we can add a new **IF** statement that checks if `action=3`. If it does, display instructions to press pin 0.
|
||||
|
||||
```
|
||||
```blocks
|
||||
/**
|
||||
* {highlight}
|
||||
*/
|
||||
@ -68,12 +64,12 @@ Now let's implement `PRESS PIN 0` in the main. Create a condition of `input->on
|
||||
|
||||
```
|
||||
// **. . .**
|
||||
input.onButtonPressed("B", () => {
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
basic.showNumber(game.score(), 150) // ***
|
||||
basic.pause(2000) // ***
|
||||
newAction() // ***
|
||||
}) // ***
|
||||
input.onPinPressed("P0", () => {
|
||||
input.onPinPressed(TouchPin.P0, () => {
|
||||
if (action == 3) {
|
||||
game.addScore(1) // ***
|
||||
newAction() // ***
|
@ -1,6 +1,6 @@
|
||||
# bop it quiz answers
|
||||
|
||||
a game where you have to keep up with the commands #math #random #docs
|
||||
a game where you have to keep up with the commands.
|
||||
|
||||
## Name
|
||||
|
||||
@ -33,7 +33,7 @@ if (action == 0) {
|
||||
<br />
|
||||
|
||||
```
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
if (action == 0) {
|
||||
game.addScore(1)
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
# bop it quiz
|
||||
|
||||
a game where you have to keep up with the commands #math #random #docs
|
||||
a game where you have to keep up with the commands.
|
||||
|
||||
## Name
|
||||
|
@ -1,6 +1,6 @@
|
||||
# catch the egg game lesson
|
||||
|
||||
a game to catch eggs in a basket #var #data #if #random #min #max #mod #plot #unplot #pause #accceleration #docs
|
||||
A game to catch eggs in a basket.
|
||||
|
||||
### @video td/videos/catch-the-egg-game-0
|
||||
|
||||
@ -10,14 +10,9 @@ Variables
|
||||
|
||||
## Quick Links
|
||||
|
||||
* [tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
|
||||
* [activity](/microbit/lessons/catch-the-egg-game/activity)
|
||||
* [quiz](/microbit/lessons/catch-the-egg-game/quiz)
|
||||
* [quiz answers](/microbit/lessons/catch-the-egg-game/quiz-answers)
|
||||
* [challenges](/microbit/lessons/catch-the-egg-game/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -40,7 +35,7 @@ Learn how to create a catch the egg game game with **plot**, `led->plot` , **unp
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to create a global variable as a place where you can store data so that you can use it later in your code, accessible across functions and in nested code blocks
|
||||
* learn how to create a variable as a place where you can store data so that you can use it later in your code, accessible across functions and in nested code blocks
|
||||
* learn how to repeat code in the background forever
|
||||
* learn how to turn off a LED light on the LED screen
|
||||
* learn how to turn on a LED light on the LED screen
|
||||
@ -52,40 +47,3 @@ Learn how to create a catch the egg game game with **plot**, `led->plot` , **unp
|
||||
* learn how to return the modulus
|
||||
* learn how to show a number of the BBC micro:bit screen
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Has practical experience of a high-level textual language, including using standard libraries when programming(AB) (AL)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
|
||||
* [quiz](/microbit/lessons/catch-the-egg-game/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/catch-the-egg-game/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/catch-the-egg-game/challenges)
|
||||
|
@ -4,13 +4,9 @@ Coding challenges for catch the egg game.
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
Your starting code should look like this:
|
||||
|
||||
* [tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
|
||||
|
||||
At the end of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX = 2
|
||||
let eggX = 2
|
||||
let eggY = 0
|
||||
@ -20,7 +16,7 @@ basic.forever(() => {
|
||||
eggY = eggY + 1
|
||||
led.plot(eggX, eggY)
|
||||
basic.pause(300)
|
||||
let accX = input.acceleration("x")
|
||||
let accX = input.acceleration(Dimension.X)
|
||||
basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
|
||||
led.plot(basketX, 4)
|
||||
if (eggY > 4) {
|
||||
@ -35,21 +31,13 @@ basic.forever(() => {
|
||||
|
||||
### Challenge 1
|
||||
|
||||
Let's start by adding the **game** library.
|
||||
|
||||
### ~
|
||||
|
||||
### ~avatar avatar improvised
|
||||
|
||||
### Challenge 2
|
||||
|
||||
Let's use an **IF** statement to detect if the egg and the basket are lined up.
|
||||
|
||||
Now that we know when an egg is caught, we can keep track of the score! We need to use the `add score` function built into the game library to add `1` point for every egg that is caught. However, let's not forget to `remove life` if an egg falls off the display before it's caught!
|
||||
|
||||
### ~
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX1 = 2
|
||||
let eggX1 = 2
|
||||
let eggY1 = 0
|
||||
@ -59,8 +47,8 @@ basic.forever(() => {
|
||||
eggY1 = eggY1 + 1
|
||||
led.plot(eggX1, eggY1)
|
||||
basic.pause(300)
|
||||
let accX1 = input.acceleration("x")
|
||||
basketX1 = 2 + Math.min(2, Math.max(-2, accX1 / 200))
|
||||
let accX = input.acceleration(Dimension.X)
|
||||
basketX1 = 2 + Math.min(2, Math.max(-2, accX / 200))
|
||||
led.plot(basketX1, 4)
|
||||
if (eggY1 > 4) {
|
||||
eggY1 = -1
|
||||
@ -68,9 +56,9 @@ basic.forever(() => {
|
||||
}
|
||||
if (eggY1 == 4) {
|
||||
if (basketX1 == eggX1) {
|
||||
game.addScore(1) // ***
|
||||
game.addScore(1)
|
||||
} else {
|
||||
game.removeLife(1) // ***
|
||||
game.removeLife(1)
|
||||
}
|
||||
}
|
||||
basic.pause(300)
|
||||
@ -81,13 +69,13 @@ basic.forever(() => {
|
||||
|
||||
### ~avatar avatar encourage
|
||||
|
||||
### Challenge 3
|
||||
### Challenge 2
|
||||
|
||||
Catching eggs gets easier with practice so let's make the eggs fall faster every 5 catches. We can do this by tracking how long the egg pauses in each position while falling with a global variable called **falling pause**. Let's create this variable and set it to `300` initially. Don't forget to also create a condition that will be true every 5 catches.
|
||||
|
||||
### ~
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX2 = 2
|
||||
let eggX2 = 2
|
||||
let eggY2 = 0
|
||||
@ -98,7 +86,7 @@ basic.forever(() => {
|
||||
eggY2 = eggY2 + 1
|
||||
led.plot(eggX2, eggY2)
|
||||
basic.pause(300)
|
||||
let accX2 = input.acceleration("x")
|
||||
let accX2 = input.acceleration(Dimension.X)
|
||||
basketX2 = 2 + Math.min(2, Math.max(-2, accX2 / 200))
|
||||
led.plot(basketX2, 4)
|
||||
if (eggY2 > 4) {
|
||||
@ -108,7 +96,7 @@ basic.forever(() => {
|
||||
if (eggY2 == 4) {
|
||||
if (basketX2 == eggX2) {
|
||||
game.addScore(1)
|
||||
if (math.mod(game.score(), 5) == 0) {
|
||||
if (game.score() %5 == 0) {
|
||||
}
|
||||
} else {
|
||||
game.removeLife(1)
|
||||
@ -120,13 +108,13 @@ basic.forever(() => {
|
||||
|
||||
### ~avatar avatar surprised
|
||||
|
||||
### Challenge 4
|
||||
### Challenge 3
|
||||
|
||||
### @video td/videos/catch-the-egg-game-4
|
||||
|
||||
Let's make the egg fall faster by decreasing the amount of time it pauses in each position by decreasing **falling pause** by `25` every 5 catches. Now, instead of pausing for 300 milliseconds we can pause for the value of **falling pause**.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX3 = 2
|
||||
let eggX3 = 2
|
||||
let eggY3 = 0
|
||||
@ -137,7 +125,7 @@ basic.forever(() => {
|
||||
eggY3 = eggY3 + 1
|
||||
led.plot(eggX3, eggY3)
|
||||
basic.pause(300)
|
||||
let accX3 = input.acceleration("x")
|
||||
let accX3 = input.acceleration(Dimension.X)
|
||||
basketX3 = 2 + Math.min(2, Math.max(-2, accX3 / 200))
|
||||
led.plot(basketX3, 4)
|
||||
if (eggY3 > 4) {
|
||||
@ -147,15 +135,16 @@ basic.forever(() => {
|
||||
if (eggY3 == 4) {
|
||||
if (basketX3 == eggX3) {
|
||||
game.addScore(1)
|
||||
if (math.mod(game.score(), 5) == 0) {
|
||||
if (game.score()% 5 == 0) {
|
||||
fallingPause1 = fallingPause1 - 25 // ***
|
||||
}
|
||||
} else {
|
||||
game.removeLife(1)
|
||||
}
|
||||
}
|
||||
basic.pause(fallingPause1) // ***
|
||||
basic.pause(fallingPause1)
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
Fantastic! Your game is now ready to show off.
|
@ -22,7 +22,10 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX = 2
|
||||
let eggX = 2
|
||||
let eggY = 0
|
||||
led.plot(eggX, eggY)
|
||||
led.plot(basketX, 4)
|
||||
```
|
||||
@ -31,28 +34,22 @@ led.plot(basketX, 4)
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let basketX = 2
|
||||
let eggX = 2
|
||||
let eggY = 0
|
||||
led.unplot(eggX, eggY)
|
||||
eggY = eggY + 1
|
||||
led.plot(eggX, eggY)
|
||||
```
|
||||
|
||||
## 4. Write the code that calculates 'basket x' given the variable 'acc x'.
|
||||
## 4. . Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
let accX = input.acceleration("x")
|
||||
basketX = 2 + Math.min(2, Math.max(-2, accX / 200))
|
||||
```
|
||||
|
||||
Note: the first line of code in this answer is optional.
|
||||
|
||||
## 5. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let eggX = 2
|
||||
let eggY = 0
|
||||
if (eggY > 4) {
|
||||
eggY = -1
|
||||
eggX = Math.random(5)
|
@ -6,11 +6,11 @@ Programming a game of catch the egg using the accelerometer.
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [catch the egg tutorial](/microbit/lessons/catch-the-egg-game/tutorial)
|
||||
Use this activity document to guide your work in the [catch the egg challenges](/microbit/lessons/catch-the-egg-game/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
## 1. Write the data type for the global variables 'basket' and 'egg'.
|
||||
## 1. Write the data type for the variables 'basket' and 'egg'.
|
||||
|
||||
<br/>
|
||||
|
||||
@ -24,11 +24,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
<br/>
|
||||
|
||||
## 4. Write the code that calculates 'basket x' given the variable 'acc x'.
|
||||
|
||||
<br/>
|
||||
|
||||
## 5. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
|
||||
## 4. Write the code that resets the egg after it has fallen past the bottom of the BBC micro:bit.
|
||||
|
||||
<br/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
# charting lesson
|
||||
|
||||
measure the acceleration on the micro:bit in the "z" direction #acceleration #var #docs #if #show
|
||||
Measure the acceleration on the micro:bit in the "z" direction.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,9 +10,6 @@ Acceleration
|
||||
|
||||
* [activity](/microbit/lessons/charting/activity)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -20,12 +17,14 @@ Learn the functions of **on data received**, **send number** and **receive numbe
|
||||
|
||||
## Documentation
|
||||
|
||||
* **forever** : [read more...](/microbit/reference/basic/forever)
|
||||
* **acceleration** : [read more...](/microbit/reference/input/acceleration)
|
||||
* **plot bar graph** : [read more...](/microbit/reference/led/plot-bar-graph)
|
||||
* **on data received** : [read more...](/microbit/reference/radio/on-data-received)
|
||||
* **send number** : [read more...](/microbit/reference/radio/send-number)
|
||||
* **receive number** : [read more...](/microbit/reference/radio/receive-number)
|
||||
```cards
|
||||
basic.showNumber(0)
|
||||
input.acceleration(Dimension.X)
|
||||
led.plotBarGraph(0, 1023)
|
||||
radio.onDataReceived(() => {})
|
||||
radio.sendNumber(0)
|
||||
radio.receiveNumber()
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -35,24 +34,3 @@ Learn the functions of **on data received**, **send number** and **receive numbe
|
||||
* learn how to register code to run when a packet is received over radio
|
||||
* learn how to broadcast a number data packet to other micro:bits connected via radio
|
||||
* learn how to read the next radio packet as a number data packet
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/charting/activity)
|
||||
|
||||
|
@ -13,15 +13,17 @@ Welcome! This activity will teach how to use the 1st micro:bit to chart the seco
|
||||
Let's measure `acceleration (mg)` and then `send number`. `Acceleration` is measured in **milli-gravities**, so a value of -1000 is equivalent to -1g or -9.81m/s^2. We will be able to get the acceleration value (g-force), in the specified "x" dimension. `Send number` will broadcast a number data packet to other micro:bits connected via radio.
|
||||
|
||||
```blocks
|
||||
radio.sendNumber(input.acceleration(Dimension.X))
|
||||
radio.sendNumber(input.acceleration(Dimension.X));
|
||||
```
|
||||
|
||||
We want to display the acceleration forever. In order to do so, we need a `forever` loop. A forever loop will repeat code in the background forever.
|
||||
|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
radio.sendNumber(input.acceleration(Dimension.X))
|
||||
})
|
||||
radio.sendNumber(input.acceleration(Dimension.X));
|
||||
});
|
||||
|
||||
|
||||
```
|
||||
|
||||
We want to register code to run when a packet is received over radio. We can implement this code by adding `on data received`.
|
||||
|
@ -1,6 +1,6 @@
|
||||
# classic beatbox
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -11,9 +11,7 @@ Music
|
||||
* [activity](/microbit/lessons/classic-beatbox/activity)
|
||||
* [challenges](/microbit/lessons/classic-beatbox/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,40 +21,3 @@ Learn how to make a beatbox music player using pins P1 and P2. We will be learni
|
||||
|
||||
* learn how to code music on the BBC micro:bit
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/classic-beatbox/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/classic-beatbox/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/classic-beatbox/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# compass lesson
|
||||
|
||||
create a die on the BBC micro:bit #button #pressed #math #random #var #string #if #docs
|
||||
create a die on the BBC micro:bit.
|
||||
|
||||
### @video td/videos/compass-0
|
||||
|
||||
@ -12,10 +12,8 @@ If (Conditionals)
|
||||
|
||||
* [activity](/microbit/lessons/compass/activity)
|
||||
* [challenges](/microbit/lessons/compass/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/compass/quiz)
|
||||
* [quiz answers](/microbit/lessons/compass/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,14 +21,20 @@ Learn how to use an if statements to run code run code depending on whether a co
|
||||
|
||||
## Documentation
|
||||
|
||||
* **Compass Heading** : [read more...](/microbit/reference/input/compass-heading)
|
||||
* **Forever** : [read more...](/microbit/reference/basic/forever)
|
||||
* **Variables** : [read more...](/microbit/reference/variables/var)
|
||||
* **Assignment Operator** : [read more...](/microbit/reference/variables/assign)
|
||||
* **If** : [read more...](/microbit/reference/logic/if)
|
||||
* **Comparison Operator** : [read more...](/microbit/reference/types/number)
|
||||
* **Show String** : [read more...](/microbit/reference/basic/show-string)
|
||||
* **Show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
```cards
|
||||
input.compassHeading()
|
||||
basic.forever(() => {})
|
||||
let x = 0
|
||||
if (true) {}
|
||||
basic.showString("Hello!")
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -41,57 +45,3 @@ Learn how to use an if statements to run code run code depending on whether a co
|
||||
* learn how to return a random number
|
||||
* learn how to conditionally run code depending on whether a condition is true or not
|
||||
* learn how to show an image on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information(AB)
|
||||
* Uses filters or can perform single criteria searches for information.(AL)
|
||||
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
|
||||
* Defines data types: real numbers and Boolean (AB)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/compass/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/compass/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/compass/challenges)
|
||||
|
||||
|
@ -41,7 +41,7 @@ If `degrees` is less than 135, the micro:bit is mostly pointing East. Display `E
|
||||
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
@ -57,7 +57,7 @@ If `degrees` is less than 225, the micro:bit is mostly pointing South. Display `
|
||||
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
@ -76,7 +76,7 @@ basic.forever(() => {
|
||||
If none of these conditions returned true, then the micro:bit must be pointing West. Display `W` on the micro:bit.
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
|
@ -7,7 +7,7 @@ Display the direction that the micro:bit is facing using the compass
|
||||
Complete the following [guided tutorial](/microbit/lessons/compass/activity), your code should look like this:
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
@ -30,7 +30,7 @@ basic.forever(() => {
|
||||
Instead of displaying `N` when the BBC micro:bit is pointing North, display a star to indicate the north star.
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
@ -61,7 +61,7 @@ basic.forever(() => {
|
||||
Instead of displaying just `N`, `W`, `S`, or `E`, display the full word.
|
||||
|
||||
```blocks
|
||||
let degrees = null;
|
||||
let degrees = 0;
|
||||
basic.forever(() => {
|
||||
degrees = input.compassHeading();
|
||||
if (degrees < 45) {
|
||||
|
@ -14,41 +14,39 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
Gets the compass heading of the micro:bit in degrees
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let degrees = input.compassHeading()
|
||||
```
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
let degrees = input.compassHeading()
|
||||
if (degrees < 45) {
|
||||
basic.showString("N", 150)
|
||||
}
|
||||
```
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
|
||||
## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
let degrees = input.compassHeading()
|
||||
if (degrees < 135) {
|
||||
basic.showString("E", 150)
|
||||
}
|
||||
```
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
|
||||
## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
let degrees = input.compassHeading()
|
||||
if (degrees < 225) {
|
||||
basic.showString("S", 150)
|
||||
}
|
||||
|
@ -12,21 +12,15 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 1. What is the purpose of the 'compass heading' block?
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Write the code that stores the compass heading into a local variable called 'degrees'.
|
||||
|
||||
<br/>
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing North. Display 'N' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
|
||||
## 4. Write the 'If statement' that will check if the device is mostly pointing East. Display 'E' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
## 3. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
|
||||
## 5. Write the 'If statement' that will check if the device is mostly pointing South. Display 'S' on the micro:bit
|
||||
|
||||
<br />
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# counter lesson
|
||||
|
||||
Learn how to create a counter with with on button pressed. #show #number #screen #number #math #docs
|
||||
Learn how to create a counter with with on button pressed.
|
||||
|
||||
### @video td/videos/counter-0
|
||||
|
||||
@ -12,10 +12,8 @@ Variables
|
||||
|
||||
* [activity](/microbit/lessons/counter/activity)
|
||||
* [challenges](/microbit/lessons/counter/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/counter/quiz)
|
||||
* [quiz answers](/microbit/lessons/counter/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,6 +21,21 @@ Learn how to creating a **variable** to keep track of the current count. We will
|
||||
|
||||
## Documentation
|
||||
|
||||
```cards
|
||||
input.compassHeading()
|
||||
basic.forever(() => {})
|
||||
let x = 0
|
||||
if (true) {}
|
||||
basic.showString("Hello!")
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
* **variable**: [read more...](/microbit/reference/variables/var)
|
||||
* **arithmetic operators**: [read more...](/microbit/reference/types/number)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
@ -35,41 +48,3 @@ Learn how to creating a **variable** to keep track of the current count. We will
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to show a number on the LED screen, one digit at a time (scrolling from left to right)
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Declares and assigns variables.(AB)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/counter/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/counter/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/counter/challenges)
|
||||
|
||||
|
@ -10,7 +10,7 @@ Answers may vary but a variable is a place where you can store and retrieve data
|
||||
|
||||
## 2. Draw the stored value for the variable called count
|
||||
|
||||
```
|
||||
```blocks
|
||||
let count = 0
|
||||
```
|
||||
|
||||
@ -22,11 +22,11 @@ We create a **variable**, `count` to keep track of the current count. The number
|
||||
|
||||
## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
|
||||
|
||||
```
|
||||
let count_ = 0
|
||||
input.onButtonPressed("A", () => {
|
||||
count_ = count_ + 1
|
||||
basic.showNumber(count, 150)
|
||||
```blocks
|
||||
let count = 0
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
count = count + 1
|
||||
basic.showNumber(count)
|
||||
})
|
||||
```
|
||||
|
||||
@ -38,11 +38,11 @@ We are only pressing on button pressed once. So the number to display on the mic
|
||||
|
||||
## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
|
||||
|
||||
```
|
||||
count_ = 0
|
||||
input.onButtonPressed("A", () => {
|
||||
count_ = count_ + 1
|
||||
basic.showNumber(count_, 100)
|
||||
```blocks
|
||||
let count = 0
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
count = + 1
|
||||
basic.showNumber(count)
|
||||
})
|
||||
```
|
||||
|
@ -16,7 +16,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 2. Draw the stored value for the variable called count
|
||||
|
||||
```
|
||||
```blocks
|
||||
let count = 0
|
||||
```
|
||||
|
||||
@ -26,11 +26,11 @@ let count = 0
|
||||
|
||||
## 3. Draw which LEDs are ON after running this code and pressing button "A" once. Explain you chose to draw that number
|
||||
|
||||
```
|
||||
let count_ = 0
|
||||
input.onButtonPressed("A", () => {
|
||||
count_ = count_ + 1
|
||||
basic.showNumber(count_, 100)
|
||||
```blocks
|
||||
let counts = 0
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
counts = counts + 1
|
||||
basic.showNumber(counts, 150)
|
||||
})
|
||||
```
|
||||
|
||||
@ -40,11 +40,11 @@ input.onButtonPressed("A", () => {
|
||||
|
||||
## 4. Draw which LEDs are ON after running this code and pressing button "A" three times. Explain you chose to draw that number
|
||||
|
||||
```
|
||||
count_ = 0
|
||||
input.onButtonPressed("A", () => {
|
||||
count_ = count_ + 1
|
||||
basic.showNumber(count_, 100)
|
||||
```blocks
|
||||
let counting= 0
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
counting = counting + 1
|
||||
basic.showNumber(counting, 100)
|
||||
})
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
# die roll lesson
|
||||
|
||||
create a die on the BBC micro:bit #button #pressed #math #random #var #string #if #docs
|
||||
create a die on the BBC micro:bit.
|
||||
|
||||
### @video td/videos/die-roll-0
|
||||
|
||||
@ -12,10 +12,8 @@ If (Conditionals)
|
||||
|
||||
* [activity](/microbit/lessons/die-roll/activity)
|
||||
* [challenges](/microbit/lessons/die-roll/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/die-roll/quiz)
|
||||
* [quiz answers](/microbit/lessons/die-roll/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,12 +21,19 @@ Learn how to use an if statements to run code run code depending on whether a co
|
||||
|
||||
## Documentation
|
||||
|
||||
* **Variables** : [read more...](/microbit/reference/variables/var)
|
||||
* **If** : [read more...](/microbit/blocks/if)
|
||||
* **On Shake** : [read more...](/microbit/reference/on-gesture)
|
||||
* **Assignment Operator** : [read more...](/microbit/reference/variables/assign)
|
||||
* **Pick Random** : [read more...](/microbit/blocks/math)
|
||||
* **Show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
```cards
|
||||
input.onGesture(Gesture.Shake, () => {})
|
||||
let x = 0
|
||||
Math.random(3)
|
||||
if (true) {}
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -39,57 +44,3 @@ Learn how to use an if statements to run code run code depending on whether a co
|
||||
* learn how to return a random number
|
||||
* learn how to conditionally run code depending on whether a condition is true or not
|
||||
* learn how to show an image on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information(AB)
|
||||
* Uses filters or can perform single criteria searches for information.(AL)
|
||||
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
|
||||
* Defines data types: real numbers and Boolean (AB)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/die-roll/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/die-roll/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/die-roll/challenges)
|
||||
|
||||
|
@ -8,7 +8,7 @@ These are the answers to the [die roll quiz](/microbit/lessons/die-roll/quiz).
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let roll = Math.random(6)
|
||||
```
|
||||
|
||||
@ -18,9 +18,10 @@ let roll = Math.random(6)
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let roll = Math.random(6)
|
||||
if (roll == 5) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. # . # .
|
||||
. . . . .
|
||||
. # . # .
|
||||
@ -36,9 +37,11 @@ if (roll == 5) {
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
|
||||
let roll = Math.random(6)
|
||||
if (roll == 5) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. # . # .
|
||||
. . . . .
|
||||
. # . # .
|
||||
@ -46,7 +49,7 @@ if (roll == 5) {
|
||||
. # . # .
|
||||
`)
|
||||
} else if (roll == 4) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
@ -64,9 +67,10 @@ Note: students are only required to write the bottom half of this answer, starti
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
let roll = Math.random(6)
|
||||
if (roll == 4) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
@ -74,7 +78,7 @@ if (roll == 4) {
|
||||
. . . . .
|
||||
`)
|
||||
} else if (roll == 3) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
@ -92,9 +96,10 @@ Note: students are only required to write the bottom half of this answer, starti
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
let roll = Math.random(6)
|
||||
if (roll == 3) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . . . .
|
||||
@ -102,7 +107,7 @@ if (roll == 3) {
|
||||
. . . . .
|
||||
`)
|
||||
} else if (roll == 2) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
# . . . .
|
||||
. . . . .
|
||||
. . # . .
|
@ -6,7 +6,7 @@ Create a die when the BBC micro:bit is shaken
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [die roll tutorial](/microbit/lessons/die-roll/tutorial).
|
||||
Use this activity document to guide your work in the [die roll tutorial](/microbit/lessons/die-roll/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
@ -1,6 +1,6 @@
|
||||
# digi yoyo lesson
|
||||
|
||||
create a counter with a while loop #while #loop #counter #docs
|
||||
create a counter with a while loop.
|
||||
|
||||
### @video td/videos/digi-yoyo-0
|
||||
|
||||
@ -12,10 +12,8 @@ While Loop
|
||||
|
||||
* [activity](/microbit/lessons/digi-yoyo/activity)
|
||||
* [challenges](/microbit/lessons/digi-yoyo/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/digi-yoyo/quiz)
|
||||
* [quiz answers](/microbit/lessons/digi-yoyo/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,12 +21,12 @@ Learn how to creating a **while loop**, `while condition do` to repeat code whil
|
||||
|
||||
## Documentation
|
||||
|
||||
* **variables** : [read more...](/microbit/reference/variables/var)
|
||||
* **assignment operator** : [read more...](/microbit/reference/variables/assign)
|
||||
* **while loop** : [read more...](/microbit/reference/loops/while)
|
||||
* **relational operator ** : [read more...](/microbit/reference/types/number)
|
||||
* **pause** : [read more...](/microbit/reference/basic/pause)
|
||||
* **show number** : [read more...](/microbit/reference/basic/show-number)
|
||||
```cards
|
||||
let x = 0
|
||||
basic.showNumber(0)
|
||||
while (true) {}
|
||||
basic.pause(20)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -39,50 +37,3 @@ Learn how to creating a **while loop**, `while condition do` to repeat code whil
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
* learn how to show a number on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
|
||||
* Recognises that different algorithms exist for the same problem (AL) (GE)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Uses filters or can perform single criteria searches for information.(AL)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/digi-yoyo/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/digi-yoyo/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/digi-yoyo/challenges)
|
||||
|
||||
|
@ -18,7 +18,6 @@ let count = 0
|
||||
|
||||
Add a while loop that will loop over and over until the variable `count` equals 10.
|
||||
|
||||

|
||||
|
||||
```blocks
|
||||
let count = 0
|
||||
@ -48,7 +47,7 @@ let count = 0
|
||||
while (count < 10) {
|
||||
basic.pause(100)
|
||||
basic.showNumber(count)
|
||||
count == count + 1
|
||||
count = count + (count - 1)
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -69,5 +69,7 @@ Now, we need `count` to decrease by one after the micro:bit has displayed the va
|
||||
We can do this by adding this line:
|
||||
|
||||
```blocks
|
||||
let count = count + (count - 1);
|
||||
let count = 0;
|
||||
count = count + (count - 1);
|
||||
|
||||
```
|
||||
|
@ -16,7 +16,7 @@ A loop that repeats code while a condition is true.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let count = 0
|
||||
```
|
||||
|
||||
@ -26,7 +26,8 @@ let count = 0
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let count = 0
|
||||
while (count < 5) {
|
||||
count = count + 1
|
||||
}
|
@ -6,7 +6,7 @@ Create a counter with a while loop
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [digi yoyo tutorial](/microbit/lessons/digi-yoyo/tutorial)
|
||||
Use this activity document to guide your work in the [digi yoyo tutorial](/microbit/lessons/digi-yoyo/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
@ -1,6 +1,6 @@
|
||||
# flashing heart blocks lesson
|
||||
|
||||
Learn how to create LED images with a global variable. #LED #screen #plot #docs
|
||||
Learn how to create LED images with a global variable.
|
||||
|
||||
### @video td/videos/flashing-heart-0
|
||||
|
||||
@ -14,21 +14,24 @@ Pause
|
||||
* [quiz](/microbit/lessons/flashing-heart/quiz)
|
||||
* [quiz answers](/microbit/lessons/flashing-heart/quiz-answers)
|
||||
* [challenges](/microbit/lessons/flashing-heart/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to `show LEDs` by showing an image on the LED screen. We will be learning how to create a blinking app using a forever loop as well as simple commands, such as show LEDs, pause, and clear screen.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **forever**: [read more...](/microbit/reference/basic/forever)
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **pause**: [read more...](/microbit/reference/basic/pause)
|
||||
* **clear screen**: [read more...](/microbit/reference/basic/clear-screen)
|
||||
```cards
|
||||
basic.forever(() => {})
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.pause(100)
|
||||
basic.clearScreen()
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -36,43 +39,3 @@ Learn how to `show LEDs` by showing an image on the LED screen. We will be learn
|
||||
* learn how to show LEDs on the LED screen
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
* learn how to turn off all the LED lights on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Declares and assigns variables.(AB)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Exercise
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/flashing-heart/activity)
|
||||
* [quiz](/microbit/lessons/flashing-heart/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/flashing-heart/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/flashing-heart/challenges)
|
||||
|
||||
|
@ -10,13 +10,15 @@ Pause program execution for the specified number of milliseconds.
|
||||
|
||||
## 2. Write the code that leaves an image on the screen for 1 second (1000 milliseconds)
|
||||
|
||||
<br/>
|
||||
|
||||

|
||||
```blocks
|
||||
basic.pause(1000)
|
||||
```
|
||||
|
||||
## 3. Write the code that leaves an image on the screen for 1.5 seconds (1500 milliseconds)
|
||||
|
||||

|
||||
```blocks
|
||||
basic.pause(1500)
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -12,19 +12,14 @@ Answer the questions while completing the activity. Pay attention to the dialogu
|
||||
|
||||
## 1. Describe what `pause` does?
|
||||
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Write the code that leaves an image on the screen for 1 second (1000 milliseconds)
|
||||
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
|
||||
|
||||
## 3. Write the code that leaves an image on the screen for 1.5 seconds (1500 milliseconds)
|
||||
|
||||
<br/>
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# game counter lesson
|
||||
|
||||
Learn how to create a counter with with on button pressed. #show #number #screen #number #math #docs
|
||||
Learn how to create a counter with with on button pressed.
|
||||
|
||||
### @video td/videos/counter-0
|
||||
|
||||
@ -13,61 +13,20 @@ Game Library
|
||||
* [activity](/microbit/lessons/game-counter/activity)
|
||||
* [challenges](/microbit/lessons/game-counter/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to create game blocks to keep track of the current score. We will be learning how to create a game using the blocks called `add points to score`, `score` as well as simple commands such as on button pressed and show number.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **game library**: [read more...](/microbit/js/game-library)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
* **show number** : [read more...](/microbit/reference/basic/show-number)
|
||||
```cards
|
||||
game.addScore(1)
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
basic.showNumber(0)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how arithmetic operators operate on numbers and return a number
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to show a score on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Declares and assigns variables.(AB)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/game-counter/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/game-counter/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/game-counter/challenges)
|
||||
|
||||
|
@ -11,67 +11,21 @@ Game Library
|
||||
* [activity](/microbit/lessons/game-of-chance/activity)
|
||||
* [challenges](/microbit/lessons/game-of-chance/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning / place of lesson in scheme of work
|
||||
|
||||
Learn how to creating a message with a **game over** to write your message. We will be learning how to create a message using show string and on button pressed.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **game library** : [read more...](/microbit/js/game-library)
|
||||
* **show string** : [read more...](/microbit/reference/basic/show-string)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
|
||||
```cards
|
||||
game.gameOver()
|
||||
basic.showString("Hello!")
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to use the game library
|
||||
* learn how to show a string on the LED screen one character at a time
|
||||
* learn how to use to register an event handler that will execute whenever an input button is pressed
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Uses criteria to evaluate the quality of solutions, can identify improvements making some refinements to the solution, and future solutions (EV)
|
||||
* Evaluates the appropriatness of digital devices, internet services and application software to achieve given goals (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/game-of-chance/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/game-of-chance/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/game-of-chance/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# glowing pendulum blocks lesson
|
||||
|
||||
construct a pendulum that glows using acceleration #var #acceleration #abs #brightness #plot #docs
|
||||
construct a pendulum that glows using acceleration.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,8 @@ Acceleration
|
||||
|
||||
* [activity](/microbit/lessons/glowing-pendulum/activity)
|
||||
* [challenges](/microbit/lessons/glowing-pendulum/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/glowing-pendulum/quiz)
|
||||
* [quiz answers](/microbit/lessons/glowing-pendulum/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -21,12 +19,20 @@ Learn how to get the acceleration **acceleration**, `acceleration` value (g-forc
|
||||
|
||||
## Documentation
|
||||
|
||||
* **forever** : [read more...](/microbit/reference/basic/forever)
|
||||
* **local variable** : [read more...](/microbit/reference/variables/var)
|
||||
* **acceleration** : [read more...](/microbit/reference/input/acceleration)
|
||||
* **absolute value** : [read more...](/microbit/js/math)
|
||||
* **set brightness** : [read more...](/microbit/reference/led/set-brightness)
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
```cards
|
||||
basic.forever(() => {})
|
||||
let x = 0
|
||||
input.acceleration(Dimension.X)
|
||||
Math.abs(0)
|
||||
led.setBrightness(255)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -37,49 +43,3 @@ Learn how to get the acceleration **acceleration**, `acceleration` value (g-forc
|
||||
* learn how to sets the brightness of the LED screen
|
||||
* learn how to turn on all the LED lights on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information(AB)
|
||||
* Uses filters or can perform single criteria searches for information.(AL)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/glowing-pendulum/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/glowing-pendulum/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/glowing-pendulum/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# glowing pendulum quiz answers
|
||||
|
||||
construct a pendulum that glows using acceleration #LED #number #math #acceleration #docs
|
||||
construct a pendulum that glows using acceleration.
|
||||
|
||||
## Name
|
||||
|
||||
@ -20,7 +20,7 @@ We are creating a forever loop to constantly display the appropriate brightness
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let acceleration = input.acceleration("y")
|
||||
```
|
||||
|
||||
@ -28,17 +28,20 @@ let acceleration = input.acceleration("y")
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
acceleration = math.abs(acceleration)
|
||||
```blocks
|
||||
let acceleration = input.acceleration(Dimension.X)
|
||||
let accelerationAbsolute = Math.abs(acceleration)
|
||||
```
|
||||
|
||||
## 4. Write the code that uses the acceleration value from question #3 to set the brightness on the BBC micro:bit.
|
||||
## 4. Write the code to use the acceleration value from question 3 to set the brightness on the BBC micro:bit.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
acceleration = acceleration / 4
|
||||
led.setBrightness(acceleration)
|
||||
```blocks
|
||||
let accelerationX = input.acceleration(Dimension.X)
|
||||
let accelerationAbsolute = Math.abs(accelerationX)
|
||||
let accelerationDivided = accelerationX / 4
|
||||
led.setBrightness(accelerationX)
|
||||
```
|
||||
|
||||
## 5. Write the code that tuns all the LEDs on (as the image displays below)
|
@ -1,12 +1,12 @@
|
||||
# glowing pendulum quiz
|
||||
|
||||
construct a pendulum that glows using acceleration #LED #number #math #acceleration #docs
|
||||
construct a pendulum that glows using acceleration.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [glowing pendulum tutorial](/microbit/lessons/glowing-pendulum/tutorial)
|
||||
Use this activity document to guide your work in the [glowing pendulum tutorial](/microbit/lessons/glowing-pendulum/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -22,7 +22,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
<br/>
|
||||
|
||||
## 4. Write the code that uses the acceleration value from question #3 to set the brightness on the BBC micro:bit.
|
||||
## 4. Write the code to include acceleration value question 3 to set the brightness on the BBC micro:bit.
|
||||
|
||||
<br/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
# glowing sword blocks lesson
|
||||
|
||||
make a glowing sword #image #docs
|
||||
make a glowing sword.
|
||||
|
||||
### @video td/videos/glowing-sword-0
|
||||
|
||||
@ -15,24 +15,10 @@ Fade Out
|
||||
* [quiz answers](/microbit/lessons/glowing-sword/quiz-answers)
|
||||
* [challenges](/microbit/lessons/glowing-sword/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to manipulate an image through **fade out**, `fade out` to gradually decrease the LED screen brightness until the LED lights are turned off. We will be learning how to fade an image using simple commands, such as image create image, image show image, LED fade out, basic pause, and fade in.
|
||||
|
||||
## What the teacher needs to know/QuickStart Computing Glossary
|
||||
|
||||
* Algorithm: An unambiguous set of rules or a precise step-bystep guide to solve a problem or achieve a particular objective.
|
||||
* Computational thinking: Thinking about systems or problems in a way that allows computer systems to be used to model or solve these.
|
||||
* Hardware: The physical systems and components of digital devices; see also software.
|
||||
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
|
||||
* Script: A computer program typically executed one line at a time through an interpreter, such as the instructions for a Scratch character.
|
||||
* Sequence: To place program instructions in order, with each executed one after the other.
|
||||
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **create image** : [read more...](/microbit/reference/images/create-image)
|
||||
@ -41,57 +27,4 @@ Learn how to manipulate an image through **fade out**, `fade out` to gradually d
|
||||
* **pause** : [read more...](/microbit/reference/basic/pause)
|
||||
* **fade in** : [read more...](/microbit/reference/led/fade-in)
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/glowing-sword/activity)
|
||||
* Activity: [quiz](/microbit/lessons/glowing-sword/quiz)
|
||||
* Extended Activity: [challenges](/microbit/lessons/glowing-sword/challenges)
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to plot an image
|
||||
* learn how to gradually decrease the LED screen brightness until the LED lights are turned off
|
||||
* pause your code for the specified number of milliseconds
|
||||
* learn how to gradually increase the LED screen brightness until the LED lights are turned on
|
||||
|
||||
## Links to the National Curriculum Programmes of Study for Computing
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/glowing-sword/activity)
|
||||
* [quiz](/microbit/lessons/lucky-7/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/glowing-sword/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/glowing-sword/challenges)
|
||||
|
||||
## Intended follow on
|
||||
|
||||
Publish script to the classroom.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# guess the number lesson
|
||||
|
||||
Learn to create a random number with input from button A. #input #screen #math #docs
|
||||
Learn to create a random number with input from button A.
|
||||
|
||||
### @video td/videos/guess-the-number-0
|
||||
|
||||
@ -12,10 +12,8 @@ Math - Pick Random
|
||||
|
||||
* [activity](/microbit/lessons/guess-the-number/activity)
|
||||
* [challenges](/microbit/lessons/guess-the-number/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/guess-the-number/quiz)
|
||||
* [quiz answers](/microbit/lessons/guess-the-number/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,12 +21,13 @@ Learn how to create numbers randomly by using the input of the BBC micro:bit. We
|
||||
|
||||
## Documentation
|
||||
|
||||
* **on button pressed**: [read more...](/microbit/reference/input/on-button-pressed)
|
||||
* **local variable **: [read more...](/microbit/reference/variables/var)
|
||||
* **assignment operator**: [read more...](/microbit/reference/variables/assign)
|
||||
* **show number**: [read more...](/microbit/reference/basic/show-number)
|
||||
* **pick number**: [read more...](/microbit/blocks/math)
|
||||
* **clear screen**: [read more...](/microbit/reference/basic/clear-screen)
|
||||
```cards
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
let x = 0
|
||||
basic.showNumber(0)
|
||||
Math.random(3)
|
||||
basic.clearScreen()
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -38,42 +37,3 @@ Learn how to create numbers randomly by using the input of the BBC micro:bit. We
|
||||
* learn how to returns a random number
|
||||
* learn how to show a number on the LED screen, one digit at a time (scrolling left to right)
|
||||
* learn how to turn off all the LED lights on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Declares and assigns variables.(AB)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/guess-the-number/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/guess-the-number/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/guess-the-number/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# guess the number quiz answers
|
||||
|
||||
Learn how to generate a random number on the micro:bit. #math #random #docs
|
||||
Learn how to generate a random number on the micro:bit.
|
||||
|
||||
This is the answer key for the [guess the number quiz](/microbit/lessons/guess-the-number/quiz).
|
||||
|
||||
@ -12,27 +12,29 @@ Answers may vary. Generally, on button pressed run code when an input button is
|
||||
|
||||
Write the line of code that creates a condition when the BBC micro:bit button A is pressed.
|
||||
|
||||
```
|
||||
input.onButtonPressed("A", () => {
|
||||
|
||||
```blocks
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
})
|
||||
```
|
||||
|
||||
## 3. Consider the following directions
|
||||
## 3. Write the line of code that creates a **local variable** and a **random number**.
|
||||
|
||||
Write the line of code that creates a **local variable** and a **random number**.
|
||||
|
||||
```
|
||||
|
||||
|
||||
```blocks
|
||||
let randomNumber = Math.random(10)
|
||||
```
|
||||
|
||||
## 4. Consider the following code
|
||||
|
||||
```
|
||||
randomNumber = Math.random(10)
|
||||
```
|
||||
|
||||
## 4.
|
||||
If the rectangle below represents the BBC micro:bit, shade the areas that will be displayed. Explain why that particular area is shaded.
|
||||
|
||||
```blocks
|
||||
let randomNumber = Math.random(10)
|
||||
```
|
||||
|
||||
|
||||

|
||||
|
||||
The random number generator will return a number from 0 to the limit. However, not including the limit unless the limit is 0. So you can place an X to represent any single digit number.
|
@ -1,12 +1,12 @@
|
||||
# guess the number quiz
|
||||
|
||||
Learn how to generate a random number on the micro:bit. #math #random #docs
|
||||
Learn how to generate a random number on the micro:bit.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [guess the number tutorial](/microbit/lessons/guess-the-number/tutorial).
|
||||
Use this activity document to guide your work in the [guess the number tutorial](/microbit/lessons/guess-the-number/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -24,7 +24,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 4. Draw the area that could be lit based on the code below. Explain why you chose to draw that number.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let randomNumber = Math.random(10)
|
||||
basic.showNumber(randomNumber, 150)
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
# hack your headphones lesson
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,6 @@ Hack your headphone
|
||||
|
||||
* [activity](/microbit/lessons/hack-your-headphones/activity)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to convert your BBC micro:bit into a music player using pins P0 and GND, headphones (or speakers), as well as crocodile clips (or spring clips).
|
||||
|
@ -54,3 +54,8 @@ You hacked your headphones!
|
||||
|
||||
Connect your micro:bit to your computer using your USB cable and program [light beatbox](/microbit/lessons/light-beatbox/activity) music on it. Press the reset button to restart your music player!
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
Excellent, you're ready to continue with the [challenges](/microbit/lessons/light-beatbox/activity)!
|
||||
|
||||
### ~
|
||||
|
@ -1,6 +1,6 @@
|
||||
# happy birthday blocks lesson
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -11,10 +11,6 @@ Music
|
||||
* [activity](/microbit/lessons/happy-birthday/activity)
|
||||
* [challenges](/microbit/lessons/happy-birthday/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to convert your BBC micro:bit into a music player using pins P0 and GND, earphones (or speakers), as well as crocodile clips (or spring clips). We will be learning how to code musical notes using simple commands such as play, keys, and notes.
|
||||
@ -26,50 +22,7 @@ Learn how to convert your BBC micro:bit into a music player using pins P0 and GN
|
||||
* Program: A stored set of instructions encoded in a language understood by the computer that does some form of computation, processing input and/or stored data to generate output.
|
||||
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/happy-birthday/activity)
|
||||
* Extended Activity: [challenges](/microbit/lessons/happy-birthday/challenges)
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to code music on the BBC micro:bit
|
||||
* learn how to setup the BBC micro:bit as a music player
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/happy-birthday/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/happy-birthday/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/happy-birthday/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# headbands lesson
|
||||
|
||||
create a charades game that can be played with your friends #data #string #collection #at #Boolean #on-logo-down #on-logo-up #running-time #string #number #docs
|
||||
create a charades game that can be played with your friends.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -8,10 +8,10 @@ Collection
|
||||
|
||||
## Quick Links
|
||||
|
||||
* [tutorial](/microbit/lessons/headbands/tutorial)
|
||||
* [activity](/microbit/lessons/headbands/activity)
|
||||
* [quiz](/microbit/lessons/headbands/quiz)
|
||||
* [quiz answers](/microbit/lessons/headbands/quiz-answers)
|
||||
* [challenges](/microbit/lessons/headbands/challenges)
|
||||
|
||||
|
||||
## Class
|
||||
|
@ -1,17 +1,11 @@
|
||||
# headbands challenges
|
||||
|
||||
These challenges will teach you how to create a fun charades game to play with your friends. #docs
|
||||
# headbands activity
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
Your beginning code should look like this:
|
||||
|
||||
* [tutorial](/microbit/lessons/headbands/tutorial)
|
||||
|
||||
At the tend of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("night")
|
||||
@ -32,9 +26,23 @@ game.startCountdown(30000)
|
||||
|
||||
Let's add more words for the player to act out! But first, we need to increase the time in one round to give the player more time get through all the words. Let's change the `game->start countdown` statement.
|
||||
|
||||
```
|
||||
// **. . .**
|
||||
game.startCountdown(60000) // ***
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("night")
|
||||
coll.push("cat")
|
||||
coll.push("cow")
|
||||
input.onLogoUp(() => {
|
||||
let index = Math.random(coll.length)
|
||||
let word = coll[index]
|
||||
basic.showString(word, 150)
|
||||
})
|
||||
input.onScreenDown(() => {
|
||||
game.addScore(1)
|
||||
})
|
||||
|
||||
game.startCountdown(60000)
|
||||
```
|
||||
|
||||
* Run your code to see if it works as expected
|
||||
@ -43,19 +51,26 @@ game.startCountdown(60000) // ***
|
||||
|
||||
Now let's add 5 more words to our list of charade words. Right above the the line `word:=coll->at(index)` add 5 lines that say `coll->add("")`. In this example, we will add the words **bicycle, telephone, sun, car, and ant** but you can add whatever words you like.
|
||||
|
||||
```
|
||||
// . . .
|
||||
coll.push("puppy")
|
||||
```blocks
|
||||
let coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("night")
|
||||
coll.push("cat")
|
||||
coll.push("cow")
|
||||
coll.push("bicycle") // ***
|
||||
coll.push("telephone") // ***
|
||||
coll.push("sun") // ***
|
||||
coll.push("car") // ***
|
||||
coll.push("ant") // ***
|
||||
// . . .
|
||||
coll.push("bicycle")
|
||||
coll.push("telephone")
|
||||
coll.push("sun")
|
||||
coll.push("car")
|
||||
coll.push("ant")
|
||||
input.onLogoUp(() => {
|
||||
let index = Math.random(coll.length)
|
||||
let word = coll[index]
|
||||
basic.showString(word, 150)
|
||||
})
|
||||
input.onScreenDown(() => {
|
||||
game.addScore(1)
|
||||
})
|
||||
game.startCountdown(30000)
|
||||
```
|
||||
|
||||
* Run your code to see if it works as expected.
|
@ -1,12 +1,12 @@
|
||||
# headbands quiz answers
|
||||
|
||||
create a charades game with a collection of strings #offset #screen #variables #docs
|
||||
create a charades game with a collection of strings.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [headbands tutorial](/microbit/lessons/headbands/tutorial).
|
||||
Use this activity document to guide your work in the [headbands tutorial](/microbit/lessons/headbands/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -18,8 +18,8 @@ A 'collection' is a group of variables of the same type stored together. A 'coll
|
||||
|
||||
## 2. Consider the following lines of code.
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
```
|
||||
@ -28,14 +28,14 @@ Write the line of code that will display the string "puppy" using `data->coll`.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
basic.showString(coll[0], 150)
|
||||
```
|
||||
|
||||
## 3. Consider the following lines of code.
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("cat")
|
||||
@ -45,22 +45,22 @@ Write the line of code that will display the string "cat" using `data->coll`.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
basic.showString(coll[2], 150)
|
||||
```
|
||||
|
||||
## 4. Consider the following line of code.
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
```
|
||||
|
||||
Write the five (5) lines of code that will add the following five words to `data->coll`: puppy, clock, night, cat, cow.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
coll.push("puppy")
|
||||
```blocks
|
||||
let coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("night")
|
||||
coll.push("cat")
|
||||
@ -71,7 +71,7 @@ coll.push("cow")
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let index = Math.random(coll.length)
|
||||
let word = coll[index]
|
||||
```
|
@ -1,12 +1,12 @@
|
||||
# headbands quiz
|
||||
|
||||
create a charades game with a collection of strings #offset #screen #variables #docs
|
||||
create a charades game with a collection of strings.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [headbands tutorial](/microbit/lessons/headbands/tutorial).
|
||||
Use this activity document to guide your work in the [headbands tutorial](/microbit/lessons/headbands/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -18,8 +18,8 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 2. Write the line of code that will display the string "puppy" using "data->coll".
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
```
|
||||
@ -28,8 +28,8 @@ coll.push("clock")
|
||||
|
||||
## 3. Write the line of code that will display the string "cat" using `"data->coll".
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
```blocks
|
||||
let coll = (<string[]>[])
|
||||
coll.push("puppy")
|
||||
coll.push("clock")
|
||||
coll.push("cat")
|
||||
@ -40,7 +40,7 @@ coll.push("cat")
|
||||
## 4. Write the five (5) lines of code that will add the following five words to `data->coll`: puppy, clock, night, cat, cow.
|
||||
|
||||
```
|
||||
coll = (<string[]>[])
|
||||
let coll = (<string[]>[])
|
||||
```
|
||||
|
||||
<br/>
|
@ -1,6 +1,6 @@
|
||||
# hero
|
||||
|
||||
make a game to test hand-eye coordination #docs #functions #var
|
||||
make a game to test hand-eye coordination.
|
||||
|
||||
Make a game to test hand-eye coordination
|
||||
|
||||
|
@ -39,8 +39,14 @@ ghost.change(LedSpriteProperty.Blink, 100);
|
||||
|
||||
We want to identify the food so the player moves towards the food. We need to set the `brightness` of the `variable` food to 8. The brightness of the LED screen is expressed as a number between 0 and 255.
|
||||
|
||||

|
||||
```blocks
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
|
||||
```
|
||||
|
||||
We want to include a block from the Loops drawer called `While`. Then set the `While` loop to `true`. This code will be important for repeating code of the game logic of the game. The game will continue to run using `While` loop while the Boolean condition is true. Finally, include a `pause` of 400 milliseconds before the logic of the game begins.
|
||||
|
||||
@ -50,52 +56,223 @@ let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400)
|
||||
basic.pause(400);
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
Let's create a function that will take care of keep the ghost pursuing the hero. We will need to a conditional statement that checks the position of the ghost and hero. The first condition will check if the horizontal coordinates of the ghost is less than the horizontal coordinates of the hero. We create a function from the Game drawer that will check the coordinates of the hero and the ghost. Finally, change the x-direction of the ghost by 1.
|
||||
|
||||
Then create another function that will take care of keep the ghost pursuing the hero. We will need to a conditional statement that checks the position of the ghost and hero. The second condition will check if the horizontal coordinates of the ghost is greater than the x-direction of hero. We create a function from the Game drawer that will check the x-direction of hero and ghost. Finally, change the x-direction of the ghost by -1.
|
||||
|
||||

|
||||
```blocks
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400);
|
||||
if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.X) > hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
else if (false) {
|
||||
}
|
||||
else if (false) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
Let's create the third function and forth function that continues the same logic in the y-direction of pacman and ghost. We create a function from the Game drawer that will check the y-direction of pacman and ghost. Finally, change the y-direction of the ghost to continue following pacman.
|
||||
|
||||

|
||||
```blocks
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400);
|
||||
if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
||||
Let's enable pacman to move in the x-direction and move in the y-direction with acceleration using the micor:bit sensor
|
||||
|
||||

|
||||
|
||||
**Do not disconnect the blocks for the conditional statements. We are focusing on this section of the code and are not showing the entire code**
|
||||
```blocks
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400);
|
||||
if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.X) > 200) {
|
||||
hero.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.X) < -200 ) {
|
||||
hero.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.Y) > 200) {
|
||||
hero.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.Y) > -200 ) {
|
||||
hero.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Let's setup the logic for the food. If hero is `touching` "food", increase the score of the game by 1 and `set` ``x`` -direction of food randomly randomly from 0 to 4 and `set` ``y``-direction of food randomly from 0 to 4.
|
||||
|
||||

|
||||
```blocks
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400);
|
||||
if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.X) > 200) {
|
||||
hero.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.X) < -200 ) {
|
||||
hero.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.Y) > 200) {
|
||||
hero.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.Y) > -200 ) {
|
||||
hero.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
if (hero.isTouching(food)) {
|
||||
game.addScore(1);
|
||||
food.set(LedSpriteProperty.X, Math.random(5));
|
||||
food.set(LedSpriteProperty.Y, Math.random(5));
|
||||
}
|
||||
|
||||
**Do not disconnect the blocks from the conditional statements. We are focusing on this section of the code and are not showing the entire code**
|
||||
}
|
||||
|
||||
Let's setup the logic for the food and the ghost to be in different quadrants.
|
||||
|
||||

|
||||
```
|
||||
|
||||
**Do not disconnect the blocks for the conditional statements. We are focusing on this section of the code and are not showing the entire code**
|
||||
|
||||
The game over component is now upon the game. If the hero is `touching` the ghost, let's display `game over`
|
||||
|
||||

|
||||
Let's setup the logic for the food and the ghost to be in different quadrants. Finally, the game over component is now upon the game. If the hero is `touching` the ghost, let's display `game over`
|
||||
|
||||
**Do not disconnect the conditional statements blocks from the remaining blocks. We are focusing on this section of the code and are not showing the entire code**
|
||||
```blocks
|
||||
|
||||
The game can also use the buttons. Let's create a `while` loop for button A is pressed. If button A is pressed, the micro:bit will display the word Hero. Let's use a `while` loop for button B is pressed. If button B is pressed, the micro:bit will display image of the hero.
|
||||
let hero = game.createSprite(2, 2);
|
||||
let food = game.createSprite(4, 4);
|
||||
let ghost = game.createSprite(0, 0);
|
||||
let ghost.change(LedSpriteProperty.Blink, 100);
|
||||
food = led.brightness() == 8;
|
||||
while (true) {
|
||||
basic.pause(400);
|
||||
if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.X) < hero.get(LedSpriteProperty.X)) {
|
||||
ghost.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) < hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (ghost.get(LedSpriteProperty.Y) > hero.get(LedSpriteProperty.Y)) {
|
||||
ghost.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.X) > 200) {
|
||||
hero.change(LedSpriteProperty.X, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.X) < -200 ) {
|
||||
hero.change(LedSpriteProperty.X, -1 );
|
||||
}
|
||||
if (input.acceleration(Dimension.Y) > 200) {
|
||||
hero.change(LedSpriteProperty.Y, 1);
|
||||
}
|
||||
else if (input.acceleration(Dimension.Y) > -200 ) {
|
||||
hero.change(LedSpriteProperty.Y, -1 );
|
||||
}
|
||||
if (hero.isTouching(food)) {
|
||||
game.addScore(1);
|
||||
food.set(LedSpriteProperty.X, Math.random(5));
|
||||
food.set(LedSpriteProperty.Y, Math.random(5));
|
||||
if (food.get(LedSpriteProperty.X) < 2 && food.get(LedSpriteProperty.Y) < 2) {
|
||||
ghost.set(LedSpriteProperty.X, 4);
|
||||
ghost.set(LedSpriteProperty.Y, 4);
|
||||
}
|
||||
else if (food.get(LedSpriteProperty.X) > 2 && food.get(LedSpriteProperty.Y) < 2) {
|
||||
ghost.set(LedSpriteProperty.X, 0);
|
||||
ghost.set(LedSpriteProperty.Y, 4);
|
||||
}
|
||||
else if (food.get(LedSpriteProperty.X) < 2 && food.get(LedSpriteProperty.Y) > 2) {
|
||||
ghost.set(LedSpriteProperty.X, 4);
|
||||
ghost.set(LedSpriteProperty.Y, 0);
|
||||
}
|
||||
else {
|
||||
ghost.set(LedSpriteProperty.X, 0);
|
||||
ghost.set(LedSpriteProperty.Y, 0);
|
||||
}
|
||||
}
|
||||
if (hero.isTouching(ghost)) {
|
||||
game.gameOver();
|
||||
}
|
||||
|
||||

|
||||
}
|
||||
0.set(LedSpriteProperty.X, 4);
|
||||
|
||||
|
||||
```
|
||||
|
||||
### ~avatar avatar
|
||||
|
||||
You can review the final code for [hero](/microbit/numraj)
|
||||
Congratulations! You have a homemade hero game based on the classic version of PacMan
|
||||
|
||||
### ~
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# light beatbox
|
||||
|
||||
display beautiful images on the BBC micro:bit #var #pause #docs
|
||||
display beautiful images on the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,6 @@ Music
|
||||
|
||||
* [activity](/microbit/lessons/light-beatbox/activity)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to make a light beatbox music player using the light sensor. We will be learning how to code musical notes using light level, a local variable, conditionals, on button pressed as well as simple commands such as ring tone and rest.
|
||||
@ -23,17 +19,3 @@ Learn how to make a light beatbox music player using the light sensor. We will b
|
||||
* learn how to control the light sensor on the BBC micro:bit
|
||||
* learn how to code music on the BBC micro:bit
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# looper blocks lesson
|
||||
|
||||
Learn to control blinking LEDs. #LED #screen #for #docs
|
||||
Learn to control blinking LEDs.
|
||||
|
||||
### @video td/videos/looper-0
|
||||
|
||||
@ -12,6 +12,9 @@ For Loop
|
||||
|
||||
* [activity](/microbit/lessons/looper/activity)
|
||||
* [challenges](/microbit/lessons/looper/challenges)
|
||||
* [quiz](/microbit/lessons/looper/quiz)
|
||||
* [quiz answers](/microbit/lessons/looper/quiz-answers)
|
||||
|
||||
|
||||
## Class
|
||||
|
||||
@ -23,10 +26,13 @@ Learn how to control a blinking LED. We will be learning how to create a blinkin
|
||||
|
||||
## Documentation
|
||||
|
||||
* **for**: [read more...](/microbit/reference/loops/for)
|
||||
* **show number**: [read more...](/microbit/reference/basic/show-number)
|
||||
* **pause**: [read more...](/microbit/reference/basic/pause)
|
||||
* **arithmetic operators**: [read more...](/microbit/reference/types/number)
|
||||
```cards
|
||||
for (let i = 0; i < 5; i++) {}
|
||||
basic.showNumber(0)
|
||||
basic.pause(100)
|
||||
|
||||
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -34,44 +40,3 @@ Learn how to control a blinking LED. We will be learning how to create a blinkin
|
||||
* learn how to show a number on the LED screen, one digit at a time (scrolling from left to right)
|
||||
* learn how to pause program execution for the specified number of milliseconds
|
||||
* learn how to arithmetic operators operate on numbers and return a number
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs. (AL)
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination. (AL) (GE)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 10 min.
|
||||
* [activity](/microbit/lessons/looper/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/looper/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/looper/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# looper quiz answers
|
||||
|
||||
Learn how to create a series of numbers with a for loop. #LED #screen #plot #docs
|
||||
Learn how to create a series of numbers with a for loop.
|
||||
|
||||
This is the answer key for the [looper quiz](/microbit/lessons/looper/quiz).
|
||||
|
||||
@ -10,7 +10,7 @@ Answers will vary. In general, for loop refers to the code that repeats for a fi
|
||||
|
||||
## 2. Consider the following code
|
||||
|
||||
```
|
||||
```blocks
|
||||
for (let i = 0; i < 4; i++) {
|
||||
basic.showNumber(i, 150)
|
||||
}
|
||||
@ -24,7 +24,7 @@ Let's create a for loop where `0` is the loop's starting value, `i` is the index
|
||||
|
||||
## 3. Consider the following code
|
||||
|
||||
```
|
||||
```blocks
|
||||
for (let i1 = 0; i1 < 6; i1++) {
|
||||
basic.showNumber(i1, 150)
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
# looper quiz
|
||||
|
||||
Learn how to create a series of numbers with a for loop. #LED #screen #plot #docs
|
||||
Learn how to create a series of numbers with a for loop.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [looper tutorial](/microbit/lessons/looper/tutorial)
|
||||
Use this activity document to guide your work in the [looper tutorial](/microbit/lessons/looper/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -16,7 +16,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 2. Draw the areas where the LEDs will be lit based on the code below. Explain why you chose to draw those numbers.
|
||||
|
||||
```
|
||||
```blocks
|
||||
for (let i = 0; i < 4; i++) {
|
||||
basic.showNumber(i, 150)
|
||||
}
|
||||
@ -28,7 +28,7 @@ for (let i = 0; i < 4; i++) {
|
||||
|
||||
## 3. Draw the areas where the LEDs will be lit based on the code below. Explain why you chose to draw those numbers.
|
||||
|
||||
```
|
||||
```blocks
|
||||
for (let i1 = 0; i1 < 6; i1++) {
|
||||
basic.showNumber(i1, 150)
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
# love meter blocks lesson
|
||||
|
||||
create a love meter with the BBC micro:bit #pin #pressed #string #if #var #pause #show #docs
|
||||
create a love meter with the BBC micro:bit.
|
||||
|
||||
### @video td/videos/love-meter-0
|
||||
|
||||
@ -15,103 +15,18 @@ On Pin Pressed
|
||||
* [quiz answers](/microbit/lessons/love-meter/quiz-answers)
|
||||
* [challenges](/microbit/lessons/love-meter/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to use the **pin pressed**, `on pin pressed` to run code when the user holds the GND pin with one hand, and presses pin 0 with the other hand, thus completing a circuit. We will be learning how to create a love meter using input on pin pressed, a local variable, math random, If (conditional) as well as simple commands, such as show number, pause, and show string.
|
||||
|
||||
## What the teacher needs to know/QuickStart Computing Glossary
|
||||
|
||||
* Hardware: The physical systems and components of digital devices; see also software.
|
||||
* Input: Data provided to a computer system, such as via a keyboard, mouse, microphone, camera or physical sensors.
|
||||
* Output: The information produced by a computer system for its user, typically on a screen, through speakers or on a printer, but possibly through the control of motors in physical systems.
|
||||
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
|
||||
* Script: A computer program typically executed one line at a time through an interpreter, such as the instructions for a Scratch character.
|
||||
* Variables: A way in which computer programs can store, retrieve or change data, such as a score, the time left, or the user’s name.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **on pin pressed** : [read more...](/microbit/reference/input/on-pin-pressed)
|
||||
* **local variable** : [read more...](/microbit/reference/variables/var)
|
||||
* **Boolean** : [read more...](/microbit/reference/types/boolean)
|
||||
* **math random** : [read more...](/microbit/js/math)
|
||||
* **show number** : [read more...](/microbit/reference/basic/show-number)
|
||||
* **pause** : [read more...](/microbit/reference/basic/pause)
|
||||
* **If** : [read more...](/microbit/reference/logic/if)
|
||||
* **show string** : [read more...](/microbit/reference/basic/show-string)
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/love-meter/activity)
|
||||
* Activity: [quiz](/microbit/lessons/love-meter/quiz)
|
||||
* Extended Activity: [challenges](/microbit/lessons/love-meter/challenges)
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to run code when the user holds the GND pin in one hand, and presses pin 0 with the other hand, thus completing a circuit; when you run a script with this function in a web browser, click pin 0 on the simulator
|
||||
* learn how to a create a variable for a place where you can store and retrieve data
|
||||
* learn how Boolean operators take Boolean inputs and evaluates to a Boolean output
|
||||
* learn how to return a random number
|
||||
* learn how to show a number on the LED screen
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
* learn how to conditionally run code depending on whether a condition is true or not
|
||||
* learn how to show a string on the LED screen one character at a time (scrolling from left to right)
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information(AB)
|
||||
* Uses filters or can perform single criteria searches for information.(AL)
|
||||
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
|
||||
* Defines data types: real numbers and Boolean (AB)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Makes judgements about digital content when evaluating and repurposing it for a given audience (EV) (GE)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/love-meter/activity)
|
||||
* [quiz](/microbit/lessons/love-meter/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/love-meter/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/love-meter/challenges)
|
||||
|
||||
```cards
|
||||
if (true) {}
|
||||
input.onPinPressed(TouchPin.P0, () => {})
|
||||
let x = 0
|
||||
Math.random(3)
|
||||
basic.showNumber(0)
|
||||
basic.pause(100)
|
||||
```
|
||||
|
@ -14,27 +14,33 @@ It's a method that runs code when the user holds the GND pin with a finger of on
|
||||
|
||||
Create a condition for `on pin pressed (P0)`.
|
||||
|
||||

|
||||
```blocks
|
||||
input.onPinPressed(TouchPin.P0, () => {
|
||||
|
||||
})
|
||||
```
|
||||
|
||||
## 3. What does this line of code doing?
|
||||
|
||||

|
||||
```blocks
|
||||
let x = Math.random(9)
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
It stores random number between 0 and 9 then stores that number in a variable.
|
||||
|
||||
## 4. Why do you have to add 1 to variable x?
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
```blocks
|
||||
let item = 0;
|
||||
item = 0;
|
||||
basic.showNumber(item + 1);
|
||||
```
|
||||
|
||||
You have to add 1 if you want to generate a random number between 1 and 10 .
|
||||
|
||||
## 5. Why do you have to hold ground (GND) to make this work on the micro:bit?
|
||||
|
||||
<br/>
|
||||
|
||||
You have told GND to complete the circuit.
|
||||
|
||||
|
@ -12,25 +12,28 @@ Answer the questions below while completing the activity. Pay attention to the d
|
||||
|
||||
## 1. Describe what `on pin pressed` does?
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Create a condition for on pin pressed (P0).
|
||||
|
||||
<br/>
|
||||
|
||||
## 3. Describe what this line of code does?
|
||||
|
||||

|
||||
```blocks
|
||||
let x = Math.random(9)
|
||||
```
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
## 4. Describe what adding 1 to variable x does?
|
||||
|
||||

|
||||
```blocks
|
||||
let item = 0;
|
||||
item = 0;
|
||||
basic.showNumber(item + 1);
|
||||
```
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
## 5. Describe why you must hold ground (GND) before pressing (P0) to run a program using `on pin pressed(P0)` on the micro:bit
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# lucky 7 blocks lesson
|
||||
|
||||
show a number on the LED screen #show #number #docs
|
||||
show a number on the LED screen.
|
||||
|
||||
### @video td/videos/lucky-7-0
|
||||
|
||||
@ -15,79 +15,8 @@ Show Number
|
||||
* [quiz answers](/microbit/lessons/lucky-7/quiz-answers)
|
||||
* [challenges](/microbit/lessons/lucky-7/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning / place of lesson in scheme of work
|
||||
|
||||
Learn how to display a number, `show number` to generate numbers. We will be learning how to create numbers using show number as well as simple commands, such as pause.
|
||||
|
||||
## What the teacher needs to know / QuickStart Computing Glossary
|
||||
|
||||
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
|
||||
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show number** : [read more...](/microbit/reference/basic/show-number)
|
||||
* **pause** : [read more...](/microbit/reference/basic/pause)
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/lucky-7/activity)
|
||||
* Activity: [quiz](/microbit/lessons/lucky-7/quiz)
|
||||
* Extended Activity: [challenges](/microbit/lessons/lucky-7/challenges)
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to show a number on the LED screen, one digit at a time
|
||||
* learn how to pause program execution for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
|
||||
* Understands that iteration is the repetition of a process such as a loop (AL)
|
||||
* Recognises that different algorithms exist for the same problem (AL) (GE)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Defines data types: real numbers and Boolean (AB)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Understands the difference between hardware and application software, and their roles within a computer system (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/lucky-7/activity)
|
||||
* [quiz](/microbit/lessons/lucky-7/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/lucky-7/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/lucky-7/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# magic 8 lesson
|
||||
|
||||
a fortune teller game with the BBC micro:bit #string #shake #clear-screen #if #string #number #var #docs
|
||||
a fortune teller game with the BBC micro:bit.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,8 @@ If (Conditionals)
|
||||
|
||||
* [activity](/microbit/lessons/magic-8/activity)
|
||||
* [challenges](/microbit/lessons/magic-8/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/magic-8/quiz)
|
||||
* [quiz answers](/microbit/lessons/magic-8/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -21,13 +19,14 @@ Learn how to creating **conditionals**, `if condition do` to conditionally run c
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show string** : [read more...](/microbit/reference/basic/show-string)
|
||||
* **show number** : [read more...](/microbit/reference/basic/show-number)
|
||||
* **on shake** : [read more...](/microbit/reference/input/on-gesture)
|
||||
* **clear screen** : [read more...](/microbit/reference/basic/clear-screen)
|
||||
* **variable** : [read more...](/microbit/reference/variables/var)
|
||||
* **pick number** : [read more...](/microbit/blocks/math)
|
||||
* **if** : [read more...](/microbit/reference/logic/if)
|
||||
```cards
|
||||
if (true) {}
|
||||
Math.random(3)
|
||||
input.onGesture(Gesture.Shake, () => {})
|
||||
basic.showNumber(7)
|
||||
basic.clearScreen()
|
||||
basic.showString("Hello!")
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -39,57 +38,3 @@ Learn how to creating **conditionals**, `if condition do` to conditionally run c
|
||||
* learn how to learn how to return a random number
|
||||
* learn how to learn how to conditionally run code depending on whether a condition is true or not
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information(AB)
|
||||
* Performs more complex searches for information e.g. using Boolean and relational operators(AL) (GE) (EV)
|
||||
* Defines data types: real numbers and Boolean (AB)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/magic-8/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/magic-8/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/magic-8/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# magic 8 quiz answers
|
||||
|
||||
create a magic 8 ball on the BBC micro:bit #math #random #docs
|
||||
create a magic 8 ball on the BBC micro:bit.
|
||||
|
||||
## Name
|
||||
|
||||
@ -18,21 +18,23 @@ An if statement will conditionally run code depending on whether or not a condit
|
||||
|
||||
## 2. Create a Variable called ``x`` and assign it to a random number between 0 and 2.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let x = Math.random(3)
|
||||
```
|
||||
|
||||
## 3. Write the 'if statement' to check if ``x`` is equal to 2. Inside the 'if statement', display the string "Yes".
|
||||
|
||||
```
|
||||
```blocks
|
||||
let x = Math.random(3)
|
||||
if (x == 2) {
|
||||
basic.showString("Yes", 150)
|
||||
}
|
||||
```
|
||||
|
||||
## 3. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
|
||||
## 4. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
|
||||
|
||||
```
|
||||
```blocks
|
||||
let x = Math.random(3)
|
||||
if (x == 2) {
|
||||
basic.showString("Yes", 150)
|
||||
} else if (x == 1) {
|
||||
@ -42,7 +44,8 @@ if (x == 2) {
|
||||
|
||||
## 5. Write the code to display the string "I don't know" if the Variable ``x`` is neither 2 nor 1.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let x = Math.random(3)
|
||||
if (x == 2) {
|
||||
basic.showString("Yes", 150)
|
||||
} else if (x == 1) {
|
@ -1,12 +1,12 @@
|
||||
# magic 8 quiz
|
||||
|
||||
create a magic 8 ball on the BBC micro:bit #math #random #docs
|
||||
create a magic 8 ball on the BBC micro:bit.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [magic 8 tutorial](/microbit/lessons/magic-8/tutorial).
|
||||
Use this activity document to guide your work in the [magic 8 tutorial](/microbit/lessons/magic-8/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -22,7 +22,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
<br />
|
||||
|
||||
## 3. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
|
||||
## 4. Write the 'if statement' to check if ``x`` is equal to 1. Inside the 'if statement', display the string "No."
|
||||
|
||||
<br />
|
||||
|
@ -1,6 +1,6 @@
|
||||
# magic logo lesson
|
||||
|
||||
show an image that points up when the logo is up #logo #point #docs
|
||||
show an image that points up when the logo is up.
|
||||
|
||||
### @video td/videos/magic-logo-0
|
||||
|
||||
@ -12,20 +12,25 @@ On Logo Up
|
||||
|
||||
* [activity](/microbit/lessons/magic-logo/activity)
|
||||
* [challenges](/microbit/lessons/magic-logo/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/magic-logo/challenges)
|
||||
* [quiz answers](/microbit/lessons/magic-logo/challenges)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to plot image **on logo up**, `on logo up` to run code when the micro:bit screen is facing up and vertically orientated. We will be learning how to plot an image with the logo up, basic show LEDs, and logo down.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **on logo up** : [read more...](/microbit/functions/on-logo-up)
|
||||
* **show leds** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **on logo down** : [read more...](/microbit/functions/on-logo-down)
|
||||
```cards
|
||||
input.onLogoUp(() => {})
|
||||
input.onLogoDown(() => {})
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -33,43 +38,3 @@ Learn how to plot image **on logo up**, `on logo up` to run code when the micro:
|
||||
* learn how to run code when the micro:bit screen is facing down and vertically orientated
|
||||
* learn how to run code when the micro:bit screen is facing up and vertically orientated
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Recognises the audience when designing and creating digital content (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/magic-logo/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/magic-logo/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/magic-logo/challenges)
|
||||
|
||||
|
@ -22,7 +22,7 @@ When the micro:bit goes logo up, the code nested under the `on logo up` function
|
||||
|
||||
```blocks
|
||||
input.onLogoUp(() => {
|
||||
basic.showAnimation(`
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. # # # .
|
||||
# # # # #
|
||||
@ -31,6 +31,7 @@ input.onLogoUp(() => {
|
||||
`)
|
||||
})
|
||||
|
||||
|
||||
```
|
||||
|
||||
Run your code and try to turn around the micro:bit to see the **logo up** event in action!
|
||||
|
@ -8,7 +8,7 @@ Complete the [magic logo](/microbit/lessons/magic-logo/activity) activity and yo
|
||||
|
||||
```blocks
|
||||
input.onLogoUp(() => {
|
||||
basic.showAnimation(`
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. # # # .
|
||||
# # # # #
|
||||
@ -28,7 +28,7 @@ How about when the logo is down? We should display an arrow pointing downward!
|
||||
|
||||
```blocks
|
||||
input.onLogoUp(() => {
|
||||
basic.showAnimation(`
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. # # # .
|
||||
# # # # #
|
||||
@ -37,7 +37,7 @@ input.onLogoUp(() => {
|
||||
`)
|
||||
})
|
||||
input.onLogoDown(() => {
|
||||
basic.showAnimation(`
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. . # . .
|
||||
# # # # #
|
||||
|
@ -1,6 +1,6 @@
|
||||
# magic logo quiz answers
|
||||
|
||||
show an image that points up when the logo is up #logo #show #create #docs
|
||||
show an image that points up when the logo is up.
|
||||
|
||||
## Name
|
||||
|
||||
@ -16,30 +16,35 @@ A function that will run code when the BBC micro:bit screen is facing up and ver
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Consider the following directions
|
||||
## 2. Write the condition that detects when the BBC micro:bit logo is facing up and vertically orientated.
|
||||
|
||||
The `logo up` event is raised when...
|
||||
|
||||
* the screen is facing up and the board is horizontal
|
||||
* the screen is facing down and the board is horizontal
|
||||
* the board is vertical and the logo is facing up
|
||||
|
||||
Write the condition that detects when the BBC micro:bit logo is facing up and vertically orientated.
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
input.onLogoUp(() => {
|
||||
})
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
## 3. Consider the following animation
|
||||
## 3. Write the code to display a downward pointing arrow when the logo is down.
|
||||
|
||||

|
||||
|
||||
Write the code to display a downward pointing arrow when the logo is down.
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
input.onLogoDown(() => {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. . # . .
|
||||
# # # # #
|
22
docs/lessons/magic-logo/quiz.md
Normal file
22
docs/lessons/magic-logo/quiz.md
Normal file
@ -0,0 +1,22 @@
|
||||
# magic logo quiz
|
||||
|
||||
show an image that points up when the logo is up.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use the hints from the [magic logo activity](/microbit/lessons/magic-logo/activity) to answer this quiz!
|
||||
|
||||
## 1. Define what `input->on logo up` does
|
||||
|
||||
<br/>
|
||||
|
||||
## 2. Write the condition that detects when the BBC micro:bit logo is facing up and vertically orientated.
|
||||
|
||||
## 3. Write the code to display a downward pointing arrow when the BBC micro:bit logo is down.
|
||||
|
||||

|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# night light lesson
|
||||
|
||||
change the brightness of the BBC micro:bit #brightness #plot #docs
|
||||
change the brightness of the BBC micro:bit.
|
||||
|
||||
### @video td/videos/night-light-0
|
||||
|
||||
@ -12,10 +12,8 @@ Set Brightness
|
||||
|
||||
* [activity](/microbit/lessons/night-light/activity)
|
||||
* [challenges](/microbit/lessons/night-light/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/night-light/quiz)
|
||||
* [quiz answers](/microbit/lessons/night-light/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -23,9 +21,17 @@ Learn how to **set brightness** of an image `set brightness` to set the brightne
|
||||
|
||||
## Documentation
|
||||
|
||||
* **set brightness** : [read more...](/microbit/reference/led/set-brightness)
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
```cards
|
||||
led.setBrightness(255)
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
@ -33,39 +39,3 @@ Learn how to **set brightness** of an image `set brightness` to set the brightne
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to turn on all LEDs
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Recognises that different algorithms exist for the same problem (AL) (GE)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
* Can identify similarities and differences in situations and can use these to solve problems (pattern recognition)(GE)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution (EV)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/night-light/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/night-light/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/night-light/challenges)
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# night light quiz answers
|
||||
|
||||
Answers to the night light quiz. #LED #image #brightness #fade #docs
|
||||
Answers to the night light quiz.
|
||||
|
||||
This is the answer key for the [night light quiz](/microbit/lessons/night-light/quiz).
|
||||
|
||||
@ -16,9 +16,15 @@ If the rectangle above represents the BBC micro:bit, write the code to set all t
|
||||
|
||||
<br />
|
||||
|
||||
```
|
||||
```blocks
|
||||
led.setBrightness(255)
|
||||
led.plotAll()
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
`)
|
||||
```
|
||||
|
||||
## 3. Consider the following image
|
||||
@ -29,9 +35,15 @@ If the rectangle above represents the BBC micro:bit, write the code to set the s
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
led.setBrightness(128)
|
||||
led.plotAll()
|
||||
basic.showLeds(`
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
# # # # #
|
||||
`)
|
||||
```
|
||||
|
||||
## 4. Consider the following image
|
||||
@ -40,7 +52,7 @@ led.plotAll()
|
||||
|
||||
If the rectangle above represents the BBC micro:bit, write the code to turn off all the LEDs.
|
||||
|
||||
```
|
||||
```blocks
|
||||
led.setBrightness(0)
|
||||
```
|
||||
|
@ -1,12 +1,12 @@
|
||||
# night light quiz
|
||||
|
||||
change the brightness of the BBC micro:bit #LED #image #brightness #fade #docs
|
||||
change the brightness of the BBC micro:bit.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [night light tutorial](/microbit/lessons/night-light/tutorial)
|
||||
Use this activity document to guide your work in the [night light tutorial](/microbit/lessons/night-light/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
@ -4,13 +4,9 @@ Coding challenges for the offset image tutorial. #docs
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
Complete the following exercise. Your code should look like this:
|
||||
|
||||
* [tutorial](/microbit/lessons/offset-image/tutorial)
|
||||
|
||||
At the end of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
```blocks
|
||||
offset = 0
|
||||
basic.forever(() => {
|
||||
if (offset == -4) {
|
||||
@ -24,7 +20,7 @@ basic.forever(() => {
|
||||
. . # . .
|
||||
`).showImage(offset)
|
||||
})
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
offset = offset + 1
|
||||
})
|
||||
```
|
||||
@ -47,10 +43,10 @@ basic.forever(() => {
|
||||
. . # . .
|
||||
`).showImage(offset)
|
||||
})
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
offset = offset + 1
|
||||
})
|
||||
input.onButtonPressed("B", () => {
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
offset = offset - 1 // ***
|
||||
}) // ***
|
||||
```
|
||||
@ -82,10 +78,10 @@ basic.forever(() => {
|
||||
. . # . .
|
||||
`).showImage(offset)
|
||||
})
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
offset = offset + 1
|
||||
})
|
||||
input.onButtonPressed("B", () => {
|
||||
input.onButtonPressed(Button.B, () => {
|
||||
offset = offset - 1
|
||||
})
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
# offset image quiz answers
|
||||
|
||||
shift an image horizontally across the display with offset #offset #screen #variables #docs
|
||||
shift an image horizontally across the display with offset.
|
||||
|
||||
This is the answer key for the [offset image quiz](/microbit/lessons/offset-image/quiz).
|
||||
|
||||
@ -41,7 +41,7 @@ Write the two lines of code that cause the `variable` offset to increase by one
|
||||
<br/>
|
||||
|
||||
```
|
||||
input.onButtonPressed("A", () => {
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
offset = offset + 1
|
||||
})
|
||||
```
|
@ -1,6 +1,6 @@
|
||||
# offset image quiz
|
||||
|
||||
shift an image horizontally across the display with offset #offset #screen #variables #docs
|
||||
shift an image horizontally across the display with offset.
|
||||
|
||||
## Name
|
||||
|
@ -1,80 +0,0 @@
|
||||
# ornament chain activity
|
||||
|
||||
Build a telgraph
|
||||
|
||||
# micro:bit Ornament Chain
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
In this project, you will build your ornament chain between micro:bits. Project duration: 15 minutes.
|
||||
|
||||
## Materials
|
||||
|
||||
* micro:bit, battery holder and 2 AAA batteries
|
||||
* Crocodile clips
|
||||
|
||||
## Steps
|
||||
|
||||
### Step 1
|
||||
|
||||

|
||||
|
||||
Using the 1st crocodile clip, connect the end of the crocodile clip onto GND pin on the micro:bit.
|
||||
|
||||
### Step 2
|
||||
|
||||

|
||||
|
||||
Using the 2nd crocodile clip, connect the end of the crocodile clip onto the 3V pin on the micro:bit.
|
||||
|
||||
### Step 3
|
||||
|
||||

|
||||
|
||||
Using the 3rd crocodile clip, connect the end of the crocodile clip onto pin 1 of the micro:bit.
|
||||
|
||||
### Step 4
|
||||
|
||||

|
||||
|
||||
Using the 4th crocodile clip, connect the end of the crocodile clip onto pin 2 of the micro:bit.
|
||||
|
||||
### Step 5
|
||||
|
||||

|
||||
|
||||
Using the 1st crocodile clip, connect the unattached end of the crocodile clip onto the GND on the 2nd micro:bit.
|
||||
|
||||
### Step 6
|
||||
|
||||

|
||||
|
||||
Using the 2nd crocodile clip, connect the unattached end of the crocodile clip onto the 3V pin on the 2nd micro:bit.
|
||||
|
||||
### Step 7
|
||||
|
||||

|
||||
|
||||
Using the 3rd crocodile clip, connect the unattached end of the crocodile clip onto pin 2 of the 2nd micro:bit.
|
||||
|
||||
### Step 8
|
||||
|
||||

|
||||
|
||||
Using the 4th crocodile clip, connect the unattached end of the crocodile clip onto pin 1 of the 2nd micro:bit
|
||||
|
||||
### Step 9
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Your ornament chain is ready!
|
||||
|
||||
### Step 10
|
||||
|
||||
* Connect the first micro:bit to your computer using your USB cable and run the [ornament chain](/microbit/fcicvk) script on it.
|
||||
* Connect the second micro:bit to your computer using your USB cable and run the [ornament chain](/microbit/fcicvk) script on it.
|
||||
* The first person and second person take turns pressing button A to start the ornament chain game!
|
@ -1,6 +1,6 @@
|
||||
# pogo lesson
|
||||
|
||||
create a game that relies on precise instincts and timing reflexes #if # #function #data #forever #var #button #if #assignment #pause #string #number #docs
|
||||
create a game that relies on precise instincts and timing reflexes #if #.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,24 +10,30 @@ Running Time
|
||||
|
||||
* [activity](/microbit/lessons/pogo/activity)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to use running time. We will be learning how to create a pogo game using variables, forever loop, conditionals, on button pressed, as well as simple commands, such as show LEDs and clear screen.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **variable** : [read more...](/microbit/reference/variables/var)
|
||||
* **arithmetic operator** : [read more...](/microbit/reference/types/number)
|
||||
* **forever** : [read more...](/microbit/reference/basic/forever)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
* **if** : [read more...](/microbit/reference/logic/if)
|
||||
* **clear screen** : [read more...](/microbit/reference/basic/clear-screen)
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
|
||||
```cards
|
||||
let jumps = 0
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
basic.showNumber(0)
|
||||
radio.receiveNumber()
|
||||
led.stopAnimation()
|
||||
radio.sendNumber(0)
|
||||
basic.forever(() => { })
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
if (true) {}
|
||||
radio.onDataReceived(() => { })
|
||||
```
|
||||
## Objectives
|
||||
|
||||
* learn how to create a function as a unit of code that performs a specific task and returns a result
|
||||
@ -36,25 +42,3 @@ Learn how to use running time. We will be learning how to create a pogo game usi
|
||||
* learn how to conditionally run code depending on whether a condition is true or not
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Designs solutions (algorithms) that use repetition and two-way selection, ie if, then and else.(AL)
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Declares and assigns variables(AB)
|
||||
* Uses post-tested loop e.g.‘until’,and a sequence of selection statements in programs,including an if,then and else statement(AL)
|
||||
* Understands the difference between, and appropriately uses if and if, then and else statements(AL)
|
||||
* Uses a variable and relational operators within a loop to govern termination (AL) (GE)
|
||||
* Uses a range of operators and expressions e.g. Boolean, and applies them in the context of program control. (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
|
@ -8,29 +8,159 @@ Welcome! This activity will teach how to construct a pendulum that glows using a
|
||||
|
||||
Create a **forever** loop that will constantly display the appropriate brightness on the LED display. Now let's measure the acceleration on the `y` axis and store that value in a variable. The `acceleration(y)` function will provide the value.
|
||||
|
||||

|
||||
```blocks
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
})
|
||||
```
|
||||
|
||||
Since the micro:bit will be swinging up and down, we need to store the variable called jumps. We will set the variable called jumps to 0 to store the number 0.
|
||||
|
||||

|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
})
|
||||
```
|
||||
|
||||
The function `acceleration(y)` gets the acceleration value (milli g-force), in the `y` dimension. If the `acceleration(y)`is greater than 2000 milli g-force, we will change jumps by 1.
|
||||
The function `acceleration(y)` gets the acceleration value (milli g-force), in the `y` dimension. If the `acceleration(y)`is greater than 2000 milli g-force, we will change jumps by 1. If jumping is greater than 2000 milli-gravities, then change jumps by 1 and display a smiley on the BBC micro:bit. Finally, we will remove the smiley image from the screen
|
||||
|
||||
If the `acceleration(y)`is greater than 2000 milli g-force, we will display the image with `show LEDs` to display a smiley face on the LEDs and `clear screen` to to turn off all the LED lights on the LED screen.
|
||||
|
||||

|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
if (acc > 2000) {
|
||||
jumps = jumps + 1;
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
Now let's register an event handler that will execute whenever an input button (A) is pressed during program execution.
|
||||
Now let's register an event handler that will execute whenever an input button (A) is pressed during program execution. If you press button A, then show the number of jumps greater than 2000 milli-gravities on the BBC micro:bit.
|
||||
|
||||

|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
if (acc > 2000) {
|
||||
jumps = jumps + 1;
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
}
|
||||
})
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
```
|
||||
|
||||
Let's show what the brightness of the micro:bit is by turning all the LEDs on!
|
||||
If you press button A+B together, then reset the jump counter to 0 on the BBC micro:bit. Finally, we will show the show the jump counter on the micro:bit
|
||||
|
||||

|
||||
|
||||
### ~avatar avatar
|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
if (acc > 2000) {
|
||||
jumps = jumps + 1;
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
}
|
||||
})
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
input.onButtonPressed(Button.AB, () => {
|
||||
let jumps = 0
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
|
||||
Excellent, you're ready to continue with the [challenges](/microbit/lessons/glowing-pendulum/challenges)!
|
||||
```
|
||||
|
||||
### ~
|
||||
We want to setup the radio communication between an additional micro:bit. We first must send number for jumps. The additional micro:bit will receive the number and show number on data received. We are now displaying the current jump count on the second micro:bit
|
||||
|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
if (acc > 2000) {
|
||||
jumps = jumps + 1;
|
||||
radio.sendNumber(jumps)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
}
|
||||
})
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
input.onButtonPressed(Button.AB, () => {
|
||||
let jumps = 0
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
radio.onDataReceived(() => {
|
||||
basic.showNumber(radio.receiveNumber())
|
||||
})
|
||||
|
||||
```
|
||||
We want to stop animation so every time the number of jumps increase by 1 the second micro:bit will not also display smiley from show leds. So we add the code stop animation
|
||||
|
||||
```blocks
|
||||
let jumps = 0
|
||||
basic.forever(() => {
|
||||
let acc = input.acceleration(Dimension.Y)
|
||||
if (acc > 2000) {
|
||||
jumps = jumps + 1;
|
||||
radio.sendNumber(jumps)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. # . # .
|
||||
. . # . .
|
||||
# . . . #
|
||||
. # # # .
|
||||
`)
|
||||
basic.clearScreen()
|
||||
}
|
||||
})
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
input.onButtonPressed(Button.AB, () => {
|
||||
let jumps = 0
|
||||
basic.showNumber(jumps)
|
||||
})
|
||||
radio.onDataReceived(() => {
|
||||
basic.showNumber(radio.receiveNumber())
|
||||
led.stopAnimation()
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
|
||||
Connect the first micro:bit to your computer using your USB cable and run the pogo script on it.
|
||||
Connect the second micro:bit to your computer using your USB cable and run the pogo script on it.
|
||||
The first person and second person take turns jumping in the “y” direction while the other player uses the micro:bit to track the results on the micro:bit!
|
||||
|
9
docs/lessons/prank-wifi.md
Normal file
9
docs/lessons/prank-wifi.md
Normal file
@ -0,0 +1,9 @@
|
||||
# prank wifi lesson
|
||||
|
||||
create a fake wifi app to trick your friends.
|
||||
|
||||
create a fake wifi app to trick your friends
|
||||
|
||||
* [activity](/microbit/lessons/prank-wifi/activity)
|
||||
* [quiz](/microbit/lessons/prank-wifi/quiz)
|
||||
* [quiz answers](/microbit/lessons/prank-wifi/quiz-answers)
|
@ -4,46 +4,42 @@ create a fake wifi app to trick your friends. #docs
|
||||
|
||||
## Before we get started
|
||||
|
||||
Complete the following guided tutorial:
|
||||
Complete the following exercise. Your code should look like this:
|
||||
|
||||
* [tutorial](/microbit/lessons/prank-wifi/tutorial)
|
||||
|
||||
At the end of the tutorial, click `keep editing`. Your code should look like this:
|
||||
|
||||
```
|
||||
```blocks
|
||||
basic.showString("Check Wifi", 150)
|
||||
basic.forever(() => {
|
||||
let xAccel = math.abs(input.acceleration("x"))
|
||||
let yAccel = math.abs(input.acceleration("y"))
|
||||
let zAccel = math.abs(input.acceleration("z"))
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum = xAccel + yAccel + zAccel
|
||||
if (sum < 1400) {
|
||||
basic.plotImage(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. # # . .
|
||||
# # # . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. # # . .
|
||||
# # # . .
|
||||
`)
|
||||
} else if (sum >= 1400 && sum < 1680) {
|
||||
basic.plotImage(`
|
||||
. . . . .
|
||||
. . . # .
|
||||
. . # # .
|
||||
. # # # .
|
||||
# # # # .
|
||||
`)
|
||||
}
|
||||
else if (sum >= 1680) {
|
||||
basic.plotImage(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
# . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . # .
|
||||
. . # # .
|
||||
. # # # .
|
||||
# # # # .
|
||||
`)
|
||||
} else if (sum >= 1680) {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
# . . . .
|
||||
`)
|
||||
}
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
**Challenge 1**
|
||||
@ -52,19 +48,17 @@ What if wanted to show the maximum connectivity of wifi instead of just 1, 3, or
|
||||
|
||||
Let's start by changing the first **IF** statement to `if sum <1200`.
|
||||
|
||||
Edit this line: **if** sum <1400 **then**
|
||||
Edit this line: if sum is greater than 1400 then just click on the `1400` and backspace until you can add your own number of `1200`.
|
||||
|
||||
Just click on the `1400` and backspace until you can add your own number of `1200`.
|
||||
|
||||
```
|
||||
```blocks
|
||||
basic.showString("Check Wifi", 150)
|
||||
basic.forever(() => {
|
||||
let xAccel1 = math.abs(input.acceleration("x"))
|
||||
let yAccel1 = math.abs(input.acceleration("y"))
|
||||
let zAccel1 = math.abs(input.acceleration("z"))
|
||||
let xAccel1 = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel1 = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel1 = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum1 = xAccel1 + yAccel1 + zAccel1
|
||||
if (sum1 < 1200) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
@ -72,7 +66,7 @@ basic.forever(() => {
|
||||
# # # . .
|
||||
`)
|
||||
} else if (sum1 >= 1400 && sum1 < 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . # .
|
||||
. . # # .
|
||||
@ -81,7 +75,7 @@ basic.forever(() => {
|
||||
`)
|
||||
}
|
||||
else if (sum1 >= 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
@ -96,15 +90,15 @@ basic.forever(() => {
|
||||
|
||||
Let's add an **IF** at the bottom of your code that checks to see if `sum >= to 1200` **and** if `sum <1400`
|
||||
|
||||
```
|
||||
```blocks
|
||||
basic.showString("Check Wifi", 150)
|
||||
basic.forever(() => {
|
||||
let xAccel2 = math.abs(input.acceleration("x"))
|
||||
let yAccel2 = math.abs(input.acceleration("y"))
|
||||
let zAccel2 = math.abs(input.acceleration("z"))
|
||||
let xAccel2 = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel2 = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel2 = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum2 = xAccel2 + yAccel2 + zAccel2
|
||||
if (sum2 < 1200) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
@ -112,7 +106,7 @@ basic.forever(() => {
|
||||
# # # . .
|
||||
`)
|
||||
} else if (sum2 >= 1400 && sum2 < 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . # .
|
||||
. . # # .
|
||||
@ -121,7 +115,7 @@ basic.forever(() => {
|
||||
`)
|
||||
}
|
||||
else if (sum2 >= 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
@ -130,18 +124,18 @@ basic.forever(() => {
|
||||
`)
|
||||
}
|
||||
if (sum2 >= 1200 && sum2 < 1400) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . #
|
||||
. . . # #
|
||||
. . # # #
|
||||
. # # # #
|
||||
# # # # #
|
||||
`) // ***
|
||||
`)
|
||||
}
|
||||
})
|
||||
```
|
||||
|
||||
**Challenge 3**
|
||||
|
||||
Now it's your turn! Be creative and change the Wifi meter images to your own wifi image you're sure will prank your friends by editing the lines that call `plot image()`.
|
||||
Now it's your turn! Be creative and change the Wifi meter images to your own wifi image you're sure will prank your friends by editing the lines that call `showLeds()`.
|
||||
|
@ -1,6 +1,6 @@
|
||||
# prank wifi quiz answers
|
||||
|
||||
create a fake wifi app to trick your friends #string #forever #abs #var #plot #image #if #math #abs #acceleration #docs
|
||||
create a fake wifi app to trick your friends.
|
||||
|
||||
## Name
|
||||
|
||||
@ -14,10 +14,10 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
let xAccel = math.abs(input.acceleration("x"))
|
||||
let yAccel = math.abs(input.acceleration("y"))
|
||||
let zAccel = math.abs(input.acceleration("z"))
|
||||
```blocks
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
```
|
||||
|
||||
<br/>
|
||||
@ -28,7 +28,10 @@ let zAccel = math.abs(input.acceleration("z"))
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum = xAccel + yAccel + zAccel
|
||||
```
|
||||
|
||||
@ -38,9 +41,13 @@ let sum = xAccel + yAccel + zAccel
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum = xAccel + yAccel + zAccel
|
||||
if (sum < 1400) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
@ -58,9 +65,13 @@ if (sum < 1400) {
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum = xAccel + yAccel + zAccel
|
||||
if (sum >= 1400 && sum < 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . # .
|
||||
. . # # .
|
||||
@ -70,7 +81,7 @@ if (sum >= 1400 && sum < 1680) {
|
||||
}
|
||||
```
|
||||
|
||||
## 5. Write the 'if statement' needed to display this specific plot image on the device
|
||||
## 5. Write the code to display this specific image on the device
|
||||
|
||||

|
||||
|
||||
@ -78,9 +89,13 @@ if (sum >= 1400 && sum < 1680) {
|
||||
|
||||
<br/>
|
||||
|
||||
```
|
||||
```blocks
|
||||
let xAccel = Math.abs(input.acceleration(Dimension.X))
|
||||
let yAccel = Math.abs(input.acceleration(Dimension.Y))
|
||||
let zAccel = Math.abs(input.acceleration(Dimension.Z))
|
||||
let sum = xAccel + yAccel + zAccel
|
||||
if (sum >= 1680) {
|
||||
basic.plotImage(`
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
@ -1,12 +1,12 @@
|
||||
# prank wifi quiz
|
||||
|
||||
create a fake wifi app to trick your friends #string #forever #abs #var #plot #image #if #math #abs #acceleration #docs
|
||||
create a fake wifi app to trick your friends.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [prank WiFi tutorial](/microbit/lessons/prank-wifi/tutorial)
|
||||
Use this activity document to guide your work in the [prank WiFi tutorial](/microbit/lessons/prank-wifi/activity)
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
@ -1,6 +1,6 @@
|
||||
# rock paper scissors lesson
|
||||
|
||||
a game against the BBC micro:bit #var #image #button #string #number #docs
|
||||
a game against the BBC micro:bit.
|
||||
|
||||
### @video td/videos/rock-paper-scissors-0
|
||||
|
||||
@ -23,10 +23,18 @@ Learn how to create a **local variable**, `var t :=time` where you can store dat
|
||||
|
||||
## Documentation
|
||||
|
||||
* **on shake** : [read more...](/microbit/reference/input/on-gesture)
|
||||
* **local variable** : [read more...](/microbit/reference/variables/var)
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **pick random** : [read more...](/microbit/blocks/math)
|
||||
```cards
|
||||
input.onGesture(Gesture.Shake, () => {})
|
||||
Math.random(3)
|
||||
let x = 0
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
# rock paper scissors quiz
|
||||
|
||||
shift an image horizontally across the display with offset #offset #screen #variables #docs
|
||||
shift an image horizontally across the display with offset.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [rock paper scissors tutorial](/microbit/lessons/rock-paper-scissors/tutorial).
|
||||
Use this activity document to guide your work in the [rock paper scissors tutorial](/microbit/lessons/rock-paper-scissors/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
@ -16,7 +16,7 @@ Answer the questions while completing the tutorial. Pay attention to the dialogu
|
||||
|
||||
## 2. Draw which LEDs are ON after running this code and the random number returned is 0
|
||||
|
||||
```
|
||||
```blocks
|
||||
let img = images.createImage(`
|
||||
. . . . . # # # # # . . . . #
|
||||
. # # # . # . . . # # # . # .
|
||||
@ -36,7 +36,7 @@ img.showImage(offset)
|
||||
|
||||
## 3. Draw which LEDs are ON after running this code with an offset of 5. This would occur if the random number returned is 1.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let img_ = images.createImage(`
|
||||
. . . . . # # # # # . . . . #
|
||||
. # # # . # . . . # # # . # .
|
||||
@ -56,7 +56,7 @@ img.showImage(offset)
|
||||
|
||||
## 4. Draw which LEDs are ON after running this code with an offset of 10. This would occur if the random number returned is 2.
|
||||
|
||||
```
|
||||
```blocks
|
||||
let img_1 = images.createImage(`
|
||||
. . . . . # # # # # . . . . #
|
||||
. # # # . # . . . # # # . # .
|
@ -1,6 +1,6 @@
|
||||
# rotation animation block lesson
|
||||
|
||||
Learn how to create images with a global variable and while loop. #LED #screen #plot #docs
|
||||
Learn how to create images with a global variable and while loop.
|
||||
|
||||
## Topic
|
||||
|
||||
@ -10,10 +10,8 @@ While Loop
|
||||
|
||||
* [activity](/microbit/lessons/rotation-animation/activity)
|
||||
* [challenges](/microbit/lessons/rotation-animation/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
* [quiz](/microbit/lessons/rotation-animation/quiz)
|
||||
* [quiz answers](/microbit/lessons/rotation-animation/quiz-answers)
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
@ -21,59 +19,28 @@ Learn how to create images that look like a rotating animation by using a while
|
||||
|
||||
## Documentation
|
||||
|
||||
* **variable**: [read more...](/microbit/reference/variables/var)
|
||||
* **assignment operator**: [read more...](/microbit/reference/variables/assign)
|
||||
* **while**: [read more...](/microbit/js/while)
|
||||
* **Boolean condition (for the while loop)** : [read more...](/microbit/reference/types/boolean)
|
||||
* **on button pressed**: [read more...](/microbit/reference/input/on-button-pressed)
|
||||
* **show LEDs**: [read more...](/microbit/reference/basic/show-leds)
|
||||
* **pause**: [read more...](/microbit/reference/basic/pause)
|
||||
```cards
|
||||
let x = 0
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.pause(100)
|
||||
while (true) {}
|
||||
basic.pause(20)
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to create a global variable for a place where you can store data, accessible across functions, and in nested code blocks
|
||||
* learn how to set or change the value of a global variable
|
||||
* learn how to create a variable for a place where you can store data, accessible across functions, and in nested code blocks
|
||||
* learn how to set or change the value of a variable
|
||||
* learn how to repeat code while a condition is true
|
||||
* learn how to declare a global boolean variable to determine which code will execute next
|
||||
* learn how to declare a boolean variable to determine which code will execute next
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to show a series of image frames on the LED screen
|
||||
* learn how to pause your code for the specified number of milliseconds
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Understands that iteration is the repetition of a process such as a loop. (AL)
|
||||
* Represents solutions using a structured notation. (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals. (AL)
|
||||
* Declares and assigns variables.(AB)
|
||||
|
||||
#### Data & Data Representation
|
||||
|
||||
* Understands the difference between data and information. (AB)
|
||||
* Defines data types: real numbers and Boolean. (AB)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organises and presents data and information in digital content. (AB)
|
||||
* Makes appropriate improvements to solutions based on feedback received, and can comment on the success of the solution. (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/rotation-animation/activity)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/rotation-animation/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/rotation-animation/challenges)
|
||||
|
||||
|
@ -54,9 +54,6 @@ Now let's add to this by creating a condition for on button pressed `A` before t
|
||||
```blocks
|
||||
|
||||
let rotating = true;
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
serial.writeLine("hello")
|
||||
})
|
||||
while (rotating) {
|
||||
serial.writeLine("loop")
|
||||
basic.showLeds(`
|
||||
@ -88,8 +85,9 @@ while (rotating) {
|
||||
. . . . .
|
||||
`)
|
||||
}
|
||||
|
||||
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
serial.writeLine("hello")
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
@ -101,10 +99,6 @@ Now that we have the on button pressed condition, let's make the animation stop
|
||||
|
||||
```blocks
|
||||
let rotating = true;
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
serial.writeLine("hello")
|
||||
rotating = false
|
||||
})
|
||||
while (rotating) {
|
||||
serial.writeLine("loop")
|
||||
basic.showLeds(`
|
||||
@ -136,7 +130,10 @@ while (rotating) {
|
||||
. . . . .
|
||||
`)
|
||||
}
|
||||
|
||||
input.onButtonPressed(Button.A, () => {
|
||||
serial.writeLine("hello")
|
||||
rotating = false
|
||||
})
|
||||
|
||||
```
|
||||
|
||||
|
93
docs/lessons/rotation-animation/quiz-answers.md
Normal file
93
docs/lessons/rotation-animation/quiz-answers.md
Normal file
@ -0,0 +1,93 @@
|
||||
# rotation animation quiz answers
|
||||
|
||||
Learn how to create a rotating image with a while loop.
|
||||
|
||||
This is the answer key for the [rotation animation quiz](/microbit/lessons/rotation-animation/quiz).
|
||||
|
||||
## 1. What is a " variable"?
|
||||
|
||||
Answers may vary. A variable is a place where you can store data so that you can use it later in your code.
|
||||
|
||||
## 2. Write the code to create a ** variable** called `foo` that stores a boolean and initialize it to **false**.
|
||||
|
||||
|
||||
|
||||
```blocks
|
||||
let rotating = true;
|
||||
```
|
||||
|
||||
## 3. Explain what this line of code does.
|
||||
|
||||
```blocks
|
||||
let rotating = true;
|
||||
while (rotating) {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
It is a **while** loop that will be executed only if the ** variable** called `rotating` is **true**.
|
||||
|
||||
## 4. If the rectangle below represents the BBC micro:bit, shade the areas that will be displayed. Explain why that particular area is shaded.
|
||||
|
||||
```blocks
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
# # # # #
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . #
|
||||
. . . # .
|
||||
. . # . .
|
||||
. # . . .
|
||||
# . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . #
|
||||
. . . # .
|
||||
. . # . .
|
||||
. # . . .
|
||||
# . . . .
|
||||
`)
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Show animation will show a series of image frames on the LED screen, pausing the specified time (400 milliseconds) after each frame
|
||||
|
83
docs/lessons/rotation-animation/quiz.md
Normal file
83
docs/lessons/rotation-animation/quiz.md
Normal file
@ -0,0 +1,83 @@
|
||||
# rotation animation quiz
|
||||
|
||||
Learn how to create a rotating image with a while loop.
|
||||
|
||||
## Name
|
||||
|
||||
## Directions
|
||||
|
||||
Use this activity document to guide your work in the [rotation animation tutorial](/microbit/lessons/rotation-animation/activity).
|
||||
|
||||
Answer the questions while completing the tutorial. Pay attention to the dialogues!
|
||||
|
||||
## 1. What is a " variable"?
|
||||
|
||||
<br />
|
||||
|
||||
## 2. Write the code to create a variable called foo that stores a boolean and initialize it to false.
|
||||
|
||||
<br/>
|
||||
|
||||
## 3. Explain why you use a while loop with a variable
|
||||
|
||||
```blocks
|
||||
let rotating = true;
|
||||
while (rotating) {
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
<br/>
|
||||
|
||||
## 4. Draw the areas on the micro:bits to illustrate the code below. Explain why you chose to draw in those areas.
|
||||
|
||||
```blocks
|
||||
basic.showLeds(`
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
. . # . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
# # # # #
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . #
|
||||
. . . # .
|
||||
. . # . .
|
||||
. # . . .
|
||||
# . . . .
|
||||
`)
|
||||
basic.showLeds(`
|
||||
. . . . #
|
||||
. . . # .
|
||||
. . # . .
|
||||
. # . . .
|
||||
# . . . .
|
||||
`)
|
||||
|
||||
```
|
||||
|
||||

|
||||
|
||||
<br/>
|
||||
|
@ -1,6 +1,6 @@
|
||||
# screen wipe blocks lesson
|
||||
|
||||
clear the screen by pressing button "A" #button #clear #docs
|
||||
clear the screen by pressing button "A".
|
||||
|
||||
### @video td/videos/screen-wipe-0
|
||||
|
||||
@ -15,86 +15,28 @@ Clear Screen
|
||||
* [quiz answers](/microbit/lessons/screen-wipe/quiz-answers)
|
||||
* [challenges](/microbit/lessons/screen-wipe/challenges)
|
||||
|
||||
## Class
|
||||
|
||||
Year 7
|
||||
|
||||
## Prior learning/place of lesson in scheme of work
|
||||
|
||||
Learn how to **clear screen**, `clear screen` to turn off all the LED lights on the LED screen. We will be learning how to clear all LED lights on the LED screen using clear screen, input on button pressed as well as simple commands, such as show animation.
|
||||
|
||||
## What the teacher needs to know/QuickStart Computing Glossary
|
||||
|
||||
* Algorithm: An unambiguous set of rules or a precise step-by-step guide to solve a problem or achieve a particular objective.
|
||||
* Hardware: The physical systems and components of digital devices; see also software.
|
||||
* Input: Data provided to a computer system, such as via a keyboard, mouse, microphone, camera or physical sensors.
|
||||
* Output: The information produced by a computer system for its user, typically on a screen, through speakers or on a printer, but possibly through the control of motors in physical systems.
|
||||
* Programmable toys: Robots designed for children to use, accepting input, storing short sequences of simple instructions and moving according to this stored program.
|
||||
* Simulation: Using a computer to model the state and behaviour of real-world (or imaginary) systems, including physical or social systems; an integral part of most computer games.
|
||||
|
||||
## Documentation
|
||||
|
||||
* **show LEDs** : [read more...](/microbit/reference/basic/show-leds)
|
||||
* **on button pressed** : [read more...](/microbit/reference/input/on-button-pressed)
|
||||
* **clear screen** : [read more...](/microbit/reference/basic/clear-screen)
|
||||
|
||||
## Resources
|
||||
|
||||
* Activity: [activity](/microbit/lessons/screen-wipe/activity)
|
||||
* Activity: [quiz](/microbit/lessons/screen-wipe/quiz)
|
||||
* Extended Activity: [challenges](/microbit/lessons/screen-wipe/challenges)
|
||||
```cards
|
||||
basic.clearScreen()
|
||||
basic.showLeds(`
|
||||
. . . . .
|
||||
. . . . .
|
||||
. . # . .
|
||||
. . . . .
|
||||
. . . . .
|
||||
`)
|
||||
input.onButtonPressed(Button.A, () => {})
|
||||
```
|
||||
|
||||
## Objectives
|
||||
|
||||
* learn how to show a series of images on the LED screen
|
||||
* learn how to run code when an input button is pressed
|
||||
* learn how to turn off all the LED lights on the LED screen
|
||||
|
||||
## Progression Pathways / Computational Thinking Framework
|
||||
|
||||
#### Algorithms
|
||||
|
||||
* Uses diagrams to express solutions.(AB)
|
||||
* Uses logical reasoning to predict outputs, showing an awareness of inputs (AL)
|
||||
* Shows an awareness of tasks best completed by humans or computers (EV)
|
||||
* Designs solutions by decomposing a problem and creates a sub-solution for each of these parts. (DE) (AL) (AB)
|
||||
* Recognises that different solutions exist for the same problem (AL) (AB) Understands that iteration is the repetition of a process such as a loop (AL)
|
||||
* Recognises that different algorithms exist for the same problem (AL) (GE)
|
||||
* Represents solutions using a structured notation (AL) (AB)
|
||||
|
||||
#### Programming & Development
|
||||
|
||||
* Creates programs that implement algorithms to achieve given goals (AL)
|
||||
* Selects the appropriate data types(AL) (AB
|
||||
|
||||
#### Hardware & Processing
|
||||
|
||||
* Knows that computers collect data from various input devices, including sensors and application software (AB)
|
||||
|
||||
#### Communication Networks
|
||||
|
||||
* Demonstrates responsible use of technologies and online services, and knows a range of ways to report concerns Understands how search engines rank search results (AL)
|
||||
|
||||
#### Information Technology
|
||||
|
||||
* Collects, organizes, and presents data and information in digital content (AB)
|
||||
* Recognises ethical issues surrounding the application of information technology beyond school.
|
||||
* Designs criteria to critically evaluate the quality of solutions, uses the criteria to identify improvements and can make appropriate refinements to the solution (EV)
|
||||
|
||||
Computational Thinking Concept: AB = Abstraction; DE = Decomposition; AL = Algorithmic Thinking; EV = Evaluation; GE = Generalisation
|
||||
|
||||
## Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [activity](/microbit/lessons/screen-wipe/activity)
|
||||
* [quiz](/microbit/lessons/screen-wipe/quiz)
|
||||
|
||||
## Extended Activity
|
||||
|
||||
* time: 20 min.
|
||||
* [challenges](/microbit/lessons/screen-wipe/challenges)
|
||||
|
||||
## Homework
|
||||
|
||||
* Extended Activity: [challenges](/microbit/lessons/screen-wipe/challenges)
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user