CSci 553 Spring 2007 Project Requirements and Content Projects are required to: - Be developed on Linux using standard Unix software development tools. - Should use makefiles, compilers, debuggers, editors where appropriate - Must use your student repository - I will determine how and when you worked on project from your snapshots - May use language of your choosing - nisl has: java, c, c++, python, perl - we can probably add others if you desire - Projects are to be worked on individually - In general, it will be an cumulative lab - Projects should be a networked client or client/server - A typical Unix Network Programming project 1) Chat client/server Since we will look at examples of command line chat client/servers I would expect something more. Probably need to implement a central server and have friends/contacts show as online, or offline. Can then select an individual and have a private chat. Extra credit for gui development, multi-chat capabilities, etc. 2) Pop3 or imap mail client Build a simple pop3 or imap mail client. Have the client connect to a pop3/imap server, be able to send and receive pop3/imap protocol commands. Be able to download new e-mail messages. Extra credit for gui development, being able to send e-mail, etc. 3) Build a simple ftp or telnet client Student could try to implement a simple ftp/telnet like server and small client to access. But preferably, build an actual ftp/telnet client to talk with a running server (I can turn on ftp/telnet access for any student on the nisl machine that may want to do this). Send the ftp/telnet protocol commands to control a session. Be able to log in, etc. For ftp at least basics of uploading/downloading a file. 4) Basic http web server or client Build a basic http web server or client. In either case be able to talk with a real client/server on the other end. Basic clients can actually be very easy using Java or Python due to existing libraries that handle the details of the low-level http communication, so I may require more than a basic client. 5) Multi-player game Create a game server that allows 2 or more players to connect with clients and play some sort of a multi-player game. The game can be fairly simply, you could use something like checkers, chess or a board game, or something more graphical if you are more ambitious. You game can be turn based (where the player can only make a move when it is their turn) or real-time (where moves are legal anytime, and whenever a player makes a move their actions must be updated to all players that should be able to see them). You will of course need to develop an appropriate client application so that a player can connect with your game server and play the game. 6) Soap / WebServices application Build an application using Soap / WebServices to connect to an online database like google maps or Amazon.com. 7) Other...