project idea ???

Posted on 2004-08-27
Last Modified: 2010-04-17
I am looking for an innovative project idea ..... related to program or algorithm development ...can anybody suggest some ???  Anything interesting that can be explored in Data Structures... (I have knowledge of C/C++ )... Any idea on some existing Algorithm which can be improved may also do....

                 thanks in advance !!!!!  (prompt response might be of greater help)
Question by:pag_floyd
  • 4
  • 2
  • 2
  • +6

Accepted Solution

bramsquad earned 66 total points
ID: 11916248
project that i did which explored both of those, is a smart fibonacci algorithm

what i mean by this, is write a recursive structure, which has the ability to save its values and look them up later

so when you figure out what fib(n) is, you can use that as a base case.  

why this is good for both, since the fib() function has the algorithm efficiency of 2^n, you can see how much it helps the effiency, plus you can implement your data structure with a linked list, which is a more advanced data structure.

if youre not sure what any of the terms are i explained, let me know, id be glad to explain it in more detail.


Assisted Solution

boulder_bum earned 62 total points
ID: 11918473
Trying to parse and calculate an expression is fun and tricky.

4 + 2

Is simple enough, but how do you handle:

12 * ( 4 + 1 ) / 10

You have to account for order of operations and stuff.

One of the textboxes I used to learn programming converted everything to postfix notation then used stacks to run through the expression and arrive at the final result. It was pretty neat. I've heard of people doing this with binary trees also.  
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 62 total points
ID: 11918746
Any kind of collaborative process using UDP or TCP sockets always is a good idea, so you can create "supercomputers" based on dozens or hundreds of pcs with the proper network interface software and some core calculus functionality.
Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.


Assisted Solution

somecuriousguy earned 62 total points
ID: 11919534
You could write a scripting language, that could accept values from a database ( a comma or tab delimited text file). Consider a text file with columns and rows:

ID, X, Y
1, 300, 200
2, 700, 1000

A template xml file as follows:
  <id>@ID</id> // the column name

the program should accept the text file as input, the xml as a template and create 2 xml files called <@ID>.xml, ie, 1.xml and 2.xml. The values from the text file should be used to fill each xml, eg
1.xml should look like:
  <id>1</id> // the id from first record is inserted here
  <x>300</x> // the x value first record is inserted here
  <y>200</y> // the y value first record is inserted here

Think about it, you could use expressions to evaluate to fill the output file, example instead of @X, you could specify (@X + 5000)*(@Y^3)/@ID...and so on. The template could be any file (not necessary xml) All you have to do is replace the expression with the appropriate values from the database. The database could even be an access or dbf or even a table in sql or oracle.
Another example.
Consider a text file with names of directories to delete as in


You could have a template that looks like this
echo "deleting folders"
del @Folder
echo "folders deleted"

The output batch file would look like
echo "deleting folders" // the header
// the records
del c:\temp
del c:\abcd
del c:\efgh
// the footer
echo "folders deleted"

you could specify the output file name in the command line, or use a variable to specify different files (eg @ID.xml as the output file)


Expert Comment

ID: 11919663
When I said "textboxes" I meant "textbooks". :-D My fingers have a mind of their own after a long day of coding!

Author Comment

ID: 11920517
...evaluating postfix expr. , it's all around , nothing innovative

...someciuriousguy.... ur idea went over my head.. u apparently r suggesting use of oracle etc. which , presently ,I  have no knowledge of!!

...jaime_olivares... ur idea was not too explanatory would like u to shed some light

...I am not satisfied .want more ideas.....something in direction of algorithms or data structures , if programming...any other innovative idea(but not too complex ) is also welcome
what abt digital watermarking it doqable in short time of 15 days with not much knowledge of background of it!!!

Expert Comment

ID: 11920584
look at it this way.
A program to generate thousands of similar files by using values from a comma delimited text file. This text file is like a table with columns and rows. Each output file gets it value from a single record in the text file. So if you have a 1000 records in the text file, you will get a thousand output files, where all output files are similar except the values in them. So the input to the program would be the text file and the sample file, of which the output files are to be generated. The program will read the first record from the text file, fill the variables in the sample file from the values of the first record, and create an output file. Then it reads the second record, and creates a second file, etc. Now go back to the xml sample and see if you can understand it.

Dont worry about the second sample. If you can understand the first sample, you should be able to figure out the second one.

If you understand the text file as a table, you could in future substitute the text file with another table, like an access, sql or oracle table.

Hope this helps :)

Assisted Solution

aravindtj earned 62 total points
ID: 11921584

Why not you try for a innovative algorithms like Genetic Algorithms for Optimizations.
 You try to optimize some traditional problems like TSP.
All the best.

Assisted Solution

RLBE earned 62 total points
ID: 11921876
speaking of algorithms..

maybe you could do something that would accept inputs in the form of formulas (eg. n(n*2)/2)
and calculate the notations, the BIg Oh's, Big Omega's, etc.. and graph them visually... :) and calculate the best cases, average and worst cases, that kind of project could be more challenging..

Expert Comment

ID: 11926311
How about recreating the functionality of an advanced graphing calculator (including solving algebraic expressions, calculus limits, etc)?

Expert Comment

ID: 11926388
Or build your own language and/or optimizing compiler (which typically makes heavy use of data structures).

Author Comment

ID: 11939990
any more suggestions ???

Assisted Solution

croag earned 62 total points
ID: 12137147
how about designing a DB using multiple different RDMS, attaching them to a front end, and then produce reports on a form that showed the performance differences (seektime, sort speed, query retrival etc.) between them all, you could also show the performance difference between the various RDMS and local vs networked DBms' . That would be interesting...especially to see the different stats that you could produce and all the different visual ways to represent the data

-- croag

Assisted Solution

gbajramo earned 62 total points
ID: 12168247
You didn't share your sill level but here are a few random ideas.

Writing simple games is usually a great way to stretch your programming muscle. If you are coding in C, you will have a lot of opportunities to use variety of data structures and algorithms.

If you have some TCP/IP skills, you could explore network mapping (for LAN should be fairly simple). Having a program Generate network diagrams on the fly can be fun and educational especially if you like working with tree structures.

If you want to play with strings and search algorithms, a simple AI simulation could be fun. You could ask computer a question and try to simulate intelligent responses. Of course, you would want to stick with a very narrow topic or you could spend a lifetime on this.

Try writing a robot that searches for certain kind of informaton on the Internet.

Write a spam filter.

If you like playing with images (you mentioned watermarks) try scanning some documents with randomly placed bar codes and have a program that will locate the bar code on the document and read it. Make it more complex by trying to locate other fields such as SSN etc.

I could go all night. What's important is that you are having fun and challenging yourself at the same time.

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Exe program is not a valid Win 32 application 15 108
how to update exe applicatio from internet ? 6 76
egit plugin on eclipse 8 62
VbScript to countdown to New Year's Day 6 54
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question