Level Up Your Geek Credentials With Any of These 5 Programming Projects

programming101   Level Up Your Geek Credentials With Any of These 5 Programming ProjectsTimes are tough, and as society moves increasingly towards digital services and everything online, there is never a lack of jobs for those with tech skills. If you’re sitting there thinking “you know, I really ought to learn some new skills”, then peruse this list and find something that appeals to you.

You never know – magic might happen. Start learning some programming today, and you might find yourself sitting on the next Twitter, or perhaps the next MineCraft.

Unity 3D Game Engine

Unity is a cross-platform 3D engine and development environment, though not limited to gaming. Its success comes from focusing on the needs of indie developers, and the ability to “author once, deploy everywhere”. In short, it provides everything a budding game developer could need. And there’s a free version to get you started.

unityengine   Level Up Your Geek Credentials With Any of These 5 Programming Projects

My interest in Unity is that the Oculus Rift developer kits will support Unity out of the box, which means I’ll be able to fully immerse myself in any 3D worlds I create.

Where to start? This MineCraft clone is a complete video tutorial series.

And the Unity guys themselves have a wealth of video material. Or for those who prefer to read: Introduction to game development using Unity.

PHP/MySQL

For web development, the combination of PHP server scripting and MySQL database is arguably the king of the Internet. Even the website you’re reading right now is built on this technology – but specifically WordPress – the most widely used CMS in the world.

Although you could start from scratch, the best way to get into web development with PHP and MySQL would be to begin by customizing WordPress, and then move on to PHP frameworks such as CodeIgniter. These are well established and give you a good structure upon which to build your site. Starting completely from scratch can often leave you with kilobytes of messy code.

codeigniter   Level Up Your Geek Credentials With Any of These 5 Programming Projects

Nearly all web hosts support PHP/MySQL and creating a local server is just as easy, so you can get started right away.

Where to start? Make your own WordPress Widgets!

Ruby On Rails

As a PHP/MySQL fan, I’ve found it hard to learn Ruby on Rails. It’s so radically different, but undoubtedly a powerful web development system that lets you concentrate on prototyping websites quickly by providing defaults and standard views. With Ruby on Rails, adding features is often a case of simply installing a new package (such as Facebook login, or the Twitter bootstrap web template).

If you’re tackling web development for the first time and enthusiastic about getting a complex system developed quickly, Ruby is probably for you. Don’t run into it with a preconception about how programming should be done, and you’ll do just fine.

welcome aboard ruby rails   Level Up Your Geek Credentials With Any of These 5 Programming Projects

The only downside to this is that it’s relatively unsupported. I had to make some serious configuration changes to a VPS just to get it running.

Where to start? This free online book will cover pretty much everything you need to get started.

Arduino

Arduino is an open source electronics prototyping platform, and while it may not land you a new job, it will give you serious geek cred. Arduino makes it easy for absolutely anyone to create complex electronic projects and rapidly prototype ideas. From laser cat defence turrets to self balancing robots and home automation, really, anything is possible. Along with 3D printers, the Arduino is about empowering anyone to be a maker.

ArduinoUnoFront1   Level Up Your Geek Credentials With Any of These 5 Programming Projects

The Arduino process involves programming logic using a simplified form of C programming on the computer, then uploading your logic to the Arduino board through a standard USB port. The Arduino device has a number of IO pins so your software can react to whatever inputs are presented. You can even give them the ability to talk to the world, or give the world control over your mood lighting.

Arduino can be costly compared to some of the other programming projects here – you will find yourself wanting more shields or elaborate sensors – but it also brings your programming into the physical world. If you do come up with a really cool device, you might even think about raising production funds with a Kickstarter to bring it to the world.

Where to start? The MakeUseOf Arduino archives, of course!

Make a Mobile App With iOS

Though you will need a $99 developer licence eventually in order to publish in the iTunes App Store, anyone can get started by downloading the XCode development environment for OSX (Windows users; you can’t develop for iOS, you do need a Mac). XCode’s visual designer makes it really easy to connect complex GUI components to your data model, and there’s a vast amount of tutorials. Sure, you can throw together a simple iPhone app without learning any coding at all, but seriously, where is the challenge in that?

Where to Start? Available via iTunesU, the Stanford University iPhone development course is a top notch.

Whatever language or programming project you go with, the important thing is to just get started. You head may be full of fantastic ideas for projects, but ultimately ideas are cheap and it’s the process of turning them into products that takes real work and dedication. These languages are nearly all free to have a go, so try them out and find something that resonates with you. You might be a born programmer!

The comments were closed because the article is more than 180 days old.

If you have any questions related to what's mentioned in the article or need help with any computer issue, ask it on MakeUseOf Answers—We and our community will be more than happy to help.

8 Comments -

Cody

Why suggest making iOS apps instead of Android apps!? The Android SDK is wonderful and learning Java is a great idea already.

Not to mention you could load an android derivative on about any device anymore, allowing you to develop things that aren’t just for a phone or tablet you buy new.

James Bruce

That’s an excellent point Cody, apologies for not including it. You’re right – Java is significantly easier to learn than Objective C, though there’s far less potential for revenue. As a learning platform though, Java is ideal. You can also tie Java apps easily into Processing for Arduino linkup.

Théophile Nzungize

Here, take my like sir

Nancy B

OK that was like reading Greek to me!
Obviously I’m not going to increase my Geek level anytime soon!

Ron Lister

Very inspirational, I have wanted to start a project like this to get my kids interested early this is just what ive been looking for. Thank you James.

Eric Jay Palomar

code igniter is good

AK

Rather do it on Android. It’s free and if you want to publish on Google Play then it will cost you $25 and will sure be published.

James Bruce

That’s a good point, and I’ve already apologised for the oversight earlier – it’s great for hobbyist developers, but not so much consumers. That’s why the Android store is basically full of crap.