You have to really work to hobble a modern computer to remove the excitement factor but somehow the BBC rose to the challenge.
You have to really work to hobble a modern computer to remove the excitement factor but somehow the BBC rose to the challenge.
You know what? I'm already bored. And that's before I've started trying to install eclipse and what sdks I need and whether to use kotlin and how to setup the right things.
I mean, I found the google docs and one of the first steps is
> Request an OAuth 2.0 Client ID
Great, going to get some young kids excited by explaining what oauth is and how to log into the google developers console.
Next up, what XML you need to know to create an interface and add what threads are and ...
Or:
https://makecode.microbit.org/projects/hot-or-cold
Done.
Easy to make, lots of tutorials, requires another language unfortunately but still a useful skill.
Not always applicable, but can be a good approach.
Best of luck, I know there are some hard steps to take (particularly the stage of "ok I can write code but what can I actually do with it"), but things really build after a while. Oh, and I've been coding for maybe 17 years and
1. I keep writing code that's wrong 2. I get basic things wrong all the time 3. I still have to regularly look things up
My wife is learning to code, and I think she felt these things meant she wasn't doing well at it, but it's really common. I'm just used to it and have more experience finding my mistakes because I've made them so much.
> and the micro:bit seems a good solution to that.
I think so. I think there's a huge step forwards when you can get something working quickly, then build from there.
I'm buying my youngest step-child a Micro:bit for Christmas. Well, I say it's for him...
I think that I'll be doing something similar ;-)
It feels like having to get regulatory approval, surveys and having OSHA oversight while making sandcastles.
https://developers.google.com/beacons/proximity/get-started
Android dev used to say to go to eclipse, now it's JetBrains apparently. Have a look at the "your first app" here:
https://developer.android.com/training/basics/firstapp/index...
Compare just part of the code for making text appear:
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
Which comes along with XML like this All you need to do is declare which activity is the logical parent in the AndroidManifest.xml file. So open the file at app >
manifests > AndroidManifest.xml, locate the <activity> tag for DisplayMessageActivity and replace it with the following:
<activity android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity" >
<!-- The meta-data tag is required if you support API level 15 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>
This is before trying to get radios working, beacons, etc. Just text, a button and "back".For something exciting and interesting, I'd rather not see "paste the following XML" anywhere in the instructions.
The benefits of working within RAM and processing constraints teaches about those limits and you become more aware of the interaction between hardware and software.
Too many softies these days are completely unaware of this interaction.... (to their deficit).
He's not really that impressed by most computer stuff which is at a level he'd actually be able to understand/program. While he's shown some aptitude in scratch, etc., I think the problem is that everything that's exciting to him is light years away from whatever he can actually do.
However, he and his friends all spent some time on the open evening looking at the micro:bits that were on display which were set up to do various simple things - detect touches or switch presses and change LEDs, etc.
His elder sister is of the age that was supposed to get a free Micro:bit, but that didn't happen.... I think I'll have to buy one and have a play!
But, have you ever watched a kid use one and within 5 mins be able to have their name scroll across the screen or make a simple Paper/Scissors/Stone game using the accelerometer? They get pretty excited about it!
At £15 for one with a battery pack, cables, tutorials, and all that, it sounds great.
And apparently has a different radio too, to connect to other micro:bits? Multiplayer rock paper scissors: https://makecode.microbit.org/projects/rps-teams
I'll happily trade not having loads of ram for something a kid (or a big kid myself :) ) can pick up and just make something fun in almost no time.
For an example of what the new BBC project should have been, look up littlebits - now there's potential and open ended creative possibility.
A few blinking lights and that's the total potential? Meh.
And that's without using any of the pins to hook up external gear. My kids have just started hooking up continuous servos and creating remote control buggies with them, learning about protocols in the meantime.
They're probably one of the best pieces of kit I've used in 13 years of teaching (and cheap to boot).
But feel free to keep rubbishing them, that's your prerogative :)
Also take a look at some of the ideas on this page, http://microbit.org/ideas/projects/.
(thanks for the info about 'littlebits', I'd not heard about that, taking a look now)
https://makecode.microbit.org/projects/rps-teams
Add on some motors and make a robot that hides from the light?
Make a robot that can follow a path, or that drives based on true compass directions.
Make a hide and seek with your microbit reporting hot/cold based on signal strength to other microbits? https://makecode.microbit.org/projects/hot-or-cold
Display the temperature?
Send messages to people?
Add on any other sensors?
Connect to your phone and do something else (app driven robot maybe)
Firefly synchronisation https://makecode.microbit.org/projects/fireflies
There's loads on that page and really you've got sensors and can control other things, and do distributed communication. There's lots of things you can do with a low powered processor, and it's not locked down to a few options.
Edit - I've just found out you can play sounds with it too.
Edit 2 - I'm now actually quite excited about this. I'm going to go out and buy one now.
It was a huge mistake not to ship this with a video port.
I think it's a mistake to assume modern kids need high powered things to be interesting. I've been at a maker faire where the kids were amazed at seeing an old broadcast camera hooked up to a TV. All it was doing was recording and playing things back, but they liked it. I'm sure lots of them even had phones which would do the same thing but with higher quality.
The local science museum always hads kids running about in the discovery section playing with things like pulleys and shouting into the long tube that creates a delay, or the glasses that turn things upside down.
Kids still play with lego which has absolutely no moving parts or complex interaction.
I'm sure if you start by telling kids it'll be boring they'll hate it. Otherwise kids seem to be able to have fun with anything as complex as a cardbox box upwards.
> games, robotics and interaction.
I mean, several of my examples are games, robots and involve interaction.
I can easily see how to use two of these to make a robot wars robot, one for the controller (steer with tilting and a button for "go" and a button for "fire") and one for the robot. Don't tell me kids wouldn't be interested in making fighting robots.
> It was a huge mistake not to ship this with a video port.
I think it'd be a huge mistake to try and make something like the rPi. That already exists if you want to do stuff connected to a screen with a full OS and internet access.
I doubt it would have fitted into the budget for production either, given that these needed to be given to every year 7 in the country.
I think you're trying to make it boring, and have fun with that, I'm going to go and make a robot. Or maybe finally build the sensor to see how far my degu runs in a day on his wheel.
Looking at what I see happening with the Raspberry Pi, I don't agree with that assertion. It's not been very important for making cooler projects with kids, it only made coding on it easier since it didn't come with a nice remote environment and you thus could use the Linux desktop on the Pi for coding. (It also opens up use cases like "media center", but those are not very relevant for education).
Kids find going to hardware like the microbit/Pi/Arduino interesting because it is breaking out of the usual screen(+keyboard in case of a PC) environment, and you can do
> games, robotics and interaction
that's not limited to the screen. And nothing stops you to combine both, have the microbit talk to a PC/phone.
You can drive larger displays https://github.com/carlosperate/awesome-microbit
Plus don't think it's the only computer they'll have, it's an IoT computer, it's supposed to not have a video out.
I like that it's all in one, you can program it in 5 mins with a browser, and yet connects to real IO the same way real embedded computers do, you have to get a bit messy, you know it's not a toy.
They are very much a publicly funded corporation, so everything they do has to fit with that.