I'm fairly new to programming (still a student), and I haven't had much experience with planning out my software development. Usually if it's a large project, the profs break it up into steps for me. If it's smaller, I usually just dive right in. This has worked so far, but I'd like a better process. I'm planning to do a rather ambitious project, and I'm worried that my code will turn out a mess and/or take a lot longer than if I had planned it properly. I'd like a method/technique/advice for planning out my software development.
Planning software development
planning
Don't mean to offend but your first ambitious project is probably going to be a mess, in comparison to what you will be writing say, 5 years from now!  Just enjoy the process and don't take yourself too seriously. You are, after all, still learning.It won't hurt if you get an understanding of some design patterns and try to work your code following some kind of methodology like TDD.  I recommend a book called Code Complete 2nd Ed. by Steve McConnell.