Jump to content

The 'Computer Science Project' help thread


The Rock

Recommended Posts

Hi all,

I am in Final year of my B.E Degree (Computer Science), and I have to make a Project for this semester, and implement it in the next semester. Can anyone give me any help in this regards? Anyone else made it (Considering it is a Computers related Forum and many of you might be Engineers yourselves).

Any information, help, and ideas will greatly appreciated.

Thank you,

The Rock :)

Link to comment
Share on other sites


Something for a library is a valid idea (perhaps not an overly creative one though). Automatically categorizing books? Not a bad idea, but I don't know how you'd expect it to work (by keywords in title? that'd be too trivial almost. ISBN related? dunno...)

You can keep that idea and do something novel, new, unusual with it - bring the old book database app thing to a whole new level! Find some new and useful features people would want.

Do some brainstorming from looking at other apps (other book management apps, or even borrow some ideas from some other great apps).

I dunno... Perhaps things like:

-book reviews and ratings (a bit like amazon does, or IMDB does for movies) -- could work with some central login (student accounts) for other school related things?

-tag clouds instead of plain keywords

-availability and reservation features (and perhaps email students when a reserved book is returned, overdue books and such)

-work with barcodes (readers and printing them) if possible (fair amount of work to do from scratch though)

-reporting (so many possibilities! - overdue books, missing books, etc)

... (I could go on and on and on! Finding potential features is so easy)

And of course things like this are not just about features or such, but about programming, so I wouldn't go crazy on the features either, but would definitely have a solid architecture behind it (n-tier app, web services, good DB schema, etc). You can perhaps use an ORM or even code generation to speed up development if you're short on time (no idea how much time you can devote to this or of any project constraints). Good, maintainable, stable (unit tests, etc), well documented and commented code. Preferably use existing/well established standards (like MARC records in this case).

If you choose this, I would look into ways to get the existing data into your new app (can you even get the data?) Not like you can expect someone to manually re-enter every book, and without that data the app would be rather useless.

Anyways. So many possibilities, but not knowing how much time you can devote to this (nor how much you can accomplish per hour or day), not knowing much in terms of constraints (besides "C++ only" which seems odd), it's pretty hard to make any recommendations...

Link to comment
Share on other sites

Thank you all for your time and effort.

@crahak: I have 3 months just to make sure this will work, and next semester I have to implement it. I mean this time, I have to arrange all the give the idea, find what's needed, get the codes, hardware (if needed) and finalise. Next semester I have to stick the assembled things together and make it work, taking out all the errors and such. And it's not C++ ONLY, it's C++ as I am more comfortable with it. I can use either C++ or Java. Also, by implementation, I mean to show to my Lecturers how it will work. Not actally making it work in the Library. I can just take 10 books with me and show them "It will do this".

The librarty idea that you have provided is the best I have gotten from my own search, and other 'helps'. I couldn't get you on TAG CLOUDS". Also, I would rather not take the Barcode. I would make it difficult for me to make it too.

For the time being, I'll stick with the Library one. Would you help me with it?

Thank you all, I highly appreciate your help. :)

Link to comment
Share on other sites

3 months isn't bad. Not enough to code a masterpiece, but enough to create something useful, mind you there's so much more to do than just coding... Implementing it should be the easy part really (not much stuff to do for one whole semester sorta).

Gotcha on the language choice. I likely won't be of much help there, I'm very much into C#, and I do some C for embedded projects (atmels), but hardly any C++ ever. That alone wouldn't be too bad, but it also means you'll be using totally different frameworks than those I use, perhaps even different compilers and IDE and all. I've never written n-tier middleware in C++, and I wouldn't know where to start about making SOAP WebSvcs as a front end to that middleware (C++ CGI app running onto Apache? Handling all the serialization and deserialization to/from XML? WSDL? Security? etc), whereas in C# it's pretty much trivial (a few LOCs - The .Net FW, IIS and WSE do help a great deal and does a large part of the job). You're also likely to pick a DB I'm not as familiar with (like MySQL which I avoid like the plague). For all I know, your app could even be running onto Linux... (different language, frameworks, OS and all - nothing in common) Things like database interfaces (or available ORMs and everything else) will likely also be quite different.

Tag clouds? Think of it was weighted keywords or weighted lists. The more people tag something with the same keywords, the bigger they are shown. It's a fairly new idea AFAIK. It's used by a fair number of websites (flickr, del.icio.us, technorati, last.fm, etc) It's an interesting way to get better keywords, but requires users to participate (and to do that they must understand the system somewhat too). Say, you might have tagged a book with "cooking" which would have been appropriate, but it's not overly descriptive. With tag clouds, other people could add things like "health" or "gastronomy" as well. The more people tag it as such, and the bigger those will be shown as (and can be used to order results made by keywords). Other places (like google video) shows 'em all the same size, but ordered by the number of times specific keywords were submitted (keywords submitted most often show up first). Usually people can click on 'em to be directed to other items tagged with similar keywords. Using tag clouds was just an idea, trying to find something new to bring to an existing field that's cluttered with similar apps, but I'm not saying it's necessarily a good idea (or even if it is, perhaps it's a very low priority idea, WAY behind a decent set of reporting features, good usable/easy/intuitive interface and such things)

I don't mind helping a bit, but I don't know if I'll be of much use honestly.

Link to comment
Share on other sites

It wouldn't really matter, C++ and C# are very similar. And C++ is just a superset of basic C.

I'm not arguing if the language themselves are similar or not (they're all from the same "family" so of course they must be similar to some extent - but each language has their own set of extremely useful features e.g. generics or templates, polymorphism via inheritance, reflection, threading and much more things)

Regardless of that, it will truly make a mega-huge difference:

-managed and unmanaged code (I'd call that a very significant one... garbage collection is a great thing)

-C# doesn't use a billion header files (which I don't know)

-the difference between using frameworks I know thoroughly (like .net fw) or some I've likely never even heard of

-the difference between using database interfaces I know quite well (ado.net) or god knows what else (java has jdbc, but c++? no idea), likely different ways to use stored procs (prepared statements), and will likely influence DB choice a great deal (mssql 2005 express or perhaps MySQL instead)

-the difference between using dev tools I know in and out (visual studio), or those I've likely never even seen

-the difference between knowing the common 3rd party tools (code gen tools and templates, apps for app architecture/patterns/UML, tools for unit tests and continuous integration, etc) or not at all

-the difference between writing little bits of code to make SOAP web services sitting at the top of your middleware running on IIS (secured via WSE), or writing apache CGI modules in C++ from scratch (including all the serialization/deserialization to/from XML, descriptions, contracts, security and pretty much everything else by hand... or perhaps using tools/apps and frameworks I've never heard of - no thanks!)

(no point going on for 10 full pages of this stuff really)

With C# you've got visual studio's help, you've got MSDN (online or downloaded), TONS of webcasts, a good amount of training videos (a good part being free - and some being just dirt cheap, like learn247's), the .Net FW SDK, quickstarts, newsgroups (including MS' own NGS servers), forums, MSDN blogs, architecture mag and msdn mag, tons of samples, TONS of community sites (like codeproject and such), and countless more resources (versus god knows what for C++) - and arguably some of best dev tools out there, if not the very best.

So in short, it WOULD truly matter a great deal. Both scenarios are like totally and completely different, with the exception of both languages looking somewhat similar.

But language choice isn't mine, and I don't think he should pick whatever suits me best, but whatever HE's more comfortable with (I won't be the one coding all this) - and I don't mean based only on the language itself, but also on what dev tools and everything else (perhaps he does know linux and apache a great deal even though I sure don't, and he could be greatly familiar with everything C++ and also find C# totally alien)

Link to comment
Share on other sites

Dear crahak,

Thank you for your patience and help. I talked to my concerned Project Co-ordinator about the project, making all the points you mentioned. He pointed to some problems that might arise. I'll let you know topic wise.

I said we'll maintain a Library web

Book Rating - I said Users can give the books ratings. He said like in a movie, the ratings depend on acting, storyline, direction and screenplay, on what basis will the students vote? What criteria? I replied the ease of language, the way a topic is dealt with by the author. He said all your books are technical, so the ease of language is almost out. And he said like authors, students also have a way to learn, and might have differences on which author deals with the same topic the best.

Tag clouds - He agreed, he said it's s nice idea, but how many users are going to do it? Many of them are ignorant. Moreover, there are so many books, who will tag them, let alone do a multiple tag? I will have to produce dummy hits.

Reservation/Due Date back/Issued to/copies remaining - Good ideas, but it seems these are the only ideas remaining.

He has asked me to tell me some other features as well (Well, I was 50 minutes late, so I had an alibi that I just thought it up and will finalise it this week).

Well I hope you're there for me throughout to help me. All of you guys, thank you, and I appreciate it.

The Rock

Edited by The Rock
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...