Are you looking for a programming challenge? Are you looking for programming project ideas to showcase your talents but don’t know where to start?
You are not alone. I struggle with this all the time.
There are many programming projects out there that developers can tackle, and this blog post will give you 63 of them! Whether your focus is web development, mobile, quantum computing, virtual reality, augmented reality, data science, artificial intelligence, microcontroller, home automation, or generative art – we have programming project ideas for you.
If you need help just starting programming check out my post on becoming a programmer.
Web Programming Projects
Design and create a bug tracker web application. Users should be able to log in, submit new bugs, view/edit existing bugs, and search for specific bugs. Bugs should be categorized and tagged. The application should be well-designed and easy to use.
Create a dynamic web page that allows the user to create web forms.- Users should be able to add new questions, delete existing ones, and save their form with a name.- The dynamic form application will have a simple design and smooth UI/UX experience.
Custom RSS Reader
Create an online RSS reader similar to Google News or Feedly. Users should be able to create an account, add RSS feeds, and save articles for later reading. The reader should have a minimalist design and be easy to use.
Create a web application that allows users to manage their tasks. Tasks should be able to be added, edited, and deleted. The application should be well-designed and easy to use.
Online Quiz Maker
Design and create an online quiz maker web application. Users should be able to add new quizzes, edit existing ones, and save their work. Quizzes should have multiple-choice questions with options for feedback. The application should be easy to use and have a modern design.
Create a web application that allows users to manage employee information. Employees should be able to add/edit their own information, as well as view the information of other employees. The database should be well-designed and easy to use.
Class Schedule Maker
Create a web application that allows students to create their class schedules. Students should be able to add/edit classes, as well as view the schedules of other students. The application should be easy to use and have a modern design.
Mobile Programming Projects
A calculator app that can do basic operations such as addition, subtraction, multiplication and division. It should have a user interface that is easy to use. The app should be able to store calculations so that the user can view them later. The app should also be able to share calculations with other users.
Note Taking App
An app that allows the user to take notes. The notes should be able to be sorted into different categories. The app should also allow the user to share notes with other users.
Grocery List App
An app that helps the user keep track of their groceries. It should allow the user to add items to their list, remove items from their list, and mark items as purchased. The app should also be able to store a history of the user’s purchases.
An app that shows the current weather conditions for a given location. It should also allow the user to view forecasts for different days. The app should also store the user’s home location so that they don’t have to enter it each time.
Flappy Bird Clone
A clone of the popular Flappy Bird game. The user will be able to play the game using their phone. Keep track of high scores and the amount of time they are able to fly.
Other Simple Game App
A game app that is easy to play. The app should have a simple user interface and be easy to understand. Examples of possible games include tic-tac-toe, hangman, or connect the dots.
Gaming Programming Projects
Create a basic chess game. The user will be able to move their pieces on the board and capture the opponent’s pieces. You will need to create a function to determine if the user’s move is valid. It is more involved as you will need to create some kind of AI for the opposition.
Tic Tac Toe
Simple tic tac toe game. The user will be able to play against the computer or another player. You will need to create functions to determine if the user has won, lost, or drawn the game. There is also AI involved but the algorithm is fairly simple.
The user will be able to play against the computer or another player. You will need to create functions to determine if the user has won, lost, or drawn the game.
Create a quiz show game. The user will be able to choose from a list of topics and answers. You will need to create functions to determine if the user has guessed correctly. You also need to create some sort of database in order to store the questions.
Rock Paper Scissors
The user will be able to play against the computer or another player. You will need to create functions to determine who won, lost, or drew the match. To make it more interesting use rock, paper, scissors, lizard, Spock.
Space Invaders Clone
The user will play the game using their keyboard. You will need to create a function to control the alien’s movement including increasing speed and toughness and accepting input from the keyboard.
The user is able to control the ship’s movement using their keyboard. You will need to create a function to detect collisions and update the ship’s position.
Simple game from the earliest part of the home computing movement. The user will be able to control the paddles to hit the ball. You will need to create a function to determine if the user’s move is valid and update their paddle position accordingly.
Text-based adventure. It will get you used to accept input from the keyboard in a methodical manner. More recent examples use AI to generate the world dynamically. (Dungeon AI)
Making more modern games is a lot more involved than the ones I have outlined above but if you want to try your hand at it then I recommend using the Unity or Unreal game engines and learning their scripting languages and C.
Virtual Reality Programming Projects
Work Training Application
Design a work training application that simulates a real work environment. Check out Job Simulator for some ideas.
Create a shooting game where the user is standing still and needs to knock down incoming space invaders, birds, etc.
Myst Clone in VR
Create a virtual reality programming project where the user is thrown into different environments and they need to complete puzzles to move ahead.
Natural World Exploration
Create an environment simulation where there are rocks, trees, water, etc. Then program creatures that interact with these objects in certain ways. For example: If you make it rain then some of the plants will grow faster than others. You can also make it part of an alien world with lifeforms left up to your imagination.
Augmented Reality Programming Projects
Pokemon Go Clone
Design a system where you need to find certain virtual objects and perform some action on them. For example, design a system where there are variously colored flowers growing in the wild and you need to harvest them based on their colors. If it’s programming for kids or students, make sure that they can only collect objects of certain colors (e.g., blue flowers).
Create an interactive work training program that can be used to walk new employees through the company’s processes and policies. You could also use augmented reality programming for safety instructions, showing how to safely operate machinery or any other workplace task on the job site.
Using ARKit or a similar framework, design an augmented reality programming app that can identify buildings. You could program it to show the building name, address and any other information about where you’re standing.
Design an ARKit programming app that allows users to take a picture of various plants or flowers in their environment, then compare what they see with pictures from your database (i.e., what kind of flowers they’re looking at).
Create a program that can detect faces in a photo or video. It could then do things such as overlay the detected face with an animation, change its color or add a filter.
Data Science and Artificial Intelligence Programming Projects
Deep Learning Number Recognition
You need to correctly identify digits from a data set of tens of thousands of handwritten images. Lots of tutorials on this, see if you can do better.
Detecting Sentiment in Online Comments
This programming project requires you to detect positive and negative sentiment in a corpus of tweets.
Housing Prices Regression for Predicting the Value of Homes
his programming project requires you to perform a regression analysis of housing prices. You can test your algorithms on actual housing prices going forward.
Titanic Survival Analysis and Prediction
In this programming task, you will use machine learning to predict the probability of survival for a given passenger on board the Titanic. You can find the best example of this on Kaggle.
Data cleaning and data visualization
In this programming project, you will clean a data set and then visualize it. While this isn’t the sexiest of projects, data cleanup is a large chunk of data science, so you might as well prove you have the chops to do it.
Microcontroller Programming Projects
The hello world of microcontroller programming. Set up an LED and resistor on a breadboard. Write code to make the LED blink on for one second, then off for one second using the programming language of your choice (C++/python/java). Add another feature to your code that makes it go fast blink, slow blink, very slow blink, etc.
Digital Alarm Clock
Set up a clock on a breadboard with an LED and resistor. Write code to make the alarm go off by blinking the light quickly ten times. Adding features: Make it so that you can set the time of day, date, and sound for the alarm.
Motion Sensor Handling
Use a PIR motion sensor to detect movement. Write code to have a light turn on when movement is detected. Also write code so that the more times it detects movement, the brighter the LED gets. Alternatively, Use an ultrasonic sensor or PIR motion sensor to detect the presence of objects in its line of sight and play different tones or alarms based on how close they are (e.g., close, far away). (Cross over with Home Automation)
Water Level Detection
Use a water sensor to detect the presence of water and do different things depending on how much is detected (e.g., if no water: turn red light off; If some water: set green led light on; If full: make all lights come on). Useful for security and home automation systems.
Robotic Arm Control
Write code to control a robotic arm using the programming language of your choice.
Morse Code Translator
Create a program to translate morse code. Add a microphone to decipher morse code and display the letters on an LED screen. Also, add a sensor and a telegraph arm to detect your input and translate it to the screen.
Generative Art Programming Projects
2D Generative Art
Use programming to create geometric shapes, fractals, to generate paintings or photos you can print out on your home printer and pass off as your own to your most important friends or sell then on the various NFT sites.
3D Generative Art
Add another dimension to the art and print out the shapes using a 3D printer. (Check out our review of the best 3d printers under $500).
Home Automation Programming Projects
Program a Digital Thermostat to Control Room Temperature
Use programming to set the desired temperature for a room and have the thermostat turn on/off heating or cooling as needed. (Cross over with programming a microcontroller)
Set up a motion sensor to turn on lights when someone enters the room. Use programming to determine how long the light should stay on (after a set time, the light will turn off automatically).
Use programming to control the opening and closing of window blinds. You could use sensors to detect light levels or a simple timer.
Garage Door Opener
Program an RF remote to open and close the garage door. Or use an app on your phone or IFTT to detect when you are close (and driving) and automatically open it for you.
Display weather information (temperature, humidity, barometric pressure, etc) on an LCD screen.
Edge Computing Programming Projects
Program a Series of Robots to Convoy Together
This is likely one of the first uses for edge computing, we do it on a small scale here to prove out the technology. You have a designated leader, and programming that robot to make decisions based on the proximity of other robots and obstacles in its way.
Create an Obstacle Avoidance Program for a Small Rover
The rover or car needs to detect objects in its path and navigate around them.
Program a Machine Learning Algorithm to Identify Objects in Images
Machine learning is one of the most popular programming topics right now, and it’s an excellent choice for a coding project with edge computing benefits because you’ll need to send data back to base so that your computer can process what it sees in each photo.
Smart Home Computing
There are so many programming projects that revolve around the smart home, from programming a robot vacuum cleaner to programming your own Alexa-type device.
Program the Navigation of a Self-Driving Car
This is one area where edge computing really comes into its own because you don’t need to send all of the programmings for a self-driving car to its destination. You can process it closer to where you are and reduce your data usage.
Design and Program a Game Processed Across Multiple Devices
Games are always popular programming projects, and they’re perfect for edge computing because you can distribute the processing load to multiple devices.
Programming a Search Engine
This is another great coding project because it operates in the cloud but you can distribute your programming to all of your devices so that everyone who accesses your internet connection has quick, easy access to filtered results based on their preferences and location.
Program an Autonomous Drone for Aerial Surveillance or Delivery Purposes
Drones have been popular in movies lately, and they actually exist as fully functional robots that can do all kinds of things autonomously. You can program a drone to do anything you want, from delivering packages to providing security for your property.
Quantum Computing Programming Projects
Implement a Quantum Random Number Generator
Implement and then compare the performance of different quantum algorithms for generating random numbers.
Simulate an algorithm on a quantum computer. Compare the results with more traditional algorithms.
Explore how different encryption schemes protect online data and communications using a quantum machine. Attempt to crack and compare traditional cryptography. Study Shore’s Algorithm or more recent versions of it.
Quantum Machine Learning
Explore how Machine Learning models can be applied to Quantum Computing, or explore what advantages quantum computing offers for future implementations of ML frameworks.
Looking for a way to differentiate yourself in the job market? Try tackling one of these programming projects. They cover topics like quantum computing, web development, AI, and data science. You’ll be surprised at how much you can learn by taking on just one!
Why not start with this project about edge computing which is all the rage right now? It’s easier than it sounds and if you make an impactful presentation when interviewing for your next gig, we guarantee that they’ll hire you because every company needs someone who understands what edge computing means.
Who knows–maybe even your current employer will want to bring you onboard once they see what great work you’ve done outside their organization!
If you need some help in getting the correct laptop to program faster find out what we think is the best laptop for programming.