Fun coding projects for (re)learning programming?
October 23, 2014 12:52 AM Subscribe
I'm looking for interesting coding-project suggestions, preferably, but not necessarily, for execution in Python, ObjectiveC, or Unity.
Many moons ago, I studied computer science. Having changed course and graduated with a major in Something Else (TM), I want to get back into the groove. One of the best ways to motivate self-learning is a fun project with a clear goal.
Do you have any suggestions for a project (and associated language, editor, environment, etc. to use)? Or possibly a free mooc-like/tutorial-set that is engaging & educational? I have previously studied C++ (and later, played around with Arduino), Java, SML, Lisp, & Scheme, relatively superficially; I am maybe at intermediate-student level, but comfortable with the core concepts. I am interested in learning Python, Objective C, or Unity, but am open to other suggestions.
Looking for specific non-generic suggestions: Tetris & Pong are great and all, but, maybe you remember something special and awesome from your time as a code-grasshopper. e.g. in one intro class, I did a project that visually and aurally demo'd the various kinds of array sorting algorithms, using colored bars of varied length correlated with the notes of a scale. It was a fun to make, and very satisfying to observe.
Many moons ago, I studied computer science. Having changed course and graduated with a major in Something Else (TM), I want to get back into the groove. One of the best ways to motivate self-learning is a fun project with a clear goal.
Do you have any suggestions for a project (and associated language, editor, environment, etc. to use)? Or possibly a free mooc-like/tutorial-set that is engaging & educational? I have previously studied C++ (and later, played around with Arduino), Java, SML, Lisp, & Scheme, relatively superficially; I am maybe at intermediate-student level, but comfortable with the core concepts. I am interested in learning Python, Objective C, or Unity, but am open to other suggestions.
Looking for specific non-generic suggestions: Tetris & Pong are great and all, but, maybe you remember something special and awesome from your time as a code-grasshopper. e.g. in one intro class, I did a project that visually and aurally demo'd the various kinds of array sorting algorithms, using colored bars of varied length correlated with the notes of a scale. It was a fun to make, and very satisfying to observe.
Best answer: Previously. But one of the most interesting intermediate-level student assignments I've ever seen was a genetic algorithms project where you had to build a GUI to display a grid of mathematically-generated images, and the user would select images to 'breed,' and you'd take the formulas that generated those images and recombine them with new values and math functions semi-randomly to yield a new generation of images. I suspect doing that with sound could be fun too.
posted by Monsieur Caution at 1:10 AM on October 23, 2014
posted by Monsieur Caution at 1:10 AM on October 23, 2014
Best answer: Want to learn some bioinformatics along the way? Check out Rosalind. Great way to pick up some science along with coding.
posted by a lungful of dragon at 2:01 AM on October 23, 2014 [2 favorites]
posted by a lungful of dragon at 2:01 AM on October 23, 2014 [2 favorites]
Remaking a game you once enjoyed (or still do) is often a good personal project, and can either have very modest goals of just getting a simple version to run to making a reasonably complete game and having other people play it. It can take anything from a few days to years, depending on the scope and complexity.
Is there any particular game you fondly remember playing? What was your favorite part or feature? Can you make something similar?
posted by tykky at 4:51 AM on October 23, 2014
Is there any particular game you fondly remember playing? What was your favorite part or feature? Can you make something similar?
posted by tykky at 4:51 AM on October 23, 2014
Best answer: Raspberry Pi devices are well-suited for programming in Python, and there are lots of cool projects you can do on them.
posted by alex1965 at 4:53 AM on October 23, 2014 [2 favorites]
posted by alex1965 at 4:53 AM on October 23, 2014 [2 favorites]
I'm oldschool: when I was learning languages for the first time, I tended to write Conway's "Life" with lots of tweaks, and then look for ways to optimize it / make it faster.
Also, a Turing Machine emulator is a fun project.
posted by doctor tough love at 6:11 AM on October 23, 2014
Also, a Turing Machine emulator is a fun project.
posted by doctor tough love at 6:11 AM on October 23, 2014
Take an image and turn it into a dot-to-dot puzzle? I thought this one up a while back when thinking about something to help me "get back into it", but I wasn't sure how difficult it would be. A programmer friend thought it would be possible with Python and not too bad for an intermediate level project.
posted by klausman at 11:33 AM on October 23, 2014
posted by klausman at 11:33 AM on October 23, 2014
Code a poetry assistant, not so much for actual poets writing actual poetry as for students learning about poetic forms (and teachers teaching them). Lots of useful practice with strings and databases and such.
You set it for a form such as a limerick and you are presented with the correct number of lines to fill in. The application has to parse the contents of each line on the fly and approve or reject depending on how they match up to the rules of the selected poetic form. If you include rhyme checking and suggestions (here, supposedly, is one implementation of a rhyming dictionary), you can help writers by reminding them that they need, for example, an *at rhyme such as [list of *at rhymes] at the end of lines 2 and 5 to match the "cat" string that occurs at the end of line 1, etc.
If you do it right, your app will be used in classrooms everywhere.
posted by pracowity at 7:01 AM on October 24, 2014
You set it for a form such as a limerick and you are presented with the correct number of lines to fill in. The application has to parse the contents of each line on the fly and approve or reject depending on how they match up to the rules of the selected poetic form. If you include rhyme checking and suggestions (here, supposedly, is one implementation of a rhyming dictionary), you can help writers by reminding them that they need, for example, an *at rhyme such as [list of *at rhymes] at the end of lines 2 and 5 to match the "cat" string that occurs at the end of line 1, etc.
If you do it right, your app will be used in classrooms everywhere.
posted by pracowity at 7:01 AM on October 24, 2014
Plenty of small scale projects on Code Golf Stack Exchange.
posted by robertc at 9:50 AM on October 24, 2014
posted by robertc at 9:50 AM on October 24, 2014
I'd suggest looking for volunteering opportunities at local/state/federal government offices. Their in-house IT systems are generally horrifying, and demand for code always outpaces supply (many agencies can't afford to hire the talent found in the corporate sector, or there is too much red tape involved in the hiring process).
posted by biersquirrel at 12:26 PM on October 26, 2014
posted by biersquirrel at 12:26 PM on October 26, 2014
Response by poster: Thanks for the cool ideas and excellent links!
posted by vaguelyweird at 12:38 AM on November 12, 2014
posted by vaguelyweird at 12:38 AM on November 12, 2014
« Older Help me dress powerfully and elegantly. I look... | How can I become an entrepreneur in high tech... Newer »
This thread is closed to new comments.
When you mentioned Objective-C, were you thinking in the context of iOS programming? If so, you should consider Swift instead (although at this stage, I think most projects would still use a combination of the two).
posted by Gomez_in_the_South at 1:08 AM on October 23, 2014