6 great projects for beginners TEXT

6 Great Project Ideas for Beginners Learning Code


So you’ve got some programming skills, now it’s time to put them to the test by building some projects. However, the big question on your mind is…”WHAT THE HELL DO I BUILD?”.

To get you up and running ASAP, I’ve pulled together a handful of project ideas, which should help you get the ball rolling. I hope these projects will be fun, interesting, and simple enough so that beginners are not overwhelmed, but challenging enough to push you to grow as a programmer.

These are general ideas, which you should be able to implement into your language of choice. And where possible I have tried to add resources or examples for added guidance. But remember, Google is your friend!

Before you start, here are a few suggestions to get to most out of this experience

  1. Use tutorials and resources, but try to resist the temptation to copy and paste entire source code. The more you can do yourself the better.
  2. Make sure you can read and understand the code at each step, and Google what you don’t understand. Googling is an essential programming skill.
  3. Once you finish, try recreating the project again, but without any references. The key word there is “try”. Don’t worry if you can’t on the second attempt.
  4. Finally, take your time, remain calm and remember we all get stuck. It’s just part of the journey.

Side note: The great thing about these projects is they can be as simple or as complex as you like.

If you want you can keep them fairly bare, and just leave them as static text-based programs, without any UI. Or, you can go nuts and try and make them as flashy as possible.

Personally, I’d recommend keeping it simple at the start and focusing on the core functionality. You can always build them out later.

Now, onto the projects!

I have structured the ordering of these projects so that they start off easy, but get progressively harder as you move through the list.

1/ Magic 8-Ball

All hail the wise and magical 8-ball!

Hopefully, you know what a Magic 8-ball is, otherwise that previous statement will sound a bit weird. It probably sounded weird anyway. Never mind.

In case you don’t know, a Magic 8-ball is a fortune telling toy you shake to give you the answers life’s pressing questions. Simply ask a question, e.g. “What is Blockchain?”, then the 8-ball comes back with a wise answer, e.g. “How the hell should I know!”.

This is a fairly simple warm-up project. At its core, it’s just a series of random answers, which get spit out every time you shake the ball. So hopefully you won’t have any trouble with this one.

I don’t think you will, but should you need a reference, here are a few, written in Python.

2/ Shopping Cart

This project isn’t anything too fancy but it has a bit more to it than the previous Magic 8-ball project.

As you can imagine, it’s merely a simple shopping cart, in which you can add, removed, and eventually checked-out items.

I guess you could think of it as the next step up from a To-do list because on the surface it has the same functionally. However, instead of working with string variablesthe shopping basket will deal with objects. Need some help understanding object oriented programming? Here’s a Noobs Guide!

Each item in the shopping basket will be an object, this object will need, at the very least, a name and price as variables. However, you can add more, such as the amount of stock but in the interest of simplicity, you may want to stick to these two for now.

How you choose to implement all of this is up to you, although if you need some guidance you can check out this great example written in Java. Even if Java is not your lanaguage, this example should still give you an idea of the structure and flow of the application.

3/ Text Adventure Game

You’ve probably seen something like this before. It’s the simplest form of an adventure game, where the whole story play’s out via text. The world is described in TEXT, and likewise, you interact with the world in TEXT. That means no game physics or graphics to worry about. Phew!

I realize that was probably an awful explanation! So how about I just show you instead. Here’s a good example.

Now it doesn’t have to be as extensive as the above example, with buttons and timed responded etc…It can just be as simple as moving back and forth through a series of rooms.

Text-based adventures make a great beginner project because, one, making games are fun, and two, you don’t have to worry about polished GUI’s and game physics.

I hope you have fun with this project!

4/ Calculator App

Now I know I just said, “text-based adventure games make great beginner projects because you don’t have to worry about GUI’s”…But let’s face it, you need to start working with GUI’s at some point, and personally, I think a calculator app is an ideal place to start.

Why? Well, it’s a fairly simple UI (basically a field, and a ton of buttons), but still, it will test you when it comes to the layout and spacing of elements. Plus, you’ll get some good practice with Event Listeners.

As you can imagine, the app will look and function just like any calculator you have ever used. However, if you need some inspiration or resources there are literally hundreds of examples on the interwebs. Codecademy even has a nice little tutorial for those learn web development.

5/ Snake Game

A classic! I loved playing Snake as a kid, it was simple and addictive.

If you are not familiar with the game it’s pretty straightforward. You control an ever moving snake, and it your job to guide it to the apple which generates in a random location each time the snake eats it. And it just so happens that each time the snake eats the apple it gets bigger.

But be careful, as the snake grows it will start to fill up the screen with pure snakeyness, and should the snake runs into itself that’s it, game over. Sounds cool? Have a play if you like, but don’t get sucked in, remember you came here to build it!

Hopefully, now you have an idea of what you’re making it’s time to get started.

By the way, if you’ve been learning Python this might be a good opportunity to explore the Pygame library. In fact, here’s a tutorial which uses the Pygame library.

6/ Music Player

This is defiantly the most challenging project on this list, but don’t worry! Remember earlier I said these projects can be as simple or complex as you like? Well, that certainly applies here.

If you want, you could build a hypothetical music player, all text-based, which could work in a similar way to the shopping cart project.

In this instance, you could simply create a series of song objects, which can be added and removed from a playlist. Then provide additional functionality to sort, traverse (move through), and repeat songs.

Although, if that seems too tame you can work towards building it out into a full application, with a database, user interface, and everything else.

I guess I kinda envisioned this as a longer-term project that grows with you.

Side note: This project is a great opportunity to learn about Linked Lists and get some hands-on practice. You could, for example, create a playlist that functions as a Linked List, where each song points to the next song in the list, then set up methods to traverse the list.

If you haven’t come across Linked Lists before, and all that was just nonsense! I recommend checking out this post. There a great section that explains what a Linked List is, and a guide to help you build one.


There are endless projects you can make and these are just a few. Ones which I hope provided a bit of range and will help cement those core programming principals you’ve been learning.

However, if none of these take your fancy dont worry, there are a load more on GitHub!

Feature image designed by Freepik

Sharing is caring!

About the Author Owen

Creator of Code Dad, father and self-taught programmer. My mission is to balance life, work, family, all while learning to code, and hopefully help others who want to do the same.

follow me on: