Mini Project

>>> Project Page <<<

1. Objectives
2. Hardware Requirements
3. Software Requirements 
4. Broad Area of Applications
5. Problem Definitions – Some Examples
6. Guidelines for Project Report Preparation
7. Evaluation

1. Objectives:  
The mini project is designed to help students develop practical ability and knowledge about
practical tools / techniques in order to solve real life problems related to the industry,
academic institutions and computer science research.  The course Mini Project is one that
involves practical work for understanding and solving problems in the field of computing. 
Students will select individually Commercial or Technical Project based on Application
Development Technologies learnt in previous semesters.  Each student will have to prepare
proper documentation consisting of Software Requirements Specification (SRS), Modeling
Techniques, Development Strategies, Implementation and Testing Strategies.  Student may
use any Design Methodologies such as SSAD, OOAD and UML, etc.  The project work will
be presented by students using Power Point Presentation Tool to the panel of Examiners.
2. Hardware Requirements:
  • PIV Computer 
  • 512 MB RAM 
  • 40GB Hard Disk

3. Software Requirements: 
RDBMS / Back end Tools:
C, Java
Internet Technologies:
DHTML, Java Script, VB Script, Perl & CGI Script, Java, Active X, RMI, CORBA, Swing,
JSP, ASP, XML, EJB, Java Beans, Servlets
Operating Systems:
Windows 2000 / ME / NT / XP / Vista, Unix, Linux
4. Broad Area of Applications:
  • Financial 
  • Insurance
  • Manufacturing
  • Multimedia
  • Computer Graphics
  • Instructional Design
  • Database Management Systems
  • Internet
  • Intranet
  • Computer Networking Communication
  • E-Commerce
  • ERP
  • TCP-IP Programming
  • Routing Protocols Programming
  • Socket Programming

5. Problem Definitions – Some Examples
A set of possible project names and their details are present here.  However, the students
are encouraged to be creative and develop projects in similar areas.

Application Development Projects:
Project Name: Personal News Manager
Description: A large amount of day-to-day news reports are available on the web and many
of them are updated continuously like CNN, BBC etc.  But we realize that following such
news sites is time work.  You should develop a system that understands user requirements
and regularly updates the news relevant to such needs.  For example: User is a teacher of
computer science and s/he likes to see any news related to the computer science research. 
So in the Personal News Manager users have to list some favourite news sites and, it will
automatically search the web-sites as backend process and if there is any news conforming
to the given keywords, it will give the user a message about it.

b. Project Name: Identical Projects Finder

Description: Develop software to identify identical project reports.  The software compares
a project report with other project reports to search for similarities between different reports. 
If any two or more reports are more than 10% similar to each other, then they are marked as
‘suspected’ and will be evaluated manually.  The software will generate a table to show the
list of similar reports along with the percentage of similarity of each.
c. Project Name: Personal Assistant
Description: Design and develop software that can provide facility to users to plan the
timetable and schedule for a day, week and month.  The timetable should remind the user
about the task, with, a message and some musical tones.  Give the facility to the user to set
different priority levels. According to the priority levels different reminder messages and
tones should appear.
d. Project Name: My Accountant
Description: Develop software that helps the user (either the service person or business
person) to compute his/her income tax or sales tax returns.  It should calculate returns for
the user to review the return.  Implement all necessary income tax rules, relaxations,
benefits etc.

Networking Projects:
a. Project Name: Group Communication
Description: Develop group communication client and server software where multiple users
can communicate through text messages (similar to yahoo messenger).  It should provide
facility to broadcast and multicast the message.  The server program will be installed on one
machine and clients can be installed on different machines in a local area network.
Chat server program listens for incoming calls from clients.  Client running in any PC can
connect to the server if IP address of the server is known.  It listens for messages from all
the connected clients.  It broadcast the message from clients to all the clients connected to
the server.  You can also type-in messages in the server, which will be broadcast to all the
clients.  Chat client program sends messages to the server as well as all the connected
clients.  It views the messages from all the clients and the server.  When some clients want
to send some message to other clients it should give the machine name, user name, IP
address and other relevant information about the senders client so that the receiver client
will give authentic permission to the sender client.

b. Project Name: Implementing OSPF Algorithm
Description: Routing protocols are used to ensure packets are routed correctly from source
to destination in data networks and ideally should be optimal, simple, stable and robust. 
Open Shortest Path First (OSPF) is a widely deployed  routing protocol in Internet protocol
networks.  Design and develop a program for OSPF routing protocol and demonstrate thow
data packets are routed through the OSPF algorithm.
c. Project Name: Multimedia Search Engine
Description: Multimedia search engine should support efficient storage, retrieval and
management of collection of images, audio and video files.  A user will search images, audio
and video files while providing some text not details of the desired file.  Each image, audio
and video file in the database will have its description.  List all the images, audio and video
files according to description asked by user.  For large size images search engine program
should convert the original image into its temporary small image version, which will use less
bandwidth.  Clicking on small versions of the image, it will open the original image.
d. Project Name: Router Simulation
Description: A router is a device that forwards data packets along networks.  A router is
connected to at least two networks, namely two LANs or WANs or a LAN and its ISP
network.  Routers are located at gateways, the place where two or more networks connect. 
Routers use headers and forwarding tables to determine the best path for forwarding the
packets, and they use protocols such as ICMP to communicate with each other and
configure the best route between any two hosts.  Design and develop a software simulator
for a router with n inputs and n outputs to analyze router performance under bursty traffic
and compare it to that under non-bursty traffic.

System Software Development Projects:
a. Project Name: Image Filter
Description: Texture synthesis is a technique for filling in holes or tears in images when
missing parts of the image are not known.  One approach to doing this is to use a technique
not unlike the ‘rubber stamp’, tool in Photoshop.  This involves using statistical inferences on
texture around the hole and then filling the hole in from the outside using pieces (by
implication statistics of pieces) of the image, which best around the current tip of the hole.
b. Project Name: Collaborative Document Editor
Description: During meetings people often create shared textual documents, or discuss and
work on documents, which have been prepared before the meeting.  A basic characteristic of
a shared meeting document is that it often serves as a source of information for participants,
either during or after a meeting.  For instance, a shared document such as the minutes of a
meeting could be used to identify the contributions of different people, to find out about
proposed deadlines, pending tasks, and so on.  The objective of this project is to develop a
Java-based collaborative document editor which allows computer supported collaborative
meeting participants to structure their shared documents by making up various parts of the
documents in a way that facilitates post-meeting information retrieval.

c. Project Name: Split Download
Description: Develop an application that will improve the downloading process, by splitting
big files into different parts, and download each part of the file parallel and then combine
them properly.  It should maintain transparency to users.
d. Project Name: Browser History Viewer
Description: Web proxy allows a user’s web browsing activity to be logged to  a file or
database.  Analysis and access to these logs of web site are very limited.  In this project,
Browser History Viewer, you will develop a system that allows users to browse these web
histories in a number of different ways.  Users should be able to browse their histories using
thumbnails of the pages they visited.  Additional displays would always the web sites they
have accessed to produce a graphical tree of web use.  Alternative displays could use
textual analysis to group similar pages together in users’ histories.

Web Development Projects:
a. Project Name: Online Reminder
Description: Design a website, which will send reminder to the user on his/her e-mail, on
specific dates.  It will manage different users and each user will login securely, each user
can plan, schedule the dates in the calendar and set reminder for example birthdays,
anniversaries, important days of the whole year, month.  On that specific date, the program
will send a reminder to the users e-mail account and inform the importance of that date.
b. Project Name: Online Editor
Description: Create a website for an online editor;  the user should be able to type the
message or be able to send any kind of text document.  The program on the website should
check the spelling and grammar mistakes.  If the spelling is wrong, on right click of mouse it
should give the probable correct spelling and the user can correct it easily.  Calculate the
‘log index’ for the typed paragraph or file data sent by the user.
c. Project Name: Web Based Course Registration
Description: Develop a Web based course registration program; students can register for
different available courses.  For each course he/she will fill an online form, which will contain
details of DD/Cheque no etc.  Details of the form should be forwarded to the administration. 
After checking the eligibility criteria, fee details etc. the administration will provide the user
name, enrolment no., password to the student and the student can join the course. If any
information is missing, then the software will inform the student on their e-mail regarding the
problem.  Security at every stage should be maintained properly.

d. Project Name: Web Based Library
Description: Implement and design a Web based library; which should allow the user to
issue books and other on-line material, issue the user id and password to the user for the
specific duration of an academic year.  Authenticate the user.  Implement all library related
issues in the software.

6. Guidelines for Project Report Preparation
The Project Report should contain the following headings:
a. Title of the Project
b. Introduction and Objectives of the Project
c. Project Category (Application/Networking/System Software/Web Based)
d. Tools / Platform, Hardware and Software Requirement Specifications
e. Problem Definition, Requirement Specifications (Detailed Functional Requirements and 
   Technical Specifications), Project Planning and Scheduling (Gantt char/PERT chart)
f. Scope of the Project
g. Analysis (DFDs, ER diagrams/Class diagrams etc. as per the project requirements)
h. A complete structure which includes:
  i. Number of modules and the description to provide an estimation of the student’s 
  effort on the project.
ii. Data structures as per the project requirements for all the modules.
iii. Process Logic of each module.
iv. Implementation Methodology
v. List of reports that are likely to be generated
i. Overall network architecture (if required for your project)
j. Implementation of security mechanisms at various levels
k. Future scope and further enhancement of the project
l. Bibliography

7. Evaluation

Methodology of Conduct of Project 
The course titled “Mini Project” bearing the subject code BT0079 has 4 credits weight and
the project has to be completed for duration of 120 Hours.