Vous êtes sur la page 1sur 6

Meeting Organiser: Web-based, this program would allow individuals to collaboratively arrange the most suitable meeting time,

by having each specify their preferences for the various options. Group Organiser: A web-based program that would allow user communities to collaboratively divide themselves up into groups that will then do specific tasks (which may also be decided in the tool.) Such a tool could be used for CS102 project group selection/organisation, for example. Pseudo-code Algorithm Designer: To support student learning in CS101. It should provide a means to quickly and easily set out and edit a proposed algorithmic solution to a problem. It should enable users to identify data requirements and to manually step through (execute) the algorithm to better understand its logic. Ideally, it should provide help and advice, and be able to output a skeleton Java code with the algorithm included as comments. Tag Generator: Tags are now commonly attached to all sorts of things, including photos, documents, emails, etc. This is all well and good, but which tags are the most appropriate to use? Automated help in selecting/suggesting tags for various media types may form the basis of a sophisticated document storage and retrieval system. Internet-based fun: A program that allows users to take images from one of the online services, such as Flickr, and use them as parts of a game. A simple idea would be a spot-thedifference game, whereby users added slightly modified patches over the photo and then challenged other users to spot them. Even better, add little animated image sequences to various parts of the image. For example, clicking on a rock on a beach might cause it to lift up and a crab appear and ask why you were disturbing its slumber! Internet-based Card Service: Ok, so it has been done before, but I am sure you could certainly improve on them. For example, allow the user to change not only the text (their own and/or stock texts), but also the images, perhaps, including their own photos from Flickr or similar services. Users could have complete control over the card design & layout in much the same way as they could using PowerPoint or PhotoShop on their own machines. And why not include a reminder service to make sure they don't ever miss friends & families birthdays, anniversaries, etc. GUI Sketcher: Allow anyone to quickly and easily sketch out a GUI and demonstrate its interaction. Most current tools provide a static view, but what would be really nice would be a facility to produce a slideshow-like sequence showing what would happen when the user chose various options. Ideally, it would be able to generate much of the interface code automatically (which would then require only additional calls to the actual data/model.) Even more ambitious, could it generate code in Java, in PHP, ASP.NET, and even HTML! Tags Framework: Adding keyword tags to blog entries, bookmarks, photos, etc. is finally becoming more commonplace. Can you provide a package that would allow such facilities to be easily added to any project. WebPage Comment/Suggestion Framework: How many times have you noticed an error on a webpage or wanted to make suggestions to improve it? It is usually very difficult to find the person responsible and to actually explain what you have in mind. This project should enable web masters to easily add such feedback facilities to their pages, enabling everyone to contribute to improving the site. Question Bank: Program that allows teachers to maintain collections of questions for a course, and to find suitable ones from it for quizzes and exams. Obviously, questions will need to be catalogued appropriately. Requires some thought, but could be very useful! Integrate with appropriate learning material?

Project Submission System: Allow Software Quest entrants to register and upload information about their project to the contest website. Include description, screenshots, and various design documents, and possibly the actual program. Could even be used for CS102 in the future, perhaps? I-Spy Game: Mobile phones with cameras are now common-place, so how about a game that uses this amazing technology. A hi-tech version of an old favourite, I-Spy, might be really neat. The basic idea is to have a "book" with a particular theme (animals, traffic, etc.) which challenges players to find examples of the various concepts it depicts. When they see one they photograph it and add it to the book, which not only provides proof, but also acts as a sort of journal. Great fun and, dare we say it, educational! Electronic Journals: Keeping journals, diaries, or portfolios is a common task so how about providing electronic support for it? Maybe next year's CS101/CS102 students could use your program! Penny Football: A cross between snooker and pin-ball, two teams of 5 coins each of which can be "flicked" to "kick" another smaller "ball" coin into the goal area. Extra pins form obstacles that interfere with play! Another game that offers endless opportunities for using your imagination, whether single-user or internet-based. Survey Master: Software to allow anyone to setup, run and analyse a survey on the Internet. Conceptually simple, but making something which is both flexible and easy to use is an interesting challenge. Research Assistant: Enter all your notes, references, ideas, etc. from any internet connected device. Provide the means to automatically and/or manually organised them, plus various ways to retrieve and present them. Imagine being able to produce an outline essay from your notes at the click of a button! And what additional benefits might ensue if people shared the system, pooling their notes and being able to comment on and add to each others work. Web-cam fun: Digital video input is now readily available and you have probably seen many applications that use it, including detecting and recording intruders, automatically reading the license plates on speeding vehicles, tracking moving objects, and identification for security purposes. Using a web-cam as an input device that replaces or compliments the keyboard and mouse is another possibility, and might allow the computer to infer user-state information, such as presence, boredom, frustration, etc. And, how about using it for artistic purposes? As the user moves their arms, body or head, the screen might "paint" differing patterns or generate musical rhythms. A multi-person version, which tracks a group of people around a room might prove even more interesting! Note: Anyone interested in these art-related projects might be consider joining in a new research group we are forming with colleagues in the Arts Faculty. Join-the-Dots: Computer implementation of old children's favorite. Simple user-interface is essential for young kids. Can you provide interesting variations on the theme? How about an authoring tool too? Tile Puzzle: The basic puzzle comprises a rectangular board and a variety of shapes which can be arranged in many different ways to completely cover the board. Users must complete the puzzle from given starting configurations comprising pieces in fixed positions. Microcomputer Simulator: Construct a virtual microprocessor-based computer system for educational purposes. Students should be able to program your machine in assembly language and then execute the program, watching its effects on virtual registers, screen, memory and I/O devices. Computer-Aided-Language-Learning Game: This program would display a text passage with certain words blanked-out. The language student's task is to try to fill-in the missing

words. Certain incorrect answers may be identified and remedial material presented to the student. An authoring system which allows teachers to create and maintain such texts is also required. Many variations are possible. CD/disk/url cataloging system: You have made backups of all your important data, you have lots of free CD's with every program in the world, but can you find what you need when you want it? This program should help solve this common problem. What's On?: Redo the university event calendar in Java and add a few bells and whistles such as personal calendars, exam calendars, WAP & RSS access, etc. Tracker: A much improved version of SAPS! Trader: A much improved version of BilTrader! Digital Circuit Simulator: Allows user to set-up and simulate the action of basic digital circuits comprising AND/OR/NOT gates. Graphical display would be nice? Paper folding & cutting Game: Remember how you used to fold up a piece of paper and cut various shapes out of it, then when you opened it up you found these amazing patterns? Of course, sometimes the paper just fell apart completely. So, how about a program that allows you to try out various folds and cuts. Could be really entertaining! Sync-master: Do you have copies of your files in various places? If so, you know what a nightmare it can be to keep them all up-to-date. That is what this program should help users do! List-Master: Maintaining lists is a very common task. Tracking lists of customers to whom advertisements were sent, which ones responded, etc. are important jobs which can be significantly aided by computers. You can also look around the Net for ideas. Shareware on places like download.com can be a particularly good source of inspiration. The following are also options. Wiki: Imagine a website that anyone can add to or change at will, and that automatically linked its pages, that's Wiki. It could be chaos, but it could just be the greatest source of selforganising knowledge you could hope to find. Build a secure, reliable Java program that will allow anyone to offer such a resource and the world will beat a path to your door. Tracker: You all know basically what this grade tracking program does Surely you can do better in Java? It could collect assignments, grade them automatically and even spot copies, for instance! (Note: Tracker was a program similar to, but much much better than, the university's moronic new SAPS system! It was written by David and used in CS101/CS102 for many years. In 2003 we were forced to start using SAPS, so Tracker sadly went into retirement.) Trader: Allow members of the university to buy and sell books, cars, cell phones, accommodation, etc. via the Internet. HTML page markup: We want to be able to scribble on webpages as easily as on paper. Uses include cooperative authoring, grading, etc. Tricky? Maybe not. And, generalising it to any form of electronic document would be even more useful! Threaded Chat: If you have ever attempted to hold a meaningful conversation on a crowded chat system you will realise the need for something new and different! Get the brain cells working and see what you can come up with. Traffic Simulator: Graphical simulation of traffic flow within given road systems. Each car/truck is an independent entity that tries to get to its destination as quickly as possible, avoiding accidents with other vehicles and following the rules as far as possible!

Adopt a Pencil (Applet?): You can adopt lots of things on the Internet, mice, matchstick men, blobs, you name it, however, they are all pretty static. A writing club wants its members to be able to adopt pencils (and maybe rubbers, paper-clips, clipboards, etc.) and have them be useful. When "used" the pencil should be able to offer words, tips, ideas, etc. Of course, just like a real pencil it will need sharpening now and again, it gets shorter as you use it, it may get lost (!) and eventually will need to be replaced. Use your imagination! JRobo: Extend the basic JRobo code to make it into a web-based teaching environment. Do this right and it could easily become one of the main Java educational sites in the world! Robo: Redo the basic Robo programming environment in Java to allow it to be used anywhere. Include educational material to make it a standalone system. Conversation program to pass Turing Test: All you have to do is write a program that can carry on a conversation with anyone who happens by, yet is so good that they cannot be sure whether they are conversing with a program or not. Serious fun this with big money at stake if you can do it right! Timeline bean: Java bean that can be used in other projects to provide a timeline display with both text and graphics clickable labels. Can be used to show trends in history, philosophy, sociology, and even physics experiments. Pay-by-use bean: Java bean that can be simply dropped into programs to allow payment on a per-use/timed basis. This project is intended to provide a means for software authors to be paid by the Ministry of Education based on the successful application of their products. By automatically collecting usage data this bean can remove some of the barriers to the production of educational software in Turkey & possibly elsewhere. Map bean: Another Java bean component designed to provide a simple-to-use mechanism for the display of 2D data (be it geographic or not!) which allows the user to interact with it. Data Input Bean: Drop-in component which collects data from various devices, in particular serial probes, static switches (via the parallel port, etc.) and provides a means to transfer it to other beans which can process and display the information. Recommender System: Now in use at various internet sites, recommender systems try to identify and automatically suggest books, CDROMS, urls, etc., that you might be interested in based on your preferences, and knowledge of other similar users and ratings given to the products by them. There are several ways accomplish this and part of the project requires doing a bit of research into these before implementing your own system. You might get your program to suggest jokes, music, bookmarks, news items, tips, and even poems and stories. I am particularly interested in systems where there is a continual stream of new products and it is important to rate them quickly and accurately. To this end it may be interesting to consider rating the sources of information and the raters themselves too. Automated Backup Program: A little program which allows users to schedule directories/files for automatic backup. It should keep multiple versions of the backup, use of compression to minimise storage space, and perhaps work over the internet, take incremental backups to reduce time, etc. Something using shared data toolkit Web Dating service: Obvious, I guess, but, just as in real life, it's not easy to find a good match! Live custom web: There is an incredible amount of information available online, but often you have to wade through a mountain on stuff which is of absolutely no interest to you, to find it. This little program will automatically collect just the bits and pieces you ask it for, (whole or part pages), and automatically create custom webpages/sites to display it to you, updating it on a regular basis. Particularly useful for mobile computer users, who can collect

just the currency rates, stocks prices, weather, headlines, calendar events, etc. that they want in a minimal form! Image Joiner: Graphics program to take images which are actually subsections of a much larger image and join them together to form the complete one. Used to restore satellite images of the earth, it is also useful to create panoramic views from your digital camera. Internet Web Maintenance Tool: As web sites grow they become very difficult to maintain. Problems include, making sure that all links are valid and have a consistent form, finding which webpages link to which other pages or use a particular graphic, moving pages and updating links. We need a some computerised help! Donation Manager: The Internet enables intellectual property (music, books, videos, software, etc.) to be copied and distributed for practically no cost, making it virtually impossible to collect royalties or sell such products anymore. One possible solution to this is a pay-by-use/copy system in which payments are not enforced, but are donations. This project requires looking at this idea and trying to build the software infrastructure to support it. Flexibility and ease-of-use are the key requirements. A Simple Paintbrush Program: Drawing simple shapes like rectangles, triangles circles, etc. filling inside them, writing text, essentially something like Microsoft Draw. Also may include reading an image and editing it with a brush and saving the resultant image. Quiz Applet: Allow students to take quizzes/exams online. Vocabulary (Applet?): Help individuals expand their language skills. Multi-user Word Games Applet: Provide a variety of word games that will allow children to expand their vocabulary and learn while having fun! Ideally this multi-user game should function over the Internet! The Inspiration (Applet?): Especially for those with writer's block! Generates random words/phrases and either shuffles them automatically or allows the user to shuffle them around using the mouse. Graphing Applet: Reads data from a text file aand displays it as a histogram/pie/bar chart. Add interaction, clicking to change type of graph, get more details, etc. Interactive Map Applet: Display geographical information and allow user to obtain more details about specific regions, towns, etc. Research Aid: Tool for researchers to collect and organise their material. Graph like representation where each node links to some item of interest. Nodes can be labeled and coloured, as can arcs. Various views of information based on labels, colours, etc. Could be very useful, but requires careful design to produce an easy-to-use tool. Notification Service: Register for webpages and get told when they change. Cartoon Chat Applet: Take a basic chat applet and make it visual. Provide for user-defined graphic representations which can be moved, change expression, etc. Interactive Calculus Visualisation Aid: Simple to use program for high school students beginning to study integration and differentiation. The basic idea is to allow the student to interact with the graphical software in order to gain a better feeling for these difficult concepts. Interactive demonstrations of slope, tangent, infinitesimal, area under a curve, etc. are required. Not too difficult, yet if done nicely could find wide application! Picture Builder: A little program which allows young kids to select picture bits from a library and put them together to form a big picture. Rather like an identity kit this, but it might also include bits for farm, town, shop, monster and underwater scenes for example. Variations include adding lines, etc. and, perhaps, colouring. Homework Submission/Grading/Feedback: Set of three inter-related programs. The first enables students to submit homeworks for particular courses, the second provides facilities for instructors and assistants to grade homeworks and to provide feedback to students, and

the third provides the interface whereby students can see the grades and any feedback they received for particular homeworks. Internet Club: Software necessary to allow clubs to keep track of members, to provide communication facilities for them, possibly competitions, votes, etc. Use your imagination, there is a huge market out there! TV-style Quiz software: Program which will present a series of questions to competitors, time answers and keep track of scores, etc. The program would be installed in the TV-studio and have buttons that the competitors would press, the first to press and answer correctly gets the points. Needed to Software Quest's Trivia Quiz! Expert System game: Educational game based on an expert system shell such as KnowAll. Multi-user snake game: The snake game is a classic, but how about making a multi-user version of it that can be played across the internet or, for the really ambitious, on mobile phones!

Vous aimerez peut-être aussi