Possible PPL Projects

Warning: Projects will be assigned in first come first serve basis.
Each project must be considered inside the object oriented paradigms.
Students who did not selected any project until 01/May/2004 will be assigned to random projects.
Projects are for one person, please do not ask for groups.
All the projects should cover an implementation in JAVA, a project report, a project representation and a project demostration. (Deadlines will be anounced later)
anybody between brackets () are in section 2 (from the section of Erdal Cayirci) and anybody between square brackets are in section 1 (from the section of Ender Ozcan)

Please select one of the available projects

Backgammon (Tavla)(Eda Birsen), [Onder Baris Asik]
You have wanted to implement a very popular game, backgammon, you are only responsible to implement rules (like rolling dices, moving stones) you do not asked for an artificial intelligence implementation. (105)
game of go (Harun Tek)
You have wanted to implement a very popular game, go (or igo in Japan), you are only responsible to implement rules(like playing turns, KO, pass, capture stones, etc. (a score counter at the end would be a bonus) ) you do not asked for an artificial intelligence implementation. (110)
For further information refer to GO page
game of latrunculi (Ceren Kara)
Latrunculi is an ancient game from rome, hellinistic regions so ancient greek. You have wanted to implement only the rules of game (such as moving stones, capturing stones, illegal moves, etc.) you do not asked for an artificial intelligence implementation.(105)
For further informaiton refer to An introduction Page
online addressbook (melih karacahisarli) [Merve Yildiz]
Aim of this project is implementing an adressbook, which can be access online by an applet interface. Records on the address book should be kept as objects and you should implement, insert, delete, edit, search options to your addressbook.(85)
stock management (Engin Sahinel), [ibrahim gunes]
In this project you have wanted to implement a stock management tool. By using a file and applet interface, you should accomplish this project. Essential operations are insert, delete, edit, search and report.(85)
calendar & time (gregorian, hijri, julian ) (beril guzel), [necla sozmen]
In this project you are wanted to implement an online calendar and clock. You should give opportunities to users like browsing other other calendars (such as hijri gregorian or julian), jumping future or past dates or today. (inseting an appointment to any date can be a bonus) (100)
alarm clock (sait memisbey), [Hamdi Dibeklioglu]
In this project you have wanted to implement a simple alarm clock, which user can insert his/her appointmets by absolute time or relative time and your applet or application will wait until this time to pop an alarm message. You need to handle multiple messages. You must allocate as low as possible system resources. You must implement a user friendly interface. (100)
online spreadsheet (Gokhan Oluk)
You will implement an online spreadsheet like excel. You have wanted to implement simple operations like adding, subtraction, mulitiplication or division. You can add any other java.math operations as well. You can add an already implemented class jtable in your projects. Implementing each cell as an object is essential for this project. (adding a save an load operation can be bonus) (80)
checkers (okan kuzer) [Can Aydogdu]
This is the classical game called DAMA in Turkish. There are many set of rules are possible for this game. You have wanted to implement only the rules (not an artificial intelligence). You also need to give a well documented set of rules before implementation. (100)
bin packing(Seda Kokluer)
Bin packing is a problem and solution algorithm for resource utilization. There are many possible algorithms. You have assigned only a simple job. Just utilize a square with three objects (a rectangle a triangle and a circle, size of this objects can be changed), You also need to implement a user friendly interface for inputs and displaying result. (100)
mines (osman samutoglu) [kamil gundogan]
Mines is a well known game, which can also be found in many MS-Windows installations. Just implement mines :) (100)
puzzle generator - solver (apartments)(suleyman genc)
2 1 2 3
2
3 4 2 1
2 1 4 3
1 2 3 4
4 3 1 2
3
2 2
4 1
1 3
1 2 3 2

Above is a generated puzzle. There are unique numbers from 1 to 4 in every coloumn and row. Each number outside the table represents the number of apartments can be seen from this point. You have wanted to generate a solvable puzzle each time and show solution if user can not. Above figure is a solved figure, generated question has numbers in the borders and inner table is empty, user fills this table. (110)
puzzle generator - solver (shadowed apartments) (Oner KAloglu) This puzzle is very close to the previous apartments puzzle. You have wanted to generate a puzzle as shown below. each black square represents the shadow. again each number is unique in row and coloumn. Below figure represents a solved puzzle, generated puzzle has only shadows no numbers in it. (110)
SUN
3 4 2 1
2 3 1 4
1 2 4 3
4 1 3 2

puzzle generator - solver (maze)
This is a very classical project. Just generate a puzzle and solve it. (90-110)
puzzle generator - solver (chained number)
8 3 2
5 1 7
9 4 6
9 7 6
8 4 3
2 1 5
1 5 4
6 9 2
3 8 7
4 5 8
2 9 1
7 6 3
3 6 9
4 8 7
1 5 2
2 7 1
5 6 3
9 4 8
3 8 9
1 7 5
6 2 4
5 2 4
6 3 8
7 9 1
7
1 6
4 2 9
8 3 5

Above figure is the puzzle. Black numbers are in the generated puzzle. Red numbers are filled after solution. In each direction (row or coloumnt) and each sub table (the 3x3 tables) there are unique numbers from 1 to 9. Implement a puzzle generator and solver. (110)
scrabble (Gunes Ergun) [yavuz yesilgul]
scrabble is popular game. Just implement a scrabble.(before implementation you need to give a detailed document for the rules and design of your implementation) (100)
reversi (othello) (okay aslan) [Emre Borat]
Reversi or othello is another board game. Just implement the rules of the game. each player (white and black) must be able to play by turn. At the end of the game you need to report the scores. (100)
instant messanger(sinem aybal),[Aren Haddeler]
In this project you can implement an instant messanger like icq, msn or yahoo messenger. It should be multi threaded client server implementation. I can supply further material who are interested in network programming (~100)
relay chat (Ufuk Myedan Devletli) [Guven Sari]
This is another network programming project again you will be supplied enough amount of materials. Aim is implementing a client server based internet relay chat.
web server / client
Another network programming project. You have asked to implement a web server and an internet browser.
mail server /client (Gullu Bulunmaz) [Ali Doruk Baykal]
Another network programming project. You have asked to implement an e-mail server and an e-mail client.
literati
Another word/board game. You can get further information from yahoo games. games.yahoo.com (~100)
online word processor(Fatih Ozyalin)
By this project you will implement an online word processor. You need to keep each line as an object and by the way user will be able to cut, copy and paste or undo. (100)
online html generator
You have asked to implement an online word processor again. This time, implement html tag buttons. (100)
b-tree (Esin Filiz)
b-tree is a well known data structure. You have wanted to implement a b-tree with insert, delete, search operations. (130)
b+-tree (Caglar Atali),[Hakan Gurses]
b+-tree is a well known data structure. You have wanted to implement a b+-tree with insert, delete, search operations. (130)
b#-tree
b#-tree is a well known data structure. You have wanted to implement a b#-tree with insert, delete, search operations. (130)
heap (Aziz Bilgili), [Gozde Sener]
heap is another well known data structure. Again you have wanted to implement a heap with insert, delete, search, heapify operations (110)
image browser(Rasim Avci)
JAVA has support for image display. You have wanted to implement a gallery viewer like acdsee or gqview.
binary tree (Onur Dincer)
another datastructure implementation for binary tree. Again you have wanted to implement a heap with insert, delete, search operations (110)
airline simulator (cehun kerti)
A classical simulation. you can find information on the web, by searching in google. any body interested in this project should give a detailed design report before implementation(100)
Graph theory , cycle detection(Sahin guruz),[sahin habesoglu]
In a given graph, find cycles. (graph is an object graph) (90)
Dynamic spanning tree (spanning tree algorithms ove moving nodes)
There are many spanning tree implementations. Select one of the minumum spanning tree implementations and implement it on moving nodes. (nodes should move in random direction and speed) (140)
chess(Emre Yavuz)
chess is another popular game. only implement rules (like moving pieces, capturing, castling, capturing en passant, pawn promotion, resigning, etc.) (100)
fsm drawer(halil zurnaci)
You have wanted to implement a regular expression to fsm converter. Just read and understand a given regular expression and draw ist finite state machine (optimization is not required but may be a bonus) (110)
tower of hanoi (Ugur Hazir) [ali isik]
You have wanted to implement the ancient game, tower of hanoi (90)
Karnaugh Maps (Volkan Hafizoglu), [Cagri Ozmen]
For a given truth table you can find the expression by karnaugh maps. Just implement an expression generator from karnaugh maps.
Last updated 13/04/2004 02:26 am , by Sadi Evren SEKER