Pinterest Stumbleupon Whatsapp
Ads by Google

Programming has one of the steepest learning curves 6 Signs That You Are Not Meant To Be A Programmer 6 Signs That You Are Not Meant To Be A Programmer Not everyone is cut out to be a programmer. If you aren't completely sure that you're meant to be a programmer, here are some signs that may point you in the right direction. Read More of any creative endeavor. Until the concepts click in your head, it’s going to be rough sailing. There are a few ways to ease that learning curve, however, and one of the most effective ways is to get your hands dirty with a few side projects of your own.

Nothing will help you absorb and retain programming concepts more than straight practical experience. After you’ve stocked up on these free programming books 9 Free Programming Books That Will Make You A Pro 9 Free Programming Books That Will Make You A Pro Calling all programmers, whether new, old, or aspiring: we've found a great selection of free (as in beer) books to boost your coding skills to the next level. Hop in and enjoy. Read More , you should fire up a new project and start playing around.

And if you really want to quicken your progress, make sure you cultivate the right mindset for learning how to program without the stress How To Learn Programming Without All The Stress How To Learn Programming Without All The Stress Maybe you've decided to pursue programming, whether for a career or just as a hobby. Great! But maybe you're starting to feel overwhelmed. Not so great. Here's help to ease your journey. Read More .

Create A Web Or Mobile App

Coding for the web is one of the most popular forms of programming today. Once you’ve familiarized yourself with the various web programming languages Which Programming Language to Learn - Web Programming Which Programming Language to Learn - Web Programming Today we're going to take a look at the various web programming languages that power the Internet. This is the fourth part in a beginners programming series. In part 1, we learnt the basic of... Read More available out there, you should consider creating a functional web app that serves a real purpose in your life.

coding-project-ideas-mobile-apps

If you aren’t interested in web development, then how about mobile development Designing A Breakthrough App? 7 Mobile Development Blogs You Should Read Designing A Breakthrough App? 7 Mobile Development Blogs You Should Read The mobile space is so new that trends are constantly shifting and new insights are made every day. If you plan to develop mobile apps, how can you keep up without going mad? Read More ? The actual technologies that are used across Android, iOS, and Windows Phone may differ — sometimes drastically so — but don’t be afraid to pick one and jump right in. The concepts you learn will likely be relevant from platform to platform.

Ads by Google

What sort of apps should you make? Honestly, make an app that excites you. It could be as simple as a personal to-do list or as complex as a brand new social network, but whatever it is, make sure it’s exciting enough that you can’t help but think about it throughout the day.

But if you’re really stumped for ideas, here are a few in no particular order:

  • Personal to-do list
  • Content link aggregator
  • URL shortener
  • Media hoster
  • Media optimizer
  • Social network

Create A Browser Extension

Admittedly, creating a browser extension is similar to creating a web or mobile app, but the former often seems to be overlooked for some reason.

Nowadays, people spend most of their online time with their faces buried in their web browsers. A browser-based tool could prove extremely useful — so why not try creating one of your own as a way to supplement your learning?

coding-project-ideas-browser-extensions

In fact, one of our MakeUseOf editors created an in-house Chrome extension that boosted writer productivity by a noticeable margin. That’s the kind of real-world benefit that’s possible with something as simple as a browser extension.

For idea inspiration, browse through our lists for Best Firefox Addons and Best Chrome Extensions. Some are browser-specific, such as these awesome Firefox-only extensions 7 Extensions Firefox Users Love That No Other Browser Has 7 Extensions Firefox Users Love That No Other Browser Has Extensions aren't always supported across all browsers. Check out these beloved Firefox-only extensions that are so useful that you may be swayed over from whichever other browser you currently use. Read More , and are ripe for someone to come along and create a clone on other browsers. Maybe you can be that someone.

Create A Video Game

Game development is a unique beast in the programming world. Some of the fundamental concepts that you learn — e.g. the game loop — are radically different from what you’d learn in a field like web development or business software engineering. However, some things are transferrable — e.g. the language — so you can still apply some of what you learn elsewhere.

coding-project-ideas-video-games

That being said, game development can be a fantastic way to learn programming. The game development tools 5 Free Game Development Software Tools To Make Your Own Games 5 Free Game Development Software Tools To Make Your Own Games Have you ever wanted to create that game that's been bubbling in your mind for years? What if I told you that the possibility wasn't all that farfetched? The past decade has seen some massive... Read More  have all evolved so much over the years that any newbie could have a simple but playable game ready within weeks. Plus, video games are fun, and nothing is a better motivator than fun.

We recommend that beginners start by learning the Unity Engine Programming A Game With Unity: A Beginner's Guide Programming A Game With Unity: A Beginner's Guide In the evolving landscape of indie game development, Unity has emerged as something of a de-facto standard: its low cost, ease of use, and broad feature set make it ideal for rapid game development. Read More , which is the most powerful free game development environment available at this time. Once you’re comfortable with the tools and languages, try cloning these popular classics:

  • Pong
  • Breakout
  • Tetris
  • Bomberman
  • Flappy Bird

Contribute To Open Source

One of the best ways to improve as a coder is to get involved with an open source project The 10 Best Open Source Projects You Should Be Volunteering To Help With The 10 Best Open Source Projects You Should Be Volunteering To Help With You don't have to be a programmer. You could be a writer, a designer, a translator, just a Facebook or Twitter junkie, or someone who wants to just donate money for the cause. There are... Read More . The benefits are threefold:

  • You can study the code and learn from it directly.
  • Others can critique the code you submit for improvements.
  • You can expand your network of coding friends and mentors.

coding-project-ideas-open-source

The great thing about an open source project is that you don’t have to deal with pressure — not much, anyway. Unlike when working for a company, you won’t be beholden to deadlines and milestones if you aren’t a main contributor. Plus, open source projects offer a foundation and structure that you might not have if you were to work on something else by yourself.

As always, choose an open source project that excites you. If you aren’t skilled enough to contribute code that meets the standards of the project, you can still study the code that’s publicly available but you can also give back by contributing in other ways 8 Ways To Help Open-Source Projects If You're Not A Coder 8 Ways To Help Open-Source Projects If You're Not A Coder We’ve covered why it’s important to contribute to open-source projects, but what if you’re not a coder? You don't have to learn how to program to help your favorite open-source projects. Many non-programmers volunteer some... Read More .

Participate In Coding Jams

Are you the type of person who’s driven by competition? Then you should be on the lookout for jams and contests for programming. These competitions have a ton of educational value simply because they force you to grow and adapt as fast as possible. Deadlines tend to have that effect.

coding-project-ideas-competitions

Here are some notable competitions to get you started.

Google Code Jam. This online contest, which has been running for 12 years, consists of multiple rounds that involve difficult algorithmic puzzles to be solved with code. It’s one of the more famous competitions from around the world and is definitely worth competing in.

CodeChef Competitions. CodeChef is a global community that provides a place where programmers can come together, learn together, and compete against each other. The site runs multiple contests all throughout the year and competing in them can be great for keeping your mind sharp.

Project Euler. Though it’s not a competition in the traditional sense, Project Euler is a fantastic way to challenge your coding mind. They provide a series of increasingly difficult mathematic and computational puzzles that will surely expand the limits of your mind.

If those aren’t enough for you, check out these other online programming contests 8 Online Programming Contests That You Can Challenge Yourself To Win 8 Online Programming Contests That You Can Challenge Yourself To Win Read More . They’ll keep you busy for a while yet.

Final Thoughts

Programming doesn’t have to be an endless chain of textbooks and lectures. Once you start working on a few practical projects, you’ll find yourself improving faster than ever. If you’re ever stuck, try consulting these free programming resources Learn To Code: 10 Free And Fantastic Online Resources To Hone Your Skills Learn To Code: 10 Free And Fantastic Online Resources To Hone Your Skills Coding. A topic that is avoided by many. There are an abundance of free resources and tools, all of which are available online. Sure you could take some courses on the topic at a nearby... Read More and try employing these unique ways to practice coding 7 Unique Ways To Practice Your Coding Skills 7 Unique Ways To Practice Your Coding Skills Let's repeat -- there's no age to learning. Once you are on that path, you just have to keep practicing. And today there are more ways than one to sharpen your coding chops. Read More .

How did you learn programming? Know of any other project ideas that might prove helpful? Share your tips and advice with us in the comments below!

Image Credits: Laptop Coder Via Shutterstock, Mobile Apps Via Shutterstock, Browser Extensions Via Shutterstock, Angry Birds Via Shutterstock, Source Code Via Shutterstock, Keyboard Hands Via Shutterstock

  1. Rawa Rauf
    April 24, 2016 at 8:02 pm

    I want some help please, I want to design an application (an interactive one similar to Encarta Kids ) but in a simpler way , its only that I want it to be customizable and easily its content can be changed before distribution , as I want to distribute it with different ages ,( say for a 3 year old it should be different than what is for a 6 years old or 9 )

    Its not a simple program so is there any open-source project that I can work with it to get to that ? or I just need to do it from beginning ?

    and which programming language is good for that ? a local HTML5 webpage , Java or something else?

    the most similar software I can refer to it is Rosetta Stone ,after if a CD is inserted it will install the contents for that CD, something similar .

  2. Jessica C
    December 13, 2014 at 11:47 am

    The Global Game Jam is a great excuse to spend 48 hours in January coding up a game with friends or strangers. Also a great way to give a project the start it needs to gets off the ground.

    globalgamejam.org

    • Joel Lee
      December 21, 2014 at 12:26 am

      I just wrote up a roundup piece for notable programming competitions and Global Game Jam was on the list! Cool stuff. I wasn't aware that you were involved with game development, Jessica. Is it just something you've tinkered with or do you have a lot of experience there?

    • Shafiq Rehman
      January 28, 2016 at 6:22 am

      Awesome

  3. Ari Shrum
    December 11, 2014 at 11:40 am

    You are obviously NOT talking to "professional" coders. Rather, the article appears at first to be aimed at the casual programmer, but what's the rush? By the way, love the commenting in the code snippet pic. Which leads me to the opposite conclusion. If you want to learn programming, take your time if it's not your profession.

    Here's a novel idea. Take your project and write it in ENGLISH, step by step, what you want to do. The refine it in ENGLISH. You will now have the commented documentation, a good start to the manual, and a roadmap for the logic to transfer to code. Imagine that! Don't push yourself, enjoy the journey; after all, that's where the fun and challenge is, not the destination ("Look what I did!" - kinda childish in a geeky kinda way, huh?).

    So, if you are a well adjusted, normal adult, who thinks they may enjoy writing and coding (same thing, really), then take your time and ENJOY IT!

    • Joel Lee
      December 11, 2014 at 6:37 pm

      You make a good point regarding rushing. I've always had a tendency to learn new material as quickly as I could, which is nice in the short-term but harmful in the long-term. "Take your time" is extremely important in non-professional contexts.

    • fcd76218
      February 4, 2016 at 2:38 pm

      "Take your project and write it in ENGLISH, step by step, what you want to do. The refine it in ENGLISH"
      That is how software systems and software programs are designed in the real world. Of course, languages other than ENGLISH are also used. It depends on the country you live/work in.

  4. dragonmouth
    December 10, 2014 at 7:58 pm

    IOW, you learn programming by practice, practice, practice. Just like any other skill.

    • Joel Lee
      December 11, 2014 at 6:35 pm

      Yup! If I had to boil the article down into one sentence, that would be it.

    • cwe
      February 4, 2016 at 10:15 am

      pm-o

  5. Joe
    December 10, 2014 at 6:06 pm

    Do you use an enterprise app that requires an ungodly amount of clicking and interface navigation? Try coding a short AutoHotKey routine to run repetitive tasks.

Leave a Reply

Your email address will not be published. Required fields are marked *