Project Titles and General Guidelines Document

advertisement
Software Project Guide
Page 1 of 9
Software Project Guide
Semester Spring 2015
Created By,
Research and Development section,
Department of Computer Science,
Virtual University of Pakistan
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 2 of 9
Table of contents:
1.
2.
3.
4.
5.
6.
7.
Topics
What is a software project?
Purpose of a software project
Should I take software project?
Eligibility Criteria
Guidelines to register for a Project
Grading Policy
Software Projects for Spring 2015
Page no.
3
3
4
4
4
4
5
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 3 of 9
Whom to Contact?
This booklet provides comprehensive details to the students who are planning to take Software
development projects as their final projects. Therefore, such students are advised to go through it in
complete.
If any of the quires are unsatisfied even after having read the information given in rest of the booklet
then students should contact to concerned supervisor.
1. What is a Software Project?
At first it is important to understand what the software is? “Software” can be defined comprehensively
as,
1“Computer
Programs that, when executed provide desired function and performance, data structures
that enable the programs to adequately manipulate information and documents that describe the
operation and use of programs”.
Looking at the definition indicates clearly that developing software does not mean mere development of
programs (or code) rather it requires the related documents to be produced as well.
To develop software effectively requires following a process. Each stage of this process culminates in one
or more artifacts.
Examples of software projects are, software developed for face recognition, building a Customer
Relationship Management (CRM) System, Flight Simulation System, Point of Sale (PoS) System, a Web
Portal, an Electronic Store Front etc.
Software projects can be aimed at producing a desktop application, an embedded application (like to be
used in microwave oven) or some online application.
2. Purpose of a Software Project:
The University aims at producing such IT professionals who leave the impression of excellence in
knowledge and skills in their professional lives. Students are encouraged to come up with innovative and
unexplored ideas while addressing a problem.
After having completed the project students will be expected to have the following skills,
It will provide the students with an opportunity to implement the concepts they have learned
throughout their degree program so far.
Awareness of the latest technologies being used in the industry and more importantly the
application of those technologies.
Knowledge of all the formalities required to undertake a software project.
Enough confidence to take the challenges of their practical environment.
This definition is taken from the book “Software Engineering A Practitioner’s Approach (Fourth
Edition) by Roger S. Pressman”
1
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 4 of 9
3. Should I take Software Project?
The development project is recommended for those students who have an aptitude and interest (equally
important) for development. Presence of analytical skills to solve a problem is also highly requisite. If a
student finds these ingredients in himself/herself then deficiencies (to a certain extent) in the areas like
programming, data base and software engineering etc can be overcome but such a student will have to
put extra efforts (depending upon the deficiencies) to make his/her weak areas stronger. As having
ambitions only does not lead to the goal, one has to strive for those ambitions to get them materialized.
4. Eligibility Criteria
No student below 1.75 Effective CGPA will be allowed to take the project title.
MCS/MIT Students must have completed 30 credit hours to become eligible for taking the final
project. So don’t enroll in CS619 course or drop your cs619 course if you have earned less than 30
credit hours.
BSCS/BSIT Students must have completed 90 credit hours to become eligible for taking the final
project. So don’t enroll in CS619 course or drop your cs619 course if you earned less than 90
credit hours.
5. Guidelines to register for a Project
Please read the following to get to know, how you can get registered for you final project.
First of all, you have to enroll in CS619 course in Spring 2015 semester through course selection
(contact course_selection@vu.edu.pk for enrollment).
Carefully read the eligibility criteria and only send a request if you are eligible to take a final
project title. Otherwise drop your cs619 course. The project selection will be done through LMS.
Students will be required to make groups. In a group maximum two (2) students are allowed.
A student can also choose to do the project alone (a single member of the group instead of two)
Students who fail to submit their final project in specified duration (two consecutive semesters)
will need to take course CS619 in extra semester to continue the same project.
6. Grading Policy
Students will be clearly communicated about the deliverables they need to submit on specified dates.
This is important to remember that each deliverable carries a significant weightage so students are
advised to take each deliverable very seriously and submit it according to the date announcements
according to the submission schedule.
While evaluating the students the following factors will be considered important
Effective use of time and of visual aids.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 5 of 9
Organizational and presentation skills.
Seriousness and dedication of the students in meeting the announced dates for each deliverable.
7. Software Projects for Spring 2015
Following is the list of projects which have been offered for Spring 2015.
Students can only select a project from this given list.
Students have to adhere to the requirements specified with each project as the evaluation of the
executable artifact will be performed accordingly.
Next, each offered project’s detailed information is provided.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 6 of 9
Urdu Stemmer
Stemming is the term used in linguistic morphology and information retrieval to describe
the process for reducing inflected (or sometimes derived) words to their word stem or
root form i.e. generally a written word form.
(Wikipedia)
The goal of both stemming is to reduce inflectional forms and sometimes derivationally
related forms of a word to a common base form. For instance:
am, are, is  be
car, cars, car's, cars' car
(Stanford)
This application will apply stemming on Urdu words. Given an input comprising one or
more words separated by space character, it will reduce them to their base form.
Input
Output
‫باتوں باتیں‬
‫بات‬
‫الحاصل‬
‫حاصل‬
‫الزوال‬
‫زوال‬
The complete method and steps to implement such a stemmer are given in following
research paper. So you have to first read and understand it completely. Then implement
it the same way. Your final deliverable marks will depend on how well you have
implemented the idea from the research paper, in your application:
http://www.aclweb.org/anthology/W09-34#page=50
You need to implement everything, so no readymade or built in solutions for various
aspects of application, will be acceptable.
Don’t forget to put reference of this paper at appropriate place inside your final report.
Tools: Java, Microsoft.Net, Python, or any other modern programming language. SQL
Server, MS Access, MySQL, Oracle or any DBMS tool.
Supervisor Name: Usman Waheed
Email ID: usman.waheed@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 7 of 9
Framework for Plagiarism Detection
Plagiarism is the term that is used to describe the situation when a writer copies another
writer's work and passes it off as their own. A plagiarism checker is an important part of
current era. Increased number of students and assignments according to current trends
and accessibility of artifact over the Internet has increased the probability of copying.
By employing a plagiarism checker, we can quickly check whether a body of work contains
any sections that have been copied from elsewhere. Teachers are increasingly aware of
the issues of plagiarism and check work frequently. This helps them to identify students
who are using plagiarism as a form of cheating. Proposed solution is for java code or other
language.
Types of plagiarisms:




Simple copy-paste with some spacing and comments modification.
By renaming Methods, fields, classes
Reordering of the code that does not affect the final output.
Addition of redundant lines of code and some advance level plagiarism is also done
by Changing of the control structures, mixing of several sources, mixing of own and
others’ code.
Methods to deduct the plagiarism:
Following methods will be used to deduct the plagiarism.
1. Attribute counting
I. Counting operators and operands
2. Structure metrics
I. Compare the structure
II. Usage of tokens
Following architecture will be used for java code
1. Analyzer – lexical and syntactical analysis of the code
I. Language specific
II. Produce the syntax tree and stores it into the database based on ANTRL (Another
Tool for Language Recognition).
2. Comparator:
Compare elements can be used to compare code, parse/ syntax trees or fingerprints.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 8 of 9
Working of system:
i.
ii.
iii.
iv.
v.
vi.
vii.
viii.
ix.
If the database contains Fingerprint for file I, go to IV
Call compute Fingerprint (file1)
Store the fingerprint f1 into the database
If the database contains Fingerprint for file II, go to VII
Call compute Fingerprint (file2)
Store the fingerprint f2 into the database
Forward the fingerprints to the comparator
Call compute Similarity (f1, f2)
Store the values into the database
Report Generated:
In the end report will be generated which will show the matching statistic of file 1 to
others files.
Note: student can choose any language instead of java
Supervisor Name: Tanweer Arshad
Email ID: as2@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 9 of 9
“The Smart Miner”-Efficient Data Mining Software
It is a desktop/web application which will provide the facility to implement the different
Data Mining algorithms to its user. The algorithms include “1R”, “Mean Imputation”, “Hot
Deck Imputation” and “Binning”.
Understanding and learning of these algorithms is mandatory for the students.
Helping/Supporting PPT File
Supporting PPT file can be downloaded from:
http://vulms.vu.edu.pk/Courses/CS619/Downloads/classification_sm.ppt
Requirements
1. There is only one user of this software.
2. The user will enter the data set in the software on which the Data Mining
algorithms will be performed. The software should handle any data set (small, big).
3. The software should give the option to classify the data with the help of 1R
algorithm.
4. The software should give the option to deal with missing values.
a. In this process two algorithms will be used:
i. Mean imputation
ii. Hot deck imputation
5. The software should give the option to deal with the noisy data. For this purpose
“Binning algorithm” will be used.
Tools:
Development environment:
Java, Microsoft.Net framework, or any other modern programming language
DBMSs
SQL Server, MS Access, MySQL, Oracle
Supervisor Name: Shabib Aftab
Email ID: shabib.aftab@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Download