Final Year Project idea by one of our Respected members Altaf - TopicsExpress



          

Final Year Project idea by one of our Respected members Altaf Malik There could be hundreds and thousand of projects but obviously they need to be selected based on the skill level of the students with objective to transform the theoretical knowledge that students has gained in previous semesters into a real world projects. Every project is not for every one, so project list cannot be generalized. Below are few that instantly came into my mind - not to mention they should be selected with care to suit the individual circumstances of each student. (1) Database transformer: You can write a tool (in choice of your language) that could act as a front-end to *many* (not all, but the list could grow up with time) databases (like oracle, mysql, postgresql, sql server, db2, sybase etc). Yoiu can start with one or two databases initially. The tool should accept queries in a single standard format and should transform them to the format the target database accepts, take the response from the actual database and sent it over the connection. This would be a mini-db but without storage and processing engine. Benifits: Users can use this tool to develop there applications and connect any database of their choice without a need to modify the application and queries. If they feel Oracle is costing too much for the load of their application, they can switch to an open-source free database like postgresql or a cheap one like SQL Server. (2) Hybrid Cloud (An example is OpenStack) You can write frame-works to create public or private cloud. OpenStack is an example, but it is in initial stages. You can take it and add the features on top of it - there is a lot of work to do in this domain There could be many more like this, but it takes a lot of time to write them down, and as I said, they dont fit for every student, it is useless to spend time on this without knowing the aptitude of students. In my opinion, the following requirements should be kept in mind when selecting a project. A. Team co-ordination: Students should be encouraged to select projects in a group of 3-4 students so that they learn how to work in a team. As a result, the scope of the work should be increased, and every team member should have a clear targets what he needs to implement in his module of the project. Usually in a group, one student works and rest of all enjoy. A central code repository should be kept (like CVS, GIT, SVN, VSS) so that the history is maintained and students progress can be checked. This way, we can be certain about exactly what was the contribution of student x to the project. B. Technology: Student should not be expected to learn a new technology for their project - let them implement it in the choice of their language - the one they know best and increase their efficiency in that language. If you think it is not sufficient for them to enter the market - update your curriculum. C. Algorithms: The project should have reasonable algorithmic scope (developing a user interface and doing CRUD operations on click of a button does not involve anything like this) D. Data Structures: There should be enough space for creating data structures and designing true Object Oriented Systems. E. Memory Management: Students memory management capabilities should be tested. Performance should be benchmarked for different workloads and students should be asked to improve the results at different stages of the software development. F. Documentation: Every group member should be responsible for documenting his own part of the project. There should be different levels of documentation - Technical Spec, User Guide, Design Specification etc.
Posted on: Wed, 23 Oct 2013 05:42:21 +0000

Trending Topics



Recently Viewed Topics




© 2015