Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Programming projects-suggestions 5

Status
Not open for further replies.

progcompu

Programmer
Sep 18, 2009
34
GB
Hi All,

I thought it would be useful to start a list of useful projects which everyone can use as practice to:

1. improve their programming,
2. add to their "portfolio",
3. put on their website,
4. present to future employers

etc.

I have some ideas and suggestions but I though I would see what everyone thought first..
 
One of the most common themes I see in this forum is automating Excel. So something which involves automating Excel.

Also, companies are always interested in information. So something with the ReportViewer control could work.

For projects with medium to high difficulty:
1. An application which makes use of multiple threads. It would include a single-threaded version to demonstrate the performance gains achieved with multiple threads. Could be a data processing application.

2. Any sort of project which communicates with another application via TCP/IP/Sockets.

3. Some sort of project which demonstrates the benefits of LINQ. Could be another comparison type project -- how LINQ improves performance.

 
There are many reasons why the first program most book do is a check book program. There a so many things it can actually touch upon. So if we are saying now your(anyone taking these suggestions) a more advanced programmer I would actually say go back and do it again(or now if you never did before). If you have done it before it can be very interesting to see the difference in how you do it now. What new knowledge you can bring to such a program. You can then also see how you might integrate it into emails alerts you may receive from your bank, any web components your bank may have, etc.

-I hate Microsoft!
-Forever and always forward.
-My kingdom for a edit button!
 
Hi Riverguy,

Some good ideas there.

Some simpler, game-type programs:

1. Games (e.g. Chess / Noughts and crosses/ 3-dimensional noughts and crosses )
2. Cricket scorecard
3. Football tables/fixture lists/result predictor

Plus a utility program:

4. A program which converts data/tables/a database from one type of database to another. e.g. data in ORACLE to data in Access or vice versa.
 
Would future employers want to know if you wrote a game program (unless they're in that industry)? I've never been asked that. Database and office interfaces always top the list.

I don't know that doing hobby-type programming is going to influence an employer.
 
Possibly. I really wouldn't think most would be that interested in the fact you made any games unless they were in that industry. Still if you can show a quality finished program of anything that is a big help. The key being quality and finished. A friend does all the prgrammer hiring over at his work and he said that was the biggest thing they agreed on.

-I hate Microsoft!
-Forever and always forward.
-My kingdom for a edit button!
 
Games are a favourite for some programmers when they go out and work out there. Smaller games are also a great way of beginners becoming fascinated with programing and going onto bigger things. Hopefully ;-)
 
Sorwen,

Does quality mean that the code works, or, the structure of the code, or, both? I'd be interested to know what quality means to them.

I used to program AS400 in COBOL and RPG and a guy who claimed he wrote solid code had the most miserable spaghetti code I've ever seen. The programs worked just fine, but, to make any changes was a mess for anyone but him.
 
It would be a bit of both. I'm sure they have a bit of leeway between quality and function. About the only other thing I remember him saying about it was quality documentation in the code was another thing they looked for. Which makes sense if you have to be a little convoluted about it then if it is well documented then that doesn't matter as much. If you've gotten the job done and the next person that might have to work the code can understand what you did so they can just jump in and easily make changes that is highly important.

-I hate Microsoft!
-Forever and always forward.
-My kingdom for a edit button!
 

As far as practice, I would suggest programming something that you know how it is supposed to work:

stop lights at the intersection, you can add walk/don’t walk signs, turning lanes, etc.

Elevators – main floor, 2 floors above and a basement. To complicate – use 2 elevators side by side.

Games fall into the category of ‘know how it is supposed to work’

I find the biggest challenge in writing any program is to squeeze the information out of the user(s) of ‘what needs to be done’ by the program, what does he/she/they want the program to do. Not ‘how’ but ‘what’. And get all the rules, exceptions, and ‘but sometimes’ scenarios.


Have fun.

---- Andy
 
Thanks guys!

This thread is just to suggest ideas and hopefully it has done that. The idea about traffic lights is one I have come across in Realtime systems programming-good idea.

In terms of quality I think (IMVHO) that it covers everything, the way you design the code(not class design but overall design-architecture), the code itself(class structure,data structure etc), documentation, testing and its documentation and finally maintenance(this could be influenced by the way you originally wrote the code).

If you are looking for that first job then you may not have covered all these but if you wrote the code well then the other areas can follow later on with experience.

Just my thoughts thats all..


 
Thanks Sorwen. That's always been my view as well. Code so the next person coming along can understand it. have a star. A star to you as well progcompu for having such an interesting discussion.
 
Have a star back lol.

I like the way this conversation has turned to quality of code rather than "Can someone do my homework for me, its 50 pages long" ;-)
 
How about:

5. An exam engine-one which sets questions and marks it
6. A bank account program
7. A loan calculator(calculates repayments over a period of time)
8. A Calculator
9. A text editor
10. A File utilities program-file renaming and file format/writing tools
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top