Enginursday: Developers and Getting Started with Programming

Gathering ideas from developers and hackers, and sharing a few of our own!

**Question of the day: **Developers & hackers, what type of tutorials, products, projects and videos would you like to see more of?

Since I started at SFE, I've bugged a lot of people about highlighting the importance of developers, and some of the awesome products that they can use to prototype their projects out. This happens to the point where my continued emphasis on the need for Bluetooth Low-Energy products results in heavy sighs directed at me in acknowledgment of our need to fill this void, and this week's New Product Post might bring some relief.

Recently, I made the switch from being a Technical Designer to a Connected Devices Developer in the Engineering Department. In this position, I will be focusing on developing new apps for products, content creation, and growing support for developers, makers and hackers. I'm excited to hear any feedback or suggestions on what you would like to see more of, and get your ideas on how to build a better developer and maker community here at SFE.

For my first Enginursday post, I wanted to write about a question I often see from parents: how to get their children interested in programming and have that real-world interaction you get from hardware. There's nothing like remembering the feeling you get when program your first LED to blink. Here are a few things I recommend for beginners of all ages:

Drag and Drop Programming

Drag and drop programming is a great way to introduce hardware and coding to beginners. Scratch, miniBloq, and Ardublock are fun, visual environments to teach problem solving and programming basics like if/else statements. We already have tons of tutorials, resources, videos and blog posts (Enginursday: Visually Programming Arduino) on how to use a couple different graphical programming environments.

Last summer, we developed the Digital Sandbox, so students and beginners can jump into code quickly without the need for breadboarding.

Digital Sandbox

Jump right into programming!

For the Digital Sandbox we have tutorials on how to work with Ardublock, Scratch and Arduino IDE. Ardublock is a graphical programming environment that works along side the Arduino IDE. We found that it is helpful for classrooms to get students started with dragging and dropping blocks, and then seeing the code produced in the Arduino IDE. After they feel comfortable with the basics they can code straight in the Arduino IDE instead.

When teaching Scratch, we use the SparkFun PicoBoard. We found that the combo of using drag and drop blocks to program the hardware that controls animations is really engaging to people of all ages.

MaKey MaKey + Programming

hackfest

Quick Left's Battle of the Games Hackfest 2014

In the past, we have sponsored quite a few hackathons. We found that the MaKey MaKey is actually a fun, interactive product to have at these types of events, and there doesn't even have to be the messy banana clean-up afterwards. (I have cleaned many alligator cables filled with smashed bananas in convention center bathrooms before I made an NES controller out of conductive fabric to take with me instead. If you have to use fruit, please consider apples.) Since the MaKey MaKey acts like a keyboard or a mouse, it is super easy to get started with for web developers or beginners who are interested in making websites and having more real world interaction besides looking at the computer screen.

Minecraft + Programming

If you are a Minecraft lover or your kid is, consider using Minecraft as a way to teach code. If you have a Raspberry Pi and want to learn Python, check out the Raspberry Pi Minecraft Edition. Since Minecraft is installed by default in Raspbian, it is easier to get started with now.

Example project with the MaKey MaKey and Minecraft

Hacking Commercial Products

We ran a mini NodeCopter event at the last AVC and spent the day hacking Parrot Drones. Thanks to a node.js client called ar-drone, it was easy to control the drones over WiFi to really start having fun. Hacking toys that already have a amazing support community to them can add continued fun to a product that you might have sitting in your closet, and a way to get your feet wet with a new programming language.