Give Me Some Project Ideas!
Hello all. I'm sort of a newbie at java. I know most of the basics, just starting to learn how to use the API, and I still use Scanner methods to collect all my information.
- I've created Login Systens(A few, Their getting more advanced each new one I make...)
- Up N down game, you got to go above the computer randomly drawn number ect..
- Football Data Input program.. Input stats about quaterbacks and puts into array and prints back neatly.
Those are all things i've made personal projects. Now think back to when you were a newbie what project did you have fun doing the most and yet taught you a lot? Thanks for the input guys, please remember I cannot write things outside the beggining of advanced...
Re: Give Me Some Project Ideas!
You might want to check out Project Euler. That has tons of challenges for novice through experienced users.
Re: Give Me Some Project Ideas!
Is that on these forums? I couldn't find it. I tried searching too.]
I also googled it.. I think I found it but I don't know if its what i'm looking for.
Looking for something not so math heavy.. and boring.
Re: Give Me Some Project Ideas!
I dived in at the "deep end" I suppose.
One of the first projects I did as a novice was a multi-tabbed Swing GUI which allowed two simultaneous connections to two (different) databases through JDBC, reading connection information from an XML file using a SAX parser. It was multi-threaded and tested locking strategies and transaction isolation levels and database cursor options. (It ran, of course, under commitment control). I still have the utility and it works well.
Re: Give Me Some Project Ideas!
Dang, you really did dive into the deep end.. Good though if you learn fast. I don't see how I could of possibly did that without prior programming knowledge.
Re: Give Me Some Project Ideas!
Sounds impressive doesn't it. But it really, really isn't. It took a couple of days only and there was only one bug that I can remember, that took me a while -- the parser was occasionally truncating data because I didn't realise I needed to make more than one call to a method for text over a certain length.
When you set yourself your own project, it is so, so much easier because you are not trying to figure out "where the instructor is going with all this". It is all your own creation, and the motivation is X100.
Re: Give Me Some Project Ideas!
Very true^ I think I kind of ran out of ideas and was hoping someone could recall one of their first projects that was fun and taught them a lot.
Re: Give Me Some Project Ideas!
Hmm... I can relate a ton to what you're saying. Right now, I'm working on a tower defense game (mainly because it's something I've always wanted to do). As 2by4 said, I've found that if it's my own idea and something I find interesting, my motivation just skyrockets. I feel like a wrecking ball when I run into a problem, because my motivation not only gives me endless energy but surprising patience.
So, what all that means is that if you can think of something that you're interested in (besides programming, unless you want to make an IDE :P) and find a facet of that passion to put into code, you'll find it much more intriguing and much more of a learning experience.
However, I can offer you some suggestions: perhaps a battleship game, tic-tac-toe, or checkers game (with a built in AI); a new type of game of your creation and innovation; or maybe something to improve the ease of something you do commonly (for example, I made functions that get the least common multiple, greatest common factor, and prime factorization as well as functions to find prime numbers in a certain range). There are many things you could do, from little activities and functions to large projects.
Here is a site I found on a quick search; hopefully it may inspire you. :P
Hopefully this helps!
Re: Give Me Some Project Ideas!
Exactly^ I think i'm going to try and get into the game development after I finish learning all the syntax first.. Keeps me interested.
Thanks for the links and the suggestions, I may try tic tac toe, it's easy, but last time I tried I failed hard. Lol.
Re: Give Me Some Project Ideas!
Games are great for intermediate level programmers, but they can be frustrating for beginners. Here are a couple of exercises that I undertook when learning games programming in C++ / Direct3D.
1. Bouncing ball.
What: A simple program. A screen and a single ball that moves diagonally and bounces of the edges.
Why: Teaches you sprites, bliting and collisions.
2. Multiple bouncing balls.
What: Every time the user clicks on the screen, it creates a new ball at that location that moves diagonally and bounces of the edges.
Why: Teaches you dynamic object creation, mouse listeners and the importance of alpha channels. Can be improved so that the balls bounce of each other (which illustrates the problems with basic collisions) and delete balls by clicking on them.
3. Pong
What: Your first real game! It should be very easy once you get your head around the above two exercises.
Why: Basic AI (very dumb, just follow the ball's horizontal position), score boards, level resets, pausing, basic OO in game design.
4. Breakout
Why: You can skip the above and move onto breakout which is a whole lot more fun. It utilities the same concepts as pong but it is a little more advanced in that you will need to make use of collections and visualize the layout of the blocks and create an appropriate loop to construct them. It is also a great introduction to polymorphism if you include blocks of different properties (unbreakable, hard, soft, different colors, etc).
5. Mandelbrot generator
What: Do a google search if need be. It is terrific, exhilarating fun. I literally spend hours at a time exploring my own generator and the first time it comes to life you will be blown of your chair screaming "Did I do that!"
Why: Brilliant introduction to complex mathematics (that's the imaginary type, not the hard type ;)). You get to see how real mathematicians formula's are written for a computer and best of all the formula is infinitely variable so there will always be room for tweaking/improving/modifying.
6. An Object persistence app
What: Doesn't really matter what the object is (but keep it simple and useful). I went for a library program that I could record books I have read. You will want a GUI and a way to create, edit, save and delete records.
Why: There are many ways to achieve persistancy (text file, binary file, XML, relational database and Hibernate to name a few). Get familiar with them because it is absolutely vital if you plan on writing anything substantial.
If you can get through all that then you are about on par with a first year computer scientist. The difference is, computer science lectures generally lack imagination when it comes to assignments and always lack context. Make things relevant to what you are interested in and you will be a superstar programmer in no time.
Re: Give Me Some Project Ideas!
Quote:
Originally Posted by
ChristopherLowe
Games are great for intermediate level programmers, but they can be frustrating for beginners. Here are a couple of exercises that I undertook when learning games programming in C++ / Direct3D.
1. Bouncing ball.
What: A simple program. A screen and a single ball that moves diagonally and bounces of the edges.
Why: Teaches you sprites, bliting and collisions.
2. Multiple bouncing balls.
What: Every time the user clicks on the screen, it creates a new ball at that location that moves diagonally and bounces of the edges.
Why: Teaches you dynamic object creation, mouse listeners and the importance of alpha channels. Can be improved so that the balls bounce of each other (which illustrates the problems with basic collisions) and delete balls by clicking on them.
3. Pong
What: Your first real game! It should be very easy once you get your head around the above two exercises.
Why: Basic AI (very dumb, just follow the ball's horizontal position), score boards, level resets, pausing, basic OO in game design.
4. Breakout
Why: You can skip the above and move onto breakout which is a whole lot more fun. It utilities the same concepts as pong but it is a little more advanced in that you will need to make use of collections and visualize the layout of the blocks and create an appropriate loop to construct them. It is also a great introduction to polymorphism if you include blocks of different properties (unbreakable, hard, soft, different colors, etc).
5. Mandelbrot generator
What: Do a google search if need be. It is terrific, exhilarating fun. I literally spend hours at a time exploring my own generator and the first time it comes to life you will be blown of your chair screaming "Did I do that!"
Why: Brilliant introduction to complex mathematics (that's the imaginary type, not the hard type ;)). You get to see how real mathematicians formula's are written for a computer and best of all the formula is infinitely variable so there will always be room for tweaking/improving/modifying.
6. An Object persistence app
What: Doesn't really matter what the object is (but keep it simple and useful). I went for a library program that I could record books I have read. You will want a GUI and a way to create, edit, save and delete records.
Why: There are many ways to achieve persistancy (text file, binary file, XML, relational database and Hibernate to name a few). Get familiar with them because it is absolutely vital if you plan on writing anything substantial.
If you can get through all that then you are about on par with a first year computer scientist. The difference is, computer science lectures generally lack imagination when it comes to assignments and always lack context. Make things relevant to what you are interested in and you will be a superstar programmer in no time.
I appreciate this post alot. I'm not sure if I can complete one of those projects yet, but I will deffiently try and accomplish one of those.
Re: Give Me Some Project Ideas!
Have you try do a project like google jam code there alot of math in that it more like computer science probs they use.I hope that helps.
Re: Give Me Some Project Ideas!
Quote:
Originally Posted by
Emperor_Xyn
I appreciate this post alot. I'm not sure if I can complete one of those projects yet, but I will deffiently try and accomplish one of those.
Well it's kind of important to push your skills if you are going to improve them but I do understand that it those may be a bit ambitious; you will require several sittings to complete them. So because I got those nice 'thanks' for my last post, I'll go through a few more basic programs you could work on.
1. Basic proposition / calculation.
What: If I drop a ball from the height of 2m how fast will it be traveling when it hits the ground? (at earth gravity, no air resistance).
Why: I started becoming a serious programmer by coding these types of high school physics questions with my Casio graphics calculator (mainly to cheat :o). By the time I graduated I had nearly one hundred such programs covering everything from simple v=u+at to nuclear physics and special relativity. They are very easy to code; you ask a few simple questions and calculate an answer. No loops or GUI's needed.
2. Basic monetary text game.
What: Pick a theme and write a text based commerce adventure game! Make sure there is a way to win and a way to loose (bankruptcy) with an option to restart at the end. It could be a simple simulator like a game of roulette or lottery. I wrote a fun one called 'Fish pot' where you are the manager of a fishing company. Each 'round' you can purchase boats and pots with the money brought in from the catches (which are random but depend on the value of the boats and pots) and you must pay out wages and costs, loosing the odd boat along the way.
Why: Basic loops, user input (and validation), testing, random numbers and OO design (optional)
3. Math stuff
What: prime number sieves, n'th Fibonacci, probability calculators and Project Euler
Why: Programming is heavy on math, it is all computers really understand and they are terribly good at it. These kind of problems will get your brain thinking like a programmer and will pay dividends if you ever end up working on something special like dynamic algorithms.
Re: Give Me Some Project Ideas!
Thanks =p That monetary game i've kind of completed but it was very basic. But thanks for those ideas, I can try and take it a lot farther now, maybe try your boat idea =p
Re: Give Me Some Project Ideas!
Re: Give Me Some Project Ideas!
Re: Give Me Some Project Ideas!
Quote:
Originally Posted by
snowguy13
Hmm... I can relate a ton to what you're saying. Right now, I'm working on a tower defense game (mainly because it's something I've always wanted to do). As 2by4 said, I've found that if it's my own idea and something I find interesting, my motivation just skyrockets. I feel like a wrecking ball when I run into a problem, because my motivation not only gives me endless energy but surprising patience.
So, what all that means is that if
you can think of something that you're interested in (besides programming, unless you want to make an IDE :P) and find a facet of that passion to put into code, you'll find it much more intriguing and much more of a learning experience.
However, I can offer you some suggestions: perhaps a battleship game, tic-tac-toe, or checkers game (with a built in AI); a new type of game of your creation and innovation; or maybe something to improve the ease of something you do commonly (for example, I made functions that get the least common multiple, greatest common factor, and prime factorization as well as functions to find prime numbers in a certain range). There are many things you could do, from little activities and functions to large projects.
Here is a site I found on a quick search; hopefully it may inspire you. :P
Hopefully this helps!
Thank you for the site suggestion. I really liked it.