• Post Reply Bookmark Topic Watch Topic
  • New Topic

Help need to choose project  RSS feed

 
Tushar Goel
Ranch Hand
Posts: 934
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I am working as a Jr Java developer and trying to extend my knowledge. As i am having very limited exposure to work at my office so
i am trying to do some projects myself to learn.

I thought to do in 3 steps:

Step 1) Implement single threaded application
Step 2) Change it to multi threaded
Step 3) Add gui stuffs. Servlets or JSP

Could any one of you please suggest some projects so that i can learn step by step?
 
K. Tsang
Bartender
Posts: 3648
16
Firefox Browser Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If your goal is to learn how to write multi-threaded (concurrent) apps then still with core Java because servlet runs in Java EE containers which cater multithreading to some degree.

What to write? Any file-based dependent app will suffice. An example:
Write messages to some log file, what happens when multiple clients write to the same file?
Write data to some data file (similar to database table), what happens when multiple clients write to same file?

When changing to multi-threaded, you will need to learn about network programming (eg sockets, RMI). Try to write the server in both approaches.

Then learn about locking mechanisms/strategies (aka how to prevent data corruption). Mastering locking will help you in concurrent programming.
 
Tushar Goel
Ranch Hand
Posts: 934
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Tsang... So you mean i should learn following ways:

1) Write a data to some file when multiple clients want to write it to the same file
2) Create server using sockets or RMI for multi-thread. Ex: Chat server or writing some data from the multiple thread in same file

Also i like to improve my oo design and implementation skills in addition to multi-threading.
 
Tushar Goel
Ranch Hand
Posts: 934
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I searched about few projects. I am reading about their description.. Any advice from you guys. Projects are:

1) ATM Simulator
2) Pig game
3) Distributed Reservation Management System (DRMS) using Java RMI
4) Tic tac toe game Computer vs player
 
K. Tsang
Bartender
Posts: 3648
16
Firefox Browser Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Have you decided which of those projects you're going to attempt?

The DRMS project is probably the one I would recommend.

The ATM program is really putting clients in queue for each ATM machine
The Tic Tac Toe game.... it's a game (against computer) makes it more AI then concurrent programming
No idea what the Pig game is really
 
Campbell Ritchie
Marshal
Posts: 56600
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Agree the game should be played as a single‑threaded application.
 
J. Kevin Robbins
Bartender
Posts: 1801
28
Chrome Eclipse IDE Firefox Browser jQuery Linux MySQL Database Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
One that I did in school that I found interesting was a drink vending machine simulator. Decide on your parameters such as four different drinks, 5 cans of each, all the same price. Then create a change maker class that can make change for various inputs. Make it so it can indicate when a drink is empty. To make it more interesting, add more drinks, different quantities and different prices. Limit the number of coins in the machine so if it can't make change it displays an "exact change only" message.
 
Tushar Goel
Ranch Hand
Posts: 934
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@Tsang, I was thinking between ATM or DRMS, but as you suggested i will go DRMS first. Yeah tic tac toe was more like AI
(actually i just completed my algorithm class in which i completed 8 puzzle assignment which also used AI so i included it because of that)

I will start working on ATM from Monday onwards. In mean time i will read about some Java 8 feature like lambdas to use in it and SOLID principle.

@Campbell, Yup this games are single threaded

@Kevin yeah that one too looking interesting.

Thanks all once again..
 
Tushar Goel
Ranch Hand
Posts: 934
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have started a new Thread "Distributed Reservation Management System (DRMS) using Java RMI" for project. If you guys get a time, please look at that and suggest.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!