First project ideas?

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

First project ideas?

Postby Chaosboye » Sat Apr 14, 2012 9:02 pm UTC

Hey. I just finished a tutorial for my first programming language (Python), and I'm looking for some fun or interesting ways to utilize my new skills (and to gain more, as I am obviously not a very good coder at this point in time). These do not have to be practical projects. I'm just looking for anything to do to give myself some more experience.
Chaosboye
 
Posts: 5
Joined: Mon May 09, 2011 2:32 am UTC

Re: First project ideas?

Postby Xanthir » Sat Apr 14, 2012 9:26 pm UTC

ProjectEuler.com is a fun way to exercise some new programming chops. You'll learn a lot about how to use the right datastructures for the job!

(Harder problems also typically require some down-and-dirty programming that doesn't help you in your everyday programming life, but it's good to develop those skills anyway for when you do need them.)
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
User avatar
Xanthir
My HERO!!!
 
Posts: 3988
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex

Re: First project ideas?

Postby Chaosboye » Sat Apr 14, 2012 10:25 pm UTC

I looked into it. Seems like a good way to get started. And it's not likely that I'll run out of things to do.
Chaosboye
 
Posts: 5
Joined: Mon May 09, 2011 2:32 am UTC

Re: First project ideas?

Postby Sagekilla » Sun Apr 15, 2012 12:00 am UTC

Try implementing Conway's Game of Life. It's great fun.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
http://en.wikipedia.org/wiki/DSV_Alvin#Sinking wrote:Researchers found a cheese sandwich which exhibited no visible signs of decomposition, and was in fact eaten.
Sagekilla
 
Posts: 385
Joined: Fri Aug 21, 2009 1:02 am UTC
Location: Long Island, NY

Re: First project ideas?

Postby Maelstrom. » Sun Apr 15, 2012 11:24 pm UTC

Sagekilla wrote:Try implementing Conway's Game of Life. It's great fun.

http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life

I second Conway's Game of Life. I try to implement it in every new language I learn, as it is a fun and interesting (but not too hard) way of learning how to use data structures, arrays, and iteration in any language. You can (later, if you desire) extend it to support GUIs, input/output (editing the grid in real time, and saving the current grid), try your hand at some optimisation, or strive for compatibility with existing GoL grid formats. The possibilities are almost endless, and all of them are fun ways to learn something new.

Other wise, maze generators are fun. Try this fine article for a bunch of different algorithms of different complexity. Again, once you have a basic maze generator down, there are many, many ways of extending it. Interactivity is just the start. You can implement different algorithms and compare them, you can try and make mazes that are not square. You can try and generate the largest maze your computer can handle, and then optimise your code so it can generate even larger ones!
Maelstrom.
 
Posts: 56
Joined: Tue Oct 21, 2008 12:18 pm UTC

Re: First project ideas?

Postby D-503 » Mon Apr 16, 2012 12:08 am UTC

One fun thing you could try is experimenting with and modifying open source Python projects. You'll have an opportunity to learn from other's examples, and in some cases you might be able to help out by contributing your code back to the project. If you don't know what to contribute many projects have issue/feature request queues you can look at.
Github is one place where you can find such projects:
https://github.com/languages/Python
D-503
 
Posts: 24
Joined: Sun Apr 15, 2012 11:35 pm UTC

Re: First project ideas?

Postby Meem1029 » Mon Apr 16, 2012 5:14 am UTC

One project that can be fun is to implement a sentence generator using Markov chains. Basically, you read in a text, choose a random word, and then choose another random word based on how often each word followed the first. Repeat this however many times you want (or come up with some other stopping determination method).
cjmcjmcjmcjm wrote:If it can't be done in an 80x24 terminal, it's not worth doing
Meem1029
 
Posts: 377
Joined: Wed Jul 21, 2010 1:11 am UTC

Re: First project ideas?

Postby Shivahn » Mon Apr 16, 2012 5:11 pm UTC

Maelstrom. wrote:Other wise, maze generators are fun. Try this fine article for a bunch of different algorithms of different complexity. Again, once you have a basic maze generator down, there are many, many ways of extending it. Interactivity is just the start. You can implement different algorithms and compare them, you can try and make mazes that are not square. You can try and generate the largest maze your computer can handle, and then optimise your code so it can generate even larger ones!

I just spent an hour trying going through that maze post and couldn't even remember how I'd gotten there. Thanks for sharing!
User avatar
Shivahn
 
Posts: 2144
Joined: Tue Jan 06, 2009 6:17 am UTC

Re: First project ideas?

Postby Chaosboye » Wed Apr 18, 2012 11:35 pm UTC

Thanks for all of the suggestions. I've started with Project Euler, and I'll see how far that takes me.

I definitely agree with the sentiment that I should read and modify the code of others. Luckily, there's the Red Spider Project and r/Python.
Chaosboye
 
Posts: 5
Joined: Mon May 09, 2011 2:32 am UTC

Re: First project ideas?

Postby Jplus » Thu Apr 19, 2012 10:46 am UTC

I was going to advertise for the red spider project here but you already mentioned it. :mrgreen:

For the record, the red spider project is designed specifically so that people can always add code of their own, so you're not restricted to modifying/extending code of somebody else. And it can be found both here in the Coding forum and on GitHub.
Hey, like coding? Perhaps you should check out the red spider project.
Feel free to call me Julian. J+ is just an abbreviation.
User avatar
Jplus
 
Posts: 1091
Joined: Wed Apr 21, 2010 12:29 pm UTC


Return to Coding

Who is online

Users browsing this forum: Dason and 13 guests