The project should be done in teams of 2-3 students. Students must be from the SAME section, or from the other section who have their lab on the SAME day.
DATES and STEPS:
- Project groups should be formed by the Tutorial on Wednesday 21 August.
- Lab 4 week - discussion on project topics with Project TA and course tutor (Sep5-8)
- 14 September - project proposal FILENAME proposal.html must be up on ANY ONE OF THE PROJECT STUDENTS page, with links from all the students web pages. This file should identify:
Project TA's and Tutors to provide feedback on project proposals.
- PROJECT TITLE
- OBJECTIVE
- SAMPLE INPUT AND OUTPUT
- Lab 9 week (September 26 week) - project review - must add the following section:
- PROGRAM DESIGN
- FINAL REPORT November 11-15
POSSIBLE TOPIC AREAS:
Topics have links to websites outside IITK. Some may need Java Plug -ins in your Browser.DATABASE
- Library software:
Java interface to XML-like structures. Interface with web pages with simple XML structures. Can use our library book database data as sample data.- World Countries Database: google for World Development Report and look at the tables. For example, you can let the user see data for the ratio of the income of the top 10% and bottom 10% in any country. You will need to extract the tabular data into strings, either by using a JAVA based acrobat file reader, or by using a "text extractor" on the PDF data.
- Student hostel database.
Find out which room a student is in, has he paid his mess bill, etc. Must use real hostel data.- Spreadsheet
Develop some parts of a general purpose spreadsheet program, with limited addition and expression support.GAMES
A short introduction to creating game playing computer programs.TEXT
- Chess
Most of you already know how to play chess.Your program should be able to play chess with opponent.- Checkers
You can play a checkers game on computer as well as can get information on this here and here.- Go
Introduction and a little history on Go is given here , here and here.- Othello
Introduction is Here.- Puzzles: alphabet substitution - addition (e.g. NINE + FIVE = SEVEN)
- Snake / Worm
Play online game and get the rules here- text games like Adventure (see the BlueJ example - zork)
- 3D Tictactoe
Play online 3D Tic tac toe Here , here.- Projectile game
You have to write a program which is a projectile game in which one user selects a distance, which the second user must obtain by varying the angle and speed of a given projectile. There must a graphic display of the projectile and target included. Must be full 3D and have models for air resistance and earth's motion (corioli's force).
- Text similarity / indexing
Given two texts - for example, lab programs in ESC101 - how similar are they?- Crossword - generator, solver
Given a dictionary of english words, generate simple crosswords.- Text signatures Given a set of documents written by different authors, can you identify which author has written what? This can be done based on simple statistical attributes [HK]
- HTML file displayer (mini-browser)
Parse and display an HTML file.- Spell checker
Run a spell check on a text file. You can use the dictionary in UNIX (see "man spell" and "man dict").- Parsing / Grammar - English / Hindi
Develop a simple grammar that splits up sentences into its constituent words and then joins them up to form phrases (noun phrases, verb phrases).- Hindi Editor using Unicode (student idea)
Use unicode mapping to generate and edit hindi text.- Program Indentation
Take as input a JAVA program and identify blocks of code in it and uses some simple rules that can be changed by the user to indent it.- Editor
Create a text editor in English. Possibly link it to the javac compiler.- Improvements to BlueJ editor - code is avlbl - extensions (HK)
Similar to above, but start with existing BlueJ. Add better search, replace and indent options.
GEOMETRY / GRAPHICSMATHEMATICAL COMPUTATION
- Polygon Boolean operations
You may like to see comparision of the different algorithms for Boolean Operation on Simple Polygons.visit this or for some existing products examples here and here.- Diameter of Point Sets
- Voronoi Diagram
You may visit here or here for some detail.- Paintbrush
In this project, you have to create an application like ms paint or any other Paint application using which one should be able to draw simple types of objects as well as able to save them in a file.- 3D Robot Simulation
There are many Robot simulation products avalable.You may Visit one such product "Robosim" here or here.- Building walk thru: given a building map, and a route - generate a walkthrough (as in first person games)
- 2D Robot Obstacle Avoidance
You can visit here for some Geomentry algorithms overview.There are many products avalable for this.One such produce is MOBOTSIM.You can get some of the information here.
- Linear Algebra Toolbox
You may visit a sample product page for type of operators required here.- Partial Differential Equation toolbox
A Very good toolbox demo can be seen here.- Symbolic maths
- Chemical equation balancing
Visit the site here and here.Miscellaneous
(Unstructured List With Duplicate Ideas Etc.)
- Skymaps - Display star charts, change with lat/long/time-of-day/ZOOM
- Bird identification - Get N images of each bird. Given new image can your recognize it?
- Indian language - Editor, font mapper to unicode
The Information on Unicode is given here.The more detailed information of font mapper is here.- Online Banking program.... With multiple sort of accounts...certain restrictions etc. like minimum balance...no. of transactions allowed in one session.etc. this program would require application of AWT as well for GUI .
- Billiards ball simulation Based on colliding ball simulation - must have good physics, including momentum conservation - both linear and angular(spin). Also some effect of friction etc, bouncing at pockets, etc. Decide how the user is going to hit the ball etc.