Hello All!
I'm new to programming and was wondering where i should start?
What's a good hands on project that will help me get up and running? Doesn't just have to be micro:bit.
Thank you in advance!
Nate
Hello All!
I'm new to programming and was wondering where i should start?
What's a good hands on project that will help me get up and running? Doesn't just have to be micro:bit.
Thank you in advance!
Nate
That's a big question. There are many types of programming. What do you want to achieve? If you want to do embedded programming then you're best to start with C. However, if you want to do web pages, games, etc. then that might not be the right choice.
There is a vast array of possible technologies and projects. You could start by listing technologies and subjects you are interested in and what your current level of knowledge is. Are you interested in learning by trying to duplicate an existing project or do you want to do something unique? How much time and money would you want to commit?
Welcome to the element14 community! Figuring out which platform (micro:bit, ardunio, raspberryPi) that fits your budget and potential projects (present and future) is a good starting point (great advice from Fred27 and dougw ). Learning how to program is best achieved by practice and repeat. Chose a platform and then build a simple project, say something like a blinking LED. Then ask, "what else can I do", make some changes, like change the blink rate, or try making it blink in a different way, using a different command type, etc. Play around a bit, look at other simple projects and see if there are ideas that you can bring to your current project. Programming is an exercise in extreme flexibility, there are so many little changes that you can do, or even different ways to the same thing. Don't be in a hurry to leave the first project behind. And when you do, ease up on the complexity curve a little bit, like add some more LEDs and make them blink in a pattern or sequence, as this will allow you to start adding more logic (if/then/while/do). But of all things, have fun! We learn as much from or successes as we do from our failures.
Hi Nate - A good starting place is to get a kit with a small projects manual, or a "project style" board that has sensors and outputs built in.
It will save you the time to figure out the bits and pieces. You'll learn by doing projects.
Microbit is one example of a project style board, Circuit Playground Express is another. These are good for low entry cost, projects and instructions are on line. They support a couple different languages, scratch, python, etc.
Arduino is C based, and has alot of proven libraries to do a boatload of projects - surf You Tube for Arduino. Most sensors are really inexpensive. Its another good place to start.
Raspberry Pi is fairly inexpensive and well supported. You could learn some Linux, Python, Scratch, html, all kinds of programming.
The key difference between doing your programming on a PC or a Raspberry Pi, is the Raspberry Pi has physical IO pins that can be accessed for turning on outputs, or driving component level networks ( i2c, spi ) so you can not only program, but build a working project.
Nate,
My favorite is C. This language, while a bit older (early 70s), it led to the development of several of the more recent favorites (java, python and c++). Platform will also have some bearing on your language choice. The Ardunio IDE uses a slight twist on the vanilla flavor of C/C++. RaspberryPi can support almost all of the popular language choices. micro:bit is primarily python. All three of these platforms have a ton of books/kits/tutorials that will help you get a quick start into programming.
For a true beginner, I would suggest either Arduino (or any of the many clones) or micro:bit. To expand a bit further on this choice, your plans will any have a bearing on your choice. If you have a desire to combine electronics and programming, the Arduino is a bit more flexible. More I/O pins, more different choices in the power of your Ardunio (different processors, peripherals, etc.) make this a strong choice to use as a learning tool. Where out of the box, the micro:bit has more built in (half the size of a credit card and has an ARM Cortex-M0 processor, accelerometer and magnetometer sensors, Bluetooth and USB connectivity, a display consisting of 25 LEDs, two programmable buttons, and can be powered by either USB or an external battery pack).
To help make a choice, look around the site here, and find an interesting project (something that speaks to you) and try and to replicate that project. The more projects that you see using a common platform the better, so that you can easily move forward to next project.
Good luck!
nate.wits wrote:
>Looks like i'll go with the python language and the micro:bit.
You can start coding for micro:bit on their website without actually needing the hardware, so you can try it out without a big commitment.
If you are not comfortable with code, they give the option of programming with Blocks, which is more visual. You can then switch over to see the Javascript code, which also helps when learning Javascript.
Cheers,
-Nico