Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Final Year Project Idea

Options
  • 31-08-2005 3:26pm
    #1
    Closed Accounts Posts: 3


    Im thinking of doing the following project for college and im looking for as much help as possible.
    1. Im going to create a program for a palm top which will allow data to be entered into a database.
    2. This info will then be uploaded to a central database.
    3. Then create a program(GUI) to query this database.

    *So im looking for tips on how to create programs for a palmtop - languages to use.
    *How to create a database for the palmtop and a central database - again languages to use and any tutorials.
    *How to create a suitable program for querying the database - again best languages to use.

    I have good Java and C experience and I have also experience of using SQL.

    What is the best way of hosting the central database aswell.

    There is a good bit there so any help would be much appreciated thanks!


Comments

  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    It's good that you're thinking about your FYP before the year starts, but I'll be honest and don't take this too much to heart, but your initial proposal isn't really up to standard for a FYP. Basically what you've described is an application which accesses a database. Granted it runs on a PDA, and most likely uses a Wireless network connection, but it's not very complex.

    Throw in a few more layers of compexity on top of what you have already and come back to us. Since you know Java, you could write your Palm app using J2ME (check out: http://wireless.java.sun.com) and then just connect to whatever database implementation on the back end using JDBC. What I would do is think more about the application than the technologies. One thing that final year supervisors tend to shun is engineering the use of technology. Instead of finding a problem, and then considering which candidate technologies are available to best tackle the problem.

    Have a look at past FYP's and benchmark your proposal against them. Don't mimic anything in the past though. I've bachelors and masters degrees (in Information Technology) and currently doing a Ph.D. in Engineering, with experience in both doing and assessing undergraduate projects, so I base my suggestion on experience. In my time I have seen the best students find out what kind of technologies are common in interest to them and potential supervisors, and start off by having a chat with them. Tell them that you are interested and motivated to do work in the area of "Distributed Systems/Object Techologies" (for example), and have some initial ideas for a project. Often the problem with FYPs is that supervisors hate arriving on demo day to see another attempt of a project they saw the year before (and sometimes the year before that). Novel ideas get attention. If you are going to tackle something that was done before, make bloody sure you can/will improve on it significantly. Also let these improvements be known at your earliest convenience, because they are most likely going to be the core focus of your supervisor.

    Now I could make some suggestions to you myself off the top of my head, but it's best that I just put a kink in your think for now. The next academic term is about to start soon, so I propose you first narrow down who would be good to work under (for your specific area), and pay them a visit. Be enthusiastic. FYPs are not all about what you do/did, but what you learned and your ability to prove it (to your supervisor, not necessarily others). You will learn lots and you will hit walls, but the FYP is overall a great experience.

    Also depending on what you want to do next (after your degree) your FYP can be your ticket ahead. If you're heading out in to industry something applied, earning you experience with well adopted technologies is a good start (J2EE, .NET, XML, Web Services, etc). If you're staying inside (postgrad) perhaps you could consider exploring something of research value (and maybe even getting a publication out of it, which would be excellent at an undergraduate level).

    Good luck ;)


  • Closed Accounts Posts: 8,478 ✭✭✭GoneShootin


    phobos speaks the truth. When I did my Server Monitor FYP in Cork IT the main selling point was that I went out and learned Coldfusion especially for the task (which is funny now, shoulda learned PHP back then instead :D).

    Sup's like to see self learning outside of the regurgitated notes. Try something new and challenging. Even if the end application does not work, the research you carry out and explainations as to why you think it didnt work, and methods of resolving the issues, would still get you a fair mark.


  • Closed Accounts Posts: 3 jelly9


    Well what i have posted up is really just the basics background for the project i have a pretty good/novel idea for what this application will do.If you still don't think its worth pursuing then fine but any advice on what i posted above would still be greatly appreciated wether i go with that idea or not.


  • Registered Users Posts: 597 ✭✭✭bambam


    add in an element of 'Adaptive Mobile' as well, seems to be popular at the mo. (google it)


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    jelly9 wrote:
    Well what i have posted up is really just the basics background for the project i have a pretty good/novel idea for what this application will do.If you still don't think its worth pursuing then fine but any advice on what i posted above would still be greatly appreciated wether i go with that idea or not.
    Hello again!. Right well I can't really comment either way whether I think you should pursue your initial idea or not. Yes the initial proposal you described could very well be an element of a good FYP, but I would have to hear what else you plan to do. As you said you have a "pretty good/novel idea", which is something I would be interesting in hearing if you wish to share (if not I understand ;)).

    I would be willing to assess your proposal (informally of course) if you don't want to to publish it in the public domain (PM me). I perhaps could offer some suggested paths to take your project and of course provide you with some educational resources to get you on the road.

    May I ask where you are doing your bachelors degree?

    ;-phobos-)


  • Advertisement
  • Moderators, Sports Moderators Posts: 8,679 Mod ✭✭✭✭Rew


    If you yousing Pocket PC devices stay clear of java on them, its a pain in the arse. Use the .Net compact framework and C#. If its phones stick with J2ME.


  • Registered Users Posts: 304 ✭✭PhantomBeaker


    My first reaction was "Why not have a page in something like php that does most of the grunt work and have a browser connect to said page?"

    The rest is me thinking out loud.

    Otherwise, I'd say the best way to do this would be work with the standard Model/Controller/Display model (wow, I never thought I'd hear myself say that, and I'm just a student) - Display lives on the palmtop, your model is your database, and your controller is a layer that can translate between the two and lives on the server with the database. It talks to the database, and is the only thing to talk to the database - preferably keep the database invisible to but that (just a good security measure I find)... i.e. not publicly accessible, so it must go through that server and use its protocol.

    That's my general idea.

    Only problem with most of this is that it's reliant on a central server, if you're not able to contact it, there's no information. So if you want to store information (and on a small device, space would be at a premium) you'd need some sort of strategy to keep that information to hand... such as recent queries being kept.


  • Closed Accounts Posts: 324 ✭✭madramor


    Model/Controller/Display

    are you talking about model-view-controller MVC pattern?


  • Registered Users Posts: 304 ✭✭PhantomBeaker


    are you talking about model-view-controller MVC pattern?

    Yes, yes I was. I just forgot the name. Thanks. :)


  • Closed Accounts Posts: 324 ✭✭madramor


    Yes, yes I was. I just forgot the name. Thanks. :)

    well in that case, just a few points

    1:
    a database has nothing to do with MVC
    2:
    if the display lives on the palm it is a fat client and is not a view
    as described by the MVC, because its not controlled by the controller
    3:
    the controller process requests from the user and passes them to the
    model and then decides on what view to display to the user
    4:
    the model is your business model, this can sometime be required to
    get data from a database(the persistant layer).
    5:
    you can have seperate servers for the database and the MVC application


  • Advertisement
  • Registered Users Posts: 885 ✭✭✭clearz


    "Im going to create a program for a palm top which will allow data to be entered into a database."

    zzzzzzzzzzzzzzzzzzzzzz boring

    By final year of college do you mean Cert, Diploma or Degree.

    If you are doing a cert then a small database app would be adaquite.

    For a diploma a multitiered distributed system maybe using J2EE would be good

    For a degree I would stay well clear of database apps. Your skills should be sufficient to tackle a complex problem that will stand out from the rest. Think about the areas of computers that really interests you and pick a problem from that domain. A lecturer who is correcting projects is gonna get bored pretty quick when he/she gets handed a load of database apps that need the skills of a second year programmer to create. This might be ok if yours is on top of the pile but not so if its on the bottom.


  • Closed Accounts Posts: 324 ✭✭madramor


    clearz wrote:
    For a degree I would stay well clear of database apps.
    you cannot write off DB apps.

    how about a project base only on DB apps.
    use techniques like:
    jdbc
    Connection pooling
    Data Access Objects + Factory Pattern
    Security

    use different types of sql statements joins,sub queries,.......
    use different statements standard,prepared,...
    use different data types int,blobs,....
    use different databases oracle,mysql,.....

    then have a very simple front end GUI to run tests on all the
    above variables and display the info using something like JFreeCharts
    to display the results.

    learn everything about db and db programming, this would impress a
    lecturer because it is a PHD sort of project with data and graphs which
    show research rather than a project that can be downloaded off the
    internet and changed slightly, like most others are.

    it would also be good for your job prospects, as it shows research and
    the ability to learn new things.
    most importantly because it is all in one area, it mean you are compentent
    in that area, so your future employer can put you straight to work
    without having to invest further in your training.


  • Closed Accounts Posts: 1,136 ✭✭✭Superman


    i'll be doin a FYP in 2 years and i have a really useful i dea , that i can make work, now its simple (i can add a good deal of functionality if i like), but its really useful and everyone i've said it to likes it in theory.

    now thing is its standalone, uses simple ideas and functional idea, so if i got it all to work is it a valid FYP ? or do they have to be all be based arround things like internet/distributed/network etc . ?

    like i don't really want to do programming when i leave mny course i just want to do a project i feel comfortable with!


  • Closed Accounts Posts: 214 ✭✭rancheros


    clearz wrote:
    For a degree I would stay well clear of database apps. Your skills should be sufficient to tackle a complex problem that will stand out from the rest. Think about the areas of computers that really interests you and pick a problem from that domain. A lecturer who is correcting projects is gonna get bored pretty quick when he/she gets handed a load of database apps that need the skills of a second year programmer to create. This might be ok if yours is on top of the pile but not so if its on the bottom.

    This sounds like the exact words of one of my lecturers from last year, i've used a DB for the last two years in projects and he recommends for everyone in the degree this year to stay away from DB's

    Unless your going building a DB from scratch, anaylsis tools, etc.


  • Closed Accounts Posts: 8,478 ✭✭✭GoneShootin


    If you do decide to do a DB app - it may be worth your while to pursue something with Oracle. Something advanced with Oracle. You'll find the experience very useful post college.


  • Registered Users Posts: 20,994 ✭✭✭✭Stark


    DB apps with Web front ends were marks for nothing in my college. People with very poor skills used to consistently get more than 85%. Meanwhile I did a complex project and only got 70%.

    It used to make me sick reading some of my classmates logs:

    "Week 11: Install mysql"
    "Week 12: Install php".


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    madramor wrote:
    you cannot write off DB apps.

    how about a project base only on DB apps.
    use techniques like:
    jdbc
    Connection pooling
    Data Access Objects + Factory Pattern
    Security

    use different types of sql statements joins,sub queries,.......
    use different statements standard,prepared,...
    use different data types int,blobs,....
    use different databases oracle,mysql,.....

    then have a very simple front end GUI to run tests on all the
    above variables and display the info using something like JFreeCharts
    to display the results.

    learn everything about db and db programming, this would impress a
    lecturer because it is a PHD sort of project with data and graphs which
    show research rather than a project that can be downloaded off the
    internet and changed slightly, like most others are.

    it would also be good for your job prospects, as it shows research and
    the ability to learn new things.
    most importantly because it is all in one area, it mean you are compentent
    in that area, so your future employer can put you straight to work
    without having to invest further in your training.


    Depends on the college really. That would not be acceptable here, at least if you wanted decent marks.


  • Closed Accounts Posts: 884 ✭✭✭NutJob


    Yep i got good marks for putting a Web front end on some XML (Xindici)and that was Degree year (honours degree).


    But then again alot comes down to how swish it looks.
    I know of some projects that were all style and no substance that did well.

    Alot of industry interest in XML and the Standard Business forms.

    My advice would be to take a look at what industry is doing at the moment and add ur little bit to it. Do what interests you.


  • Closed Accounts Posts: 324 ✭✭madramor


    rsynnott wrote:
    Depends on the college really. That would not be acceptable here, at least if you wanted decent marks.
    you obviously don't understand the full issues involved in databases and
    interacting with databases.

    this project is only limited by your imagination and understanding.

    so many college projects are J2ee projects that do this and that, but
    the under lieing code and design is pure crap.

    now most people will tell you that they learn more in their first year of
    work than they do in there 4 years in college.

    Connection Pooling:
    the increase in performence VS creating new connections.
    how to manage the conection pool, how many connection to allow
    before it impacts on performance.
    Database security:
    the security of the DB its self.
    the security of the connection to the DB.
    the security of the requests sent to the DB.
    DAO:
    how good design patterns are implemented by code
    the benefits of good patterns.
    the easy of development due to pattern use.
    the future changes and how patterns help
    Sql:
    use all the different types of sql commands.
    how to tune sql commands
    Databases:
    learn how to setup and admin different types of DB
    the benefits and advantages of different DBs

    now I know that some people think that its all about flashy stuff that
    gets good marks, so i said through in the charts to display all the info
    you collected.

    The above project if done correctly will get you a top grade and more
    importantly will get you a Very Good job.


  • Closed Accounts Posts: 1,502 ✭✭✭MrPinK


    madramor wrote:
    you obviously don't understand the full issues involved in databases and
    interacting with databases.
    As he said though, it does depend on the college. At the very start of 4th year we were told that they just didn't want to see more database apps. Every year they were getting lots of them, and they wanted something with a bit more originality. Something that solves a problem, rather than creating a problem to solve. Regardless of how well you intend to implement it, you won't get past the proposal stage in some colleges.


  • Advertisement
  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    madramor wrote:
    you obviously don't understand the full issues involved in databases and
    interacting with databases.

    No, no, I'm an idiot. I've never even seen a database.

    Rule one of th'internet; assume no-one else has any idea what they're talking about :)
    madramor wrote:
    The above project if done correctly will get you a top grade and more
    importantly will get you a Very Good job.

    If you want a DBA or DB app writer job, sure.

    At my college (TCD) you'd get away with it for ICT, certainly, but they would NOT be impressed if you did it as a project for computer science. Now, when (sad, sad day) the two courses are combined at 4th year level in three years, that might be a different story.

    It just seems to me like reading books on databases and implementing one correctly. There is very little challenge.

    Though just being able to write db apps correctly would set you above about 50% of people doing these jobs... If I see one more sql-injection-tastic problem 'solution' posted on one of these boards, I shall scream.
    madramor wrote:

    now I know that some people think that its all about flashy stuff that
    gets good marks, so i said through in the charts to display all the info
    you collected.

    No, it's the original, challenging stuff that gets you good marks, I would hope.


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,097 Mod ✭✭✭✭Tar.Aldarion


    going into second year programming...this thread has scared the bejaysus out of me...good luck...


  • Closed Accounts Posts: 756 ✭✭✭Zaph0d


    Most lecturers have pet projects they would like someone to work on. They may have no interest in a project that a student comes up with.

    I insisted on carrying out a project that interested me rather than my lecturer and my arrogance was rewarded with being ignored while the lecturer concentrated on his 'own' projects. Of course the more involvement the lecturer has with a project the more inclined he is to give a good grade.


  • Closed Accounts Posts: 324 ✭✭madramor


    rsynnott wrote:
    No, no, I'm an idiot. I've never even seen a database.
    no one called you an idiot, i am suggesting you have a lack of experience
    is the development of large scale database type apps.
    rsynnott wrote:
    If you want a DBA or DB app writer job, sure.
    good software projects are broken down into sections, so the above
    project would enable you to join a development team working on the
    data access section.
    rsynnott wrote:
    At my college (TCD) you'd get away with it for ICT, certainly, but they would NOT be impressed if you did it as a project for computer science.
    here again you show your lack of experience in DB apps
    rsynnott wrote:
    It just seems to me like reading books on databases and implementing one correctly. There is very little challenge.
    its so much more

    Again the project covers
    DB admin
    Performance tuning of DB apps(sql,connection pooling,request types)
    Coding of DB apps using the correct design patterns
    DB security

    this really is a huge and complex area


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    madramor wrote:

    good software projects are broken down into sections, so the above
    project would enable you to join a development team working on the
    data access section.

    I realise this. It is, in fact, what I meant. If you want to work on databases, then fine.
    madramor wrote:
    here again you show your lack of experience in DB apps

    Explain this, please. It has happened. People are discouraged from doing them.
    madramor wrote:
    its so much more

    Again the project covers
    DB admin
    Performance tuning of DB apps(sql,connection pooling,request types)
    Coding of DB apps using the correct design patterns
    DB security

    this really is a huge and complex area

    None of these are things which require much original thought. I don't doubt that it's a huge and complex area; it just seems inappropriate for a computer science FYP.


  • Closed Accounts Posts: 324 ✭✭madramor


    1:
    as mentioned before when lecturers say DB apps, they are talking about
    i have a GUI(html,wml,swing,j2me) then j2ee server in middle putting
    stuff in a DB.

    Which has been done to death, and is very easy to download an app
    off the net and change it slightly to produce result.
    you will learn nothing from doing that sort of project


    2:
    rsynnott wrote:
    None of these are things which require much original thought. I don't doubt that it's a huge and complex area;
    the whole over all project is the original thought.


    3:
    rsynnott wrote:
    it just seems inappropriate for a computer science FYP.
    Programming part of project:
    a)
    you implement the DAO+factory pattern for each database you want to
    use.
    http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
    you would also use a xml file to store all the connection and sql command
    for each DB.
    if your going to test 4 different sql commands that do the same task for
    each DB, you store them in the xml and load it into the DAO.
    The DAO+Factory pattern + xml file to store config info is a very efficient
    and neat piece of code. It one of those pieces of code that you get very
    proud of.
    b)
    you also have to write the code to gather and process all the statical data
    that you will be collecting.
    c)
    you have to write the GUI to display the graphs and charts created from the
    data.
    d)
    within the DAO you must code for:
    direct connection
    connection pooling
    direct connection + security
    connection pooling + security
    e)
    you have to program security checks on the data passed to the DB where
    necessary

    4:
    rsynnott wrote:
    computer science
    this is a pure science project with staticial data which you analyise
    using graphs and charts and then produce conclusions.
    You could do a PHD on this project.
    you should read some PHD thesis there is very little Killer app type
    PHDs its all data and fact and conclusions.


Advertisement