(• Reading Time: 8 minutes •)

The secret to becoming an efficient coder is to build projects.

But don't just jump into any project as a beginner software developer.

Instead, start small.

Build your confidence then expand the scope of the project. I've received a lot of questions on what projects to start with.

So I have one goal: to solve the problem of finding a project once and for all!


Divided into 2 parts

I've divided this list of programming project ideas into two parts.

  1. In part 1, I hand pick and also create new programming projects for beginners. You can jump on them in any programming language of your choice – Python, JavaScript, Java, C++, whatever you favorite language is.
  2. In part 2, I put together a list of lists. After going through a ton of online programming project lists, I selected only the most useful ones that other developers created and categorized them here.

This list of programming projects covers multiple programming languages from tech leaders committed to helping others.

And the projects span both beginner and beyond beginner levels.

You'll find Python programming project ideas, Javascript projects, Java projects, ideas for mobile app development (android and iOS), and more.

Different formats, too.

You'll find written project as well as youtube tutorials on project ideas if you prefer video over text.

Let's get to it.


Part 1 - Designed for Only Beginners

  1. Odd or even
  2. Mad Libs Game
  3. Word Count
  4. Biography info
  5. What's my acronym?
  6. Rock, Paper, Scissors
  7. Guess the number
  8. Is a palindrome
  9. Email slicer
  10. Lyrics generator


Odd or even

Welcome a user then ask them for a number between 1 and 1000.

When the user gives you the number, you check if it's odd or even and then you print a message letting them know.


Mad libs game

Ask the user for an input.

This could be anything such as a name, an adjective, a pronoun or even an action. Once you get the input, you can rearrange it to build up your own story.

Here's a youtube tutorial on mad libs in Python.

Youtube tutorial on mad libs as a Python project for beginners
Youtube tutorial on mad libs as a Python project for beginners


Word count

Ask the user what's on their mind. Then after the user responds, count the number of words in the sentence and print that as an output.


  • Prompt: what's on your mind today?
  • Input: well, it's just a day for me to be an expert in coding
  • Output: oh nice, you just told me what's on your mind in 13 words!


Biography info

Ask a user for their personal information one by one. Then check that the information they entered is valid. Finally, print a summary of all the information they entered back to them.

Example: What is your name? If the user enters * you prompt them that the input is wrong. And ask them to enter a valid name. At the end you print a summary like that looks like this:

- Name: John Doe
- Date of birth: Jan 1, 1954
- Address: 24 fifth Ave, NY
- Personal goals: To be the best programmer there ever was.


What's my acronym?

Ask the user to enter the full meaning of an organization or concept and you'll provide the acronym to the user. For example:

  • Input -> As Soon As Possible.

    • Output -> ASAP.
  • Input -> World Health Organization.

    • Output -> WHO.
  • Input -> Absent Without Official Leave.

    • Output -> AWOL.


Rock, Paper, Scissors

This is a popular hand game played between two people. Each player gets to form one of three shapes using their hand:

  • rock (a closed fist)
  • paper (a flat hand)
  • scissors (a fist with the index finger and middle finger extended, forming a V)

Here's a youtube tutorial on coding up rock-paper-scissors in Python.

Youtube tutorial on rock-paper-scissors in Python project for beginners
Youtube tutorial on rock-paper-scissors in Python project for beginners


Guess the number

You ask a user to guess a number between 1 and 50.

If they guess outside that range, you prompt with an error encouraging them to choose a number within the proper range.

Whenever they guess the wrong number you ask if they want to keep playing or they'd like to quit.

Finally, when the user eventually guesses the right number you congratulate them and show the number of attempts they had.

Here's a youtube tutorial on coding up guessing a number in Python.

Youtube tutorial on guessing a number as a Python project for beginners
Youtube tutorial on guessing a number as a Python project for beginners


Is a palindrome

Ask the user to give you five words. Then check if each of the five words is a palindrome.

A palindrome is a word that remains the same whether it's read forward or backward.


  • madam is a palindrome.
  • so is malayalam.
  • But not geeks.

Here's a youtube tutorial on coding up a palindrome checker in JavaScript.

Youtube tutorial on a palindrome checker as a JavaScript project for beginners
Youtube tutorial on a palindrome checker as a JavaScript project for beginners


Email slicer

Collect an email address from the user and then find out if the user has a custom domain name or a popular domain name. For example:

  • Input: mary.jane@gmail.com

    • Output: Hey Mary, I see your email is registered with Google. That's cool!.
  • Input: peter.pan@myfantasy.com

    • Output: Hey Peter, looks like you've got your own custom setup at MyFantasy. Impressive!.

This is one of the convenient python projects that has a lot of use in the future. The program helps get you the username and domain name from an email address. You can even customize the application and send a message to the host with this information.


Lyrics generator

Ask a user to choose from a list of 10 songs. When the user does, you print out the lyrics to the song they selected.


Welcome, please select a select a song from this top 10 songs:

1. Baby by Bieber
2. Hotline Bling by Drake
3. Flawless by Beyonce
4. Fall by Eminem...
You chose Flawless by Beyonce. Here you go:

------- Flawless by Beyonce ------------
I'm out that H, town coming coming down
I'm coming down, drippin' candy on the ground
H, Town, Town, I'm coming down, coming down
Drippin' candy on the ground...

Press * to choose again.


Part 2 - A Comprehensive List for Beginner+

Use these coding projects to boost your skills beyond beginner levels.

If you’re completely new to the world of programming, this section is not for you. Instead, follow the beginner section above and use these tips on where to start as an absolute beginner to programming.




Mobile app development (Android/iOS)

For aspiring game developers

Programming overall

Closing out

Working on these projects, you might hit a road block and get completely discouraged. When that happens, turn to these stories of developers from all kinds of backgrounds who made it to motivate yourself to keep going.

As you progress in your programming career, you'll occasionally stumble on periods where you feel completely lost.

That's okay – use this guide for beginners and junior developers and why do you want to be a developer to put you back on track.

Software development is a challenging field.

But if so many others have done, you too can do it.


Thanks for reading

  • Join Community: I help new programmers and junior devs focus on what matters instead of endless trial and error. If you're interested in boosting your confidence and skills, join the email community.
  • Follow on Twitter: Have a question, I'm most active on Twitter – feel free to reach out to me. My DM is open.

Heads Up - I love research so I tend to back my advice and approach with concepts from Behavioral Psychology and Neuroscience.