Simple Programming Projects
A list of practical projects that anyone can solve in any programming language (See solutions). These projects are divided in multiple categories, and each category has its own folder. To get started, simply fork this repo. See ways of contributing to this repo.
Welcome to LearnProgramming! Asking debugging questionsIf you need help debugging, you must include:. A. A of the problem. A, and program that illustrates your problem. The output you expected, and what you got instead.
If you got an error, include the full error message.See for more info. Asking conceptual questionsMany conceptual questions have already been asked and answered. Read our and search old posts before asking your question. If your question is similar to one in the FAQ, explain how it's different.See for more info.
Other guidelines and links.Subreddit rules 1. No unprofessional/derogatory speech.Follow: behave professionally and civilly at all times. Communicate to others the same way you would at your workplace. Disagreement and technical critiques are ok, but personal attacks are not.Abusive, racist, or derogatory comments are absolutely not tolerated.See our for more details.2. No spam or tasteless self-promotion.When posting some resource or tutorial you've made, you must follow our.In short, your posting history should not be predominantly self-promotional and your resource should be high-quality and complete.
Your post should not 'feel spammy'.Distinguishing between tasteless and tasteful self-promotion is inherently subjective. When in doubt, message the mods and ask them to review your post.3. No off-topic posts.Do not post questions that are completely unrelated to programming, software engineering, computer science, and related fields. Tech support and hardware recommendation questions count as 'completely unrelated'.Questions that straddle the line between learning programming and learning other tech topics are ok: we don't expect beginners to know how exactly to categorize their question.See our for more details.4.
Do not ask exact duplicates of FAQ questions.Do not post questions that are an exact duplicate of something already answered in the.If your question is similar to an existing FAQ question, you MUST cite which part of the FAQ you looked at and what exactly you want clarification on.5. Do not delete posts.Do not delete your post! Your problem may be solved, but others who have similar problems in the future could benefit from the solution/discussion in the thread.Use the 'solved' flair instead.6. No app/website review requests.Do not request reviews for some random app or website you've written. This is a subreddit for learning programming, not a 'critique my project' or 'advertise my project' subreddit.Asking for code reviews is ok as long as you. In short, link to only your code and be specific about what you want feedback on.
Do not include a link to a final product or to a demo in your post.7. No rewards.You may not ask for or offer payment of any kind (monetary or otherwise) when giving or receiving help.In particular, it is not appropriate to offer a reward, bounty, or bribe to try and expedite answers to your question, nor is it appropriate to offer to pay somebody to do your work or homework for you.8. No indirect links.All links must link directly to the destination page. Do not use URL shorteners, referral links or click-trackers. Do not link to some intermediary page that contains mostly only a link to the actual page and no additional value.For example, linking to some tweet or some half-hearted blog post which links to the page is not ok; but linking to a tweet with interesting replies or to a blog post that does some extra analysis is.Udemy coupon links are ok: the discount adds 'additional value'.9. Do not promote illegal or unethical practices.Do not ask for help doing anything illegal or unethical. Do not suggest or help somebody do something illegal or unethical.This includes piracy: asking for or posting links to pirated material is strictly forbidden and can result in an instant and permanent ban.10.
No complete solutions.Do not ask for or post a complete solution to a problem.When working on a problem, try solving it on your own first and ask for help on specific parts you're stuck with.If you're helping someone, focus on helping OP make forward progress: link to docs, unblock misconceptions, give examples, teach general techniques, ask leading questions, give hints, but no direct solutions.See our for more details. The original site and blog post (blog.programmersmotivation.com) is down, given all of us a 403 error. Until it's back online, you can use this post.To the truly lazy who don't want to use the Google's cached link and prefer just the outline:ORIGINAL SITE IS BACK:All the beginner project links:1)2)3). Word of Caution: the site had it's - you needed it to check your answers, but now the site says that answer checking is back online.
Proceed with Caution.4)5)6)7)8)9)Just want ideas for projects?1) EDIT(late): The website is down. (T-T) Here's the Twitter for the archive:2)The blog post's own recommended projects:1) Build a calculator - go onto scientific for a harder challenge.2) String Manipulation projects - so substrings, palindromes, comparison, splits etc.3) Reminder App4) Alarm App5) Simulator games of your favorite sportsEDIT:Added in from the comments section.
The original blog post didn't have this. I think they are relevant, because they are 'pen&paper hard', i.e.
While they look solvable without computer for a real math geek, computers may make them accessible to mere mortals with programming skills.In addition, many are algorithmic optimization problems: while they all can be brute-forced in theory, they usually cannot in practice - at least when you modify one parameter. Finding an O( less) algorithm is advanced programming for sure (even though most business programming could get away with only sort, binary search and a hashtable). Haven't looked into them very in-depth, but it seems most of the problems require some sort of dynamic programming, which is quite challenging for a newbie to go at.
In my case, I often don't understand how to get the answer, which means I can't even try solving it.Compare Project Euler with. Rosalind doesn't throw you straight into a wall of extremely complicated maths, but the later problems are pretty challenging.
I believe that Rosalind would have been a better choice than P.Euler, though of course it's harder to do Rosalind problems in languages like C because they're mostly string manipulation. What kind of simulator are you thinking? Like a manager? Or like a NHL Hitz Game?In general I dont see a purpose to using machine learning in either case. In both situations youre looking to model reality, youre not predicting anything because you control the end result. So the approach you should take is modeling and simulation not machine learning.The concepts of modeling vs machine learning tend to get confused/mixed up.Modeling is when you want to mirror life events in a simulations, so in the approach you build a function derived from existing data. Like fitting a 'best fit' line.In machine learning you use existing data in order to teach the machine to recognize patterns and predict outcomes.Machine learning is very powerful but very expensive and can be applied in alot of creative ways.
Simple Programming Projects For Raspberry Pi
So while Im NOT saying machine learning will never help in this scenario or that you cant make use of it here, based on your comment I believe you want to use modeling techniques instead. Dang it - check my other comment in this thread about the blog's description. In my head, and what I understood:This is just a simulation game. Let's take football (soccer) - you can have a full team have a variety of stats, plug in your own formula (e.g.8. speed +.15.
endurance +.05. handling etc.), put in some 'difficulty' for shots (e.g.
To make this pass, it requires - using random number generator - 80 total skill to make), and then compute wins or losses from there.This is a very simple implementation of the core idea. You can take this much much further. This is just taking into account shots made in the game - not even covering movement, or player formation or previous history, or weather etc.
This would be really good for fantasy sports if you are into that.I think there's also a slight misconception in the use of neural networks and machine learning. Nicely points it out.