programming and my future

<p>I just finished an online college level java class. Last year I took a year long scheme class. And now, I really want to "do" something real world with java so I can get better at programming. I know I can always do usaco stuff but I would like to do something that helps someone in the real world. ANy ideas? Also, are there any other online classes I could take in java or is practice the best way to get better? Anyone got any ideas?</p>

<p>I would say practice, practice, practice (that's how I got better). If you want some sort of real-world applications with Java, try contacting a non-profit organization and seeing if there are any programming tasks available that you can complete for free. I'm sure that there may be some software that they need developed, or some type of database systems that they need programmed (or more efficiently programmed). I'd even offer to stop by and talk to someone about revising whatever custom-made software that they may use for better efficiency. Not only will you be helping someone, but you will also be gaining valuable experience, "connections," new friends, and satisfaction. :) </p>

<p>Non-profit organizations are really the only way that I would envision you getting some sort of real-world experience and helping someone at the same time (by "helping" someone, I'm assuming that you don't want to be paid). I make free websites for non-profit organizations in my community, and they're really appreciative. So I can't think of a better way to increase your skills and help someone else than to program for free. ;)</p>

<p>Thanks for the great idea!...you're right, I don't want to get paid ...I just want to see how people are using java in the real world and what some of the problems are. I learned java using the lewis and loftus text, Java Software Solutions... do you think that's enough to start with..what books did you use?</p>

<p>It's certainly a start, but you'd want to continue by reading more Java books, working through tutorials, and practicing (it's one thing to read about it, but it's another thing actually doing it). I learned through lots of practice and personal projects--tackling one specific personal project and then moving onto something bigger. My "bigger" projects were usually things that I had no idea how to accomplish and forced me to learn even more things about languages and computer workings in general. </p>

<p>I've never read Java Software Solutions, but I do know that it's a common class text. Check your status with Java--try writing software that you think would be applicable to real-world solutions (i.e. database software, web applications, etc). If you can manage that on a fairly efficient and sophisticated level, you should be ready. If not, try some personal projects (or if so, try them anyway!). You'll be surprised how much practice really does help.</p>

<p>As for me, I never really stuck to a specific book. I usually went to the Public Library with my laptop and ran through sections of books that looked interesting (I didn't feel like buying them :)). And I don't remember what they were actually called, so I can't help you there. :-&lt;/p>

<p>In case you're wondering, Eclipse is a nice, FREE Java development environment.</p>

<p>
[quote]
Ok.I am in 8th grade and only have 2 years of programming experience

[/quote]

On that note, you may want to hold off looking for non-profit organizations. I don't know of very many that would accept the help of an eighth grade programmer, no matter your skill level. Adults have biases against young kids in the area of competence, so you might simply be better off working on personal projects until you reach tenth grade or so. Plus, by then, you'll be a Java beast. ;)</p>

<p>Jump into any open-source java project. There's a bunch and the open-source community takes anyone who wants to help, just know what you're doing and don't expect anyone to hold your hand. Everyone's too busy coding.</p>

<p>But seriously, no one cares how old you are in the open-source world, it's fine. All we care about is your code.</p>

<p>You can find a bunch here: <a href="http://www.sf.net%5B/url%5D"&gt;www.sf.net&lt;/a> Start with the java catagories obviously, there's a bunch of others, but that's a good place to find a few.</p>

<p>Nice idea djcapelis. I hadn't thought about open-source programming. :)</p>

<p>I have a habit of doing some myself, most projects can always use help and it's a lot of fun. (I don't do anything in java though, otherwise I'd recommend a more specific project.)</p>

<p>The reason I said it doesn't matter how old you are in the open-source world is because I don't know the ages of most of the people I code with and they don't know mine. I've almost never had anyone ask unless there was a friendship developing that was more than just code. Great way to hit so many birds with one stone:
1) Code something that will make a difference in people's lives
2) Improve coding skills
3) Picking up experience and tricks of the trade
4) Make friends in other countries
5) Once you see how one open-source project works, it will become easy for you to join the development team on anything you're interested in. Even an operating system. (Actually, if you're interested... there's some interesting operating systems that are java-oriented.)</p>

<p>Who is in 8th grade and has been programming for 2 years? Australis?? I don't see that in his posts. Anyway, I want to put in a plug for USACO. It isn't particuluarly "real world" problems, but it will really build up your programming skills to tackle more compex problems wherever you find them. It's a great program. And younger kids are favored in camp selection, so an 8th grader who did reasonably well in the internet competitions would have a very good shot at a free training camp at some point. Camp is great. I know of people who have done various training camps, and the USACO one is considered one of the most fun. Camp also gives the best student programmers in the country an opportunity to get to know each other. And the coaches are great!</p>

<p>Another contest people might be interested in is <a href="http://www.topcoder.com/%5B/url%5D"&gt;http://www.topcoder.com/&lt;/a> It is geared towards working programmers rather than students (although plenty of students do it), and is used as a recruiting device by companies, so the problems are less abstract than USACO problems. You can also win money (but you have to be over 18).</p>

<p>(australis posted that quote on the MIT forum)</p>