Hello guys, for a School assignment, I need to code a program in VB.NET or C#. The only requirements of this program are:

  • It must use file IO in some form
  • It must take between 1 and 4 weeks to finish (assuming that I work on it 1-2 hours a day)

I don't want to do something "simple" like a Connect 4 game. I'm hoping that those of you with real world experience can suggest some "neat" ideas on what I should code. Ideally, this would have a big "Wow!" factor.


  • unjumble takes a string of characters and finds all the words (or sets of words) that use up all the letters. You need to read in the system dictionary to do it
  • signature takes a text and finds statistics about the text, treating it as just an array of characters. For instance, look for a count of all possible two, three, or four letter sequences (just count the ones you see, of course). You may find that author's signature are pretty consistent across their works, but other authors have different ones. I wonder who really wrote Shakespeare's plays...
  • statistics counts sentence length, phrases per sentence, phrase length, average word length, how many of each kind of punctuation, etc. Compare various authors. Can you correlate some of these measures with "readability"? With "pleasant reading" versus "technical reading"?
  • password creates memorable passwords that are also reasonably crack resistant. Use words from a specified dictionary, and interleave numbers, perhaps. If your input dictionary has different sections for different parts of speech, you can even automate creation of meaningless (syntactically correct) sentences.
  • rolodex uses a text file in some 'easy' format to keep track of related data (name, address, phone, email, birthday, relationship, ...). You only need a search facility; since add, edit, delete can happen in a text editor.
  • billable keeps track of your billable hours for various tasks. For a student, maybe this is called study-time. Keep track of start and stop times for each time segment (starting a new segment auto-stops the prior one, probably). Segments have some kind of name. Some of them are not "billable" such as "lunch" or "take a walk". Report on how you spent your "billable" hours for today, this or last week, any start and stop dates, or any arbitrary list of dates.
  • gradebook allows a teacher to keep track of multiple classes, each with some students. Each "column" has a specified weight, so midterms count more than homework. The interesting thing is the UI and the reporting options.

FYI: I have actually implemented rolodex and billable for my own use. Rolodex took a few days. Billable a few weeks (because I spent a lot of time on the UI). I did not use a Microsoft language, though.

how about a cool background application that would produce random fizz effect on a block of text typed in any text editor like notepad or wordpad or ms word.
individual letters would haphazardly just bounce around in the window area of the editor for a specified amount of time and then come back to exact positions
it could be like a prank. also, after the zig zag motions, it could like jumble up so that the sentence would be utter rubbish.


You could try making a program to either compress a file, or a program to split a file into pieces. The reason you may want to split a file into pieces could be it needs to fit on a FAT32 file system and is larger than 4 GB.

You could just generate a 4+GB file to work with when testing.

Say perhaps you have a flash drive that you can't store a DVD on, then the file split may be handy. Of course you have to re-assemble the pieces too. Could also be used to overcome some file size limitations like say, a limit of file attachment sizes for emails.

Some other classics:
"ToDo" list: Show a list of appointments for the day/week/month (bonus: sort by date/topic/importance)
"Budget": Here's how much money I have, and here's how I'm going to spend it.
"Shopping List": Here are the products I use and here's how much I have left, generates a list of things to buy at the store.
"Recipes": Here's what I like to eat, and here's the list of what I need to make it.