| ||||||
|
Home
Entry Form Rules 2002-2003InfoObjectives Results 2003-2004TeamsObjectives 2004-2005TeamsObjectives 2005-2006TeamsObjectives 2006-2007TeamsObjectives |
Social Networking
Objective: Create the server and user side of a social site for true blue geeks. It should be a blogger at its core, but add playground tools for users to write small applets/programs that can generate output suitable for web browsers. The following is required * Relatively secure login creation * API for the site itself. Accessible items might include posts, comments, calendar, search tools * Documentation and tutorials Recommendations: Use a language that is well suited for web output. You will need some sort of data backend, most often in similar implementations an SQL database. Prefashioned open source bloggers/forums are fine, but with the significant reduction in workload, your work on enhancements should be significant, and will be judged accordingly. Make it a productive free exchange for developers, and something you'd like to use. Window Manager Objective: Your team will write a fully functional X11 window manager, which should meet the following basic specifications for window manipulation. * Windows can be resized * Windows can be closed * Windows can be rearranged Recommendations: XLib(X11R6) manual: http://tronche.com/gui/x/xlib/ Look at simple window manager implementations (mwm, twm) and more complex ones (blackbox, windowmaker) for ideas regarding window control and simple actions. This objective is much less an intensive coding exercise than a chance to really show off the Energy Theme in the competition. Massively Multiuser Dungeon (MUD) Objective: This project is the implementation of a MUD game. You must create a server that is the MUD itself. You may also create a client interface to connect to the game, or you may use telnet as your client program. The requirements of the game is that there be a set of rules in place for users to interact with the environment, other users in the system, as well as NPCs (simulated by the server). You may not use any MUD already available (diku, smog, swr, etc.etc.) as the base of yours. It must be all new code. Recommendations: This project can be complex or simple depending on the goals of your team, but the basic implementation should follow these rules. Clients can request information about their current position (it is up to the server to decide what they see) Clients can request information about their current user (the server retains the users vital statistics, and can transmit messages to users no matter where they are) Clients request actions, and are required to poll the server for position and user information to keep their client in sync with the server. C/C++IDE Make an IDE that does keyword highlighting for at least C/C++. The IDE should be able to do the following things. * Synax hilighting, that the user can change. * Be able to alert user of syntax errors. * Allow user to search within a file. * Have an interface to some version control system. * Intra-Project cross referencing. Recommendations: This can seem like quite a lot of work. My advice would be to start thinking about how a text field in the language you choose can interact with regular expressions. Also think about how other systems utilize concepts such as meta-data. Graphical Filebrowser Objective: Create a filebrowsing application which provides a unique graphical interface for a wide range of users. This interface should allow these basic operations. * File listing (ls) * File Deletion (rm) * Directory Creation/Deletion (mkdir, rmdir) * File/Directory Moving (mv) * Ability to launch programs against their type (Note: man file) Recommendations: Design an interface which will facilitate all the features you are looking to implement. This project is an opportunity to provide a feature and eye-candy rich interface to a system's files, arguably one of the most important parts of any operating system. You are not limited as to the size or scope of the features you wish to implement beyond those listed above as core. Suduku Objective: Your team will write a program that will be able to solve any suduku puzzle that starts with a known solvable puzzle. The solver must be able to take some form of input for the puzzle and be able to produce a correct answer to the puzzle. Recommendations: Undersand the rules to the game, and figure out an algorithm that will easily check to see if your guess is valid on known states you have generated. You should also think about storing known states that your solving algorithm generates. |
|||||