CS492 - Previously Proposed Senior Projects

All senior students must undertake a project during their final year. Students are free to select a project of their choice from any faculty member. The following is my personal list of projects. If you are interested in doing any of them, please see me in my office, EA508. In addition to the projects explicitly listed here, I am generally interested in any project related to Education, AI & Cognition and Information Retrieval, using technologies such as mobile computing and the internet. If you have an idea for a project that you would like to pursue, please feel free to propose it.

Dr. David Davenport     


Senior Projects List - 2007/8

Whilst students are welcome to propose alternative projects, preference will be given to those listed below. Please be aware that I expect sustained serious professional work. To this end, project groups must document their progress on a website and see me at least once every two weeks throughout the year. David.

Please see this list of my current research topics. If you are interested in undertaking a Senior Project in any of these areas or those listed below, please contact me in person or via email to discuss the ideas further. Suggestions for other projects in the same general areas are also welcome.
David (Fall 2007/8).

Moodle: This semester many classes in the university are using Moodle, an open source LMS. There are several integration tasks that need completing before it is really useful, the main one being authentication via Bilkent's BAIS system so everyone uses their normal Bilkent ID and password to login. Other tasks include loading of class rosters and student photos, and possible integration with the SAPS system so that everything is kept in one neat tidy and maintainable package! Moodle is written in PHP, but can use various other database systems for storage. Bilkent's systems are a little more mysterious so close coordination with BCC will be necessary!

JoomlaDB: Joomla is a free open source CMS (Content Management System) with a large user community. It is built using PHP and currently uses a MySQL database for storage. This project asks you to modify/extend Joomla so that it can use other databases, in particular Microsoft's SQL Server 2005. This may not be particularly difficult, but must be done in a principled and maintainable way, and must be highly robust and efficient! Note: This project was proposed by a member of Joomla's core development team.

WebTidy: As software engineers you already know that not replicating things and separating concerns are extremely valuable principles. Unfortunately, a large part of the web has evolved, rather than been designed around them, so that many websites mix content and presentation in an unholy manner. This project  challenges you to produce tools that will tidy up such web sites by extracting the style information from the html and putting it into separate css files.

Collaborative Knowledge Building: I have in mind creating a "permanent" community resource for CS101/2, which is a collection of links/references to information that explain how to do various things. The thought is, that, whilst there is lots of information available on the web, it is not always suitable for beginners. In some cases the information is just plain out-of-date (i.e. uses very old versions of of Java), in others it is too complicated, and in others it is either too difficult to understand or even wrong. Finding good resources is thus quite tricky, hence a community resource where anyone who finds something they think is particularly useful, can let others know about it, seems like a good idea. If it is organised properly by topics, and if everyone can "vote" on how useful they found particular links, then hopefully the resource would improve slowly over time. It would thus give students ownership of the knowledge and of their learning. This project will be done within the recently formed "Collaboration Systems" research group. Note: This project will probably involve some programming (using an open source CMS package such as Drupal), as well as research into actual usage of the system during the course!

Reviving TYWC: This project involves taking the content from the existing TYWC website (one of the oldest and largest children's writing sites on the web) and putting it into a completely redesigned site using one of the new breed of CMSs, such as Drupal, and/or a custom designed AJAX website. This project is not particularly difficult, but it does require some thought and, given the nature of the task, it is vital that students demonstrate a professional approach to their work. The revived site must be reliable and maintainable into the future! If an open source package is used, I would hope that some form of contribution in the form of code and/or documentation could be made to the community.

ORobo: Production of a teaching package for object-oriented programming based on Robo and using Java (and/or C# perhaps.) The output might be an integrated development environment that could be tailored to the user's current level, for example, raw beginners would see only the simple Robo commands & environment, which would later be replaced by an object-based environment allowing Robo to interact in more sophisticated ways with user designed objects. Gradually, the environment would open up to become a complete Java (C#) development environment. Suitably extended to include OO-features, together with suitable examples, teaching notes and possibly even a book or online self-study module, this project would be targeted at our own CS101/2 students and could well be used by other individuals & institutions around the world. See our existing Robo/JRobo system, as well as Alice (MIT?) & Scratch (CMU?) for more sophisticated examples.


Previously listed projects...

Tagging systems: Using multiple tags to organise and retrieve information is becoming increasingly popular, see for example delicious! For this project I would like you to survey existing systems, their logic, implementation, user-interface, etc., and then build a few prototype systems based on your observations. Ideally, a number of core ideas should become apparent (possibly resulting in something publishable) and a software package produced, which would allow others to quickly and easily incorporate such tagging facilities into their applications.

Redesigning the PC: It's time to have a serious rethink about the way we organise and interact with our computers. From the seemingly inevitable notion of files and folders, through to the now ubiquitous window'ed desktop, stagnation has set in. This project challenges you to throw out the old and start with a clean slate. How might the computers of tomorrow function so as to make our lives easier (not more difficult!) Think in terms of how a secretary handles all the paperwork for the boss. Think multiple tags to describe each piece of information, network databases for automated backup and versioning, and UI's designed to help real people get real jobs done. I suggest implementing a quick prototype using Google's Desktop to get a feeling for the problem. Do a literature search and check out the use of tags in various web applications, and how applicable they are and how they might be efficiently implemented to entirely replace the existing file system. Ultimately, produce a C sharp application that can be used with today's machines, but which can be integrated into the next generation of operating systems. This is a seriously interesting research/design project which I would hope could produce publishable work. Note: this work can also be viewed as part of an effort to produce a electronic log/journal/portfolio system.

Educational Observation Game: Digital cameras are now common-place, so how about making use of this amazing technology to help learn about our environment. A hi-tech version of an old favourite might be really neat. The basic idea is to have an electronic "book" with a particular theme (animals, trees, plants, traffic signs, architecture, etc.) which challenges players to locate and helps them identify examples of the various concepts it depicts. They photograph it and add it to the book, which not only provides proof, but also acts as a sort of journal and reinforces the learning experience.

WIZ - Semi-intelligent Tutoring System: Keep track of the learners current knowledge state based on their history and responses to questions. Use this information to decide what modules to present next. Implement in ASP.NET 2.0 (This is a up-to-date implementation of ideas first prototyped many years ago. In essence it provides personalised tutoring/learning via the web!)

Wireless Information Points: Provide personalised location/context-aware information to mobile phone/PDA users. Location can be determined by a variety of means, including GPS, access point proxy, access point MAC address, RFID tags, bar codes, etc. Information can be accessed via GPRS, Wi-Fi, Bluetooth, etc., or stored locally on memory cards. There are a vast range of uses for such a system, such as tourist information, advertising, virtual art exhibits and games, etc. Design and implement a framework perhaps using a Macromedia Flash front-end. The real importance of this project should lie in its ability to enable anyone and everyone to offer such information to all-comers.

other projects options include...

Contribute to an Open Source Project: Make additions to an existing open source project. For example, add some feature related to bookmarks to the FireFox project or extend MOODLE, OFBiz or the CAERUS code in some useful way.

or even one of the project proposals from previous  years.


Senior Projects List - 2004/2005

Important changes to the course
Starting this year Senior Projects will comprise a two semester sequence CS491 & CS492.
Students will be required to demonstrate progress in both parts of the sequence in order to graduate.
Students will submit several reports each semester, which will be evaluated by the jury assigned to monitor the individual projects.
Senior projects MUST be undertaken in groups of at least 3 and must incorporate a significant design component.

Personally, I have always expected students to work consistently throughout the two semesters
and to see me to discuss progress every two weeks or so.
I still expect students to be motivated and show initiative!

 

DIA components: Software components are required that can be integrated into existing authoring environments (similar to Macromedia Director) to enable users to hook-up webcam input and extract signals indicating eye, head and hand movements, etc., which can then be used in the creative process. Using the detailed interface specifications available for the authoring environments, various image processing techniques will need to be investigated and applied in order to obtain the relevant output signals. Program components will generally be written in C/C++. This project will be undertaken in conjunction with the multi-disciplinary Digital Interactive Arts group (which includes faculty from both Engineering and Arts) and may help produce interactive advertisements, educational media and, of course, new artistic creations.

Context component: It seems that the next version of Microsoft's Windows OS, codenamed Longhorn, includes a new file system, WinFS. As far as I can make out, it incorporates many of the ideas I have been proposing over the years, but is still missing some key elements that would make it really revolutionary. In particular, a means of quickly and easily identifying and assigning "contexts" to files is needed. In existing file systems, the user implicitly assigns context to a file by placing it in particular folders. The names of these folders and of the file itself, hopefully serve to establish the context, and thus form the basis of how users later locate and retrieve the file. Unfortunately, we are all (well at least I am) notoriously bad at organising files and folders. And why should the user be expected to do it anyway? Surely, that should be the machine's job! So, this project is about taking Microsoft's WinFS (or the similar prototype built as part of one of last year's Senior projects) and adding such an automated contextual component to it.

Active Map component for PocketPC's: As part of the Information Points project, a simple, fast, but powerful "active map" component is required for PocketPC's. Active maps change their display based on user input. For example, the user may ask it to show (or simply highlight) all the car parks or the hotels or restaurants. It should also be able to update itself automatically from networked information, so that it shows, for instance, the location of buses or delivery vehicles, or the temperatures across a region. It should also be able to query Web Services to obtain data such as the phone numbers of people in a particular office building. The applications are endless! It should be written in .NET C#.

TabletPC application: The hardware for these pen-based devices is finally becoming affordable and powerful enough to make them usable! As a result, you can expect to see them more and more in the coming years. This project challenges you to produce an application that takes advantage of the unique features of the TabletPC. One idea that springs to mind is a program that helps budding artists learn to draw. Another is a markup tool that would allow teachers to annotate student homework in a way similar to or preferably better than they now do it on paper.

Trivia Quiz software: Re-engineer a real-time application for the Software Quest Trivia Quiz. The main challenge here is linking external buttons into the system. It should look good too, of course!

TYWC#: Design and implement a sophisticated website using Microsoft's latest ASP.NET version 2.0 framework. The result should replace the existing crude Perl implementation of TYWC (The Young Writer's Club) to provide a fully themed, database-backed modern website, with role-based content management facilites. You should use the latest version of Visual Studio or Visual Web Developer (both currently in beta).

TYWC+: An alternative to the above, this time in PHP rather than C#. Complete the implementation of this PHP/MySQL website and transfer all the existing data into it. Extend the code to allow for the declarative design of webpages by non-programmers in a manner similar to that afforded by Visual Studio .NET.

UI-layout tool:  Design and implement a tool that allows programmers to quickly "sketch" user-interfaces by dragging and dropping various UI components around the screen to produce an approximate layout for their programs. The tool then takes this rough layout and produces the corresponding Java code for a neat one using layout managers (and possibly other formats, e.g. XML style templates).

Program Visualisation Tool: Using the facilities afforded by Aspect-J (or similar Aspect-Oriented add-on for Java) design and implement a tool that allows novice programmers to create simple Java programs and visualise their execution dynamically as they run. This would include showing representations of objects as they are created and depicting the messages going between them and changing their state. Ideally, it should provide facilities for the user to interact with the running program, to single-step it, set and run until breakpoints, etc. Note: Java includes a debugging framework that may be an alternative to using AOP, investigate!

Wireless Information Points: Using Bluetooth and/or IEEE802.11b wireless communication links, design and implement a fully working system for the Bilkent campus and/or a touristic area. The idea is to supply location specific information and/or support for mobile-learning. May be done in cooperation with MobilSoft.

WIZ - Semi-intelligent Tutoring System: Keep track of the learners current knowledge state based on their history and responses to questions. Use this information to decide what modules to present next. Implement in ASP.NET 2.0

... I will post more ideas as and when they occur to me ...  or you can suggest your own project ...

 


 

 

 

Previous years projects...

Senior Projects List - 2003/2004

I expect students to work consistently throughout the two semesters and to see me to discuss progress every two weeks or so.

Redesigning the PC: It's time to have a serious rethink about the way we organise and interact with our computers. From the seemingly inevitable notion of files and folders, through to the now ubiquitous window'ed desktop, stagnation has set in. This project challenges you to throw out the old and start with a clean slate. How might the computers of tomorrow function so as to make our lives easier (not more difficult!) Think in terms of how a secretary handles all the paperwork for the boss. Think network databases and UI's designed for real people instead of automatons. Implement a demo in .NET, perhaps?

TYWC+: Complete the implementation of this PHP/MySQL website and transfer all the existing data into it. Extend the code to allow for the declarative design of webpages by none programmers in a manner similar to that afforded by Visual Studio .NET.

Object-Robo: Production of a teaching package for object-oriented programming based on Robo and Java or C#. The output would be a Java/C# implementation of the existing Robo environment, suitably extended to include OO-features, together with suitable examples, teaching notes and possibly even a book or online self-study module.

Temporal Recognizers: How can you recognize words? How can your hands discriminate textures? How do our brains do it?  Mus silicium is an artificial neural organism that accomplishes such a temporal pattern-recognition task. Mus silicium is modelled on simple properties of brain function, and embodies some powerful novel principles for neural computation. What are these principles? Investigate/experiment with this and relate it to my own (inscriptor) philosophy. Also look at the Coherence Detection work of the Bremen group and relate it to these ideas. {Note: This is very much a AI/CogSci research project and would suit someone particularly interested in this area and considering continuing on to MSc. & PhD.}

Active Map Toolkit: Redesign/completion of last year's project (see below). Demonstrate by developing a fully interactive map of the Bilkent Campus that can be utilised in other projects, via the web, information points & stand-alone applications.

Wireless Information Points: Continuation of previous year's project (see below) extending it to work on both Palm OS computers and .NET framework PocketPCs, using both Bluetooth and IEEE802.11b wireless communication links (and perhaps RFID tags may also be an option.) Demonstrate a fully working system for the Bilkent campus and/or a touristic area. May be done in cooperation with MobilSoft.

M-Learning / Mobile Education: An investigation into the use of information points for learning. Keywords here would include just-in-time learning and informal learning. Deliverables to include a demonstration system for an archeological/historic/touristic site or some more general framework based on situated/contextual learning.


Senior Projects List - 2002/2003

The projects listed here are serious applications for which customers await! Many of them push the limits of current technology and demand considerable thought to complete. Do not consider taking them unless you are completely serious and prepared to work very hard and consistently throughout the two semesters. Having said that, I would hope that most Bilkent students should be able to complete them successfully!

UPDATE: Obviously I was wrong! It appears that few of this year's students wanted a challenge or were prepared to work seriously. Only three students took projects & two of those (Doruk Köse, Emre Karabulut) have now dropped the project without doing anything all semester! Hopefully next year's students will be better, perhaps returning to the excellent (award-winning) work done last year. David. (26th December 2002)

Redesigning the PC: It's time to have a serious rethink about the way we organise and interact with our computers. From the seemingly inevitable notion of files and folders, through to the now ubiquitous window'ed desktop, stagnation has set in. This project challenges you to throw out the old and start with a clean slate. How might the computers of tomorrow function so as to make our lives easier (not more difficult!) Think network databases and UI's designed for real people instead of automatons. Implement a demo in .NET, perhaps?

Building Community: An investigation into online communities, how they start, how they function and how they may be better supported. Ideally, new ideas and implementations should result from this project! For some initial thoughts in this direction see the April 2002 special issue of Communications of the ACM.

Active Map Toolkit: Redesign/completion of last year's project (see below). Demonstrate by developing a fully interactive map of the Bilkent Campus that can be utilised in other projects, via the web, information points & stand-alone applications.

Wireless Information Points: Continuation of last year's project (see below) extending it to work on both Palm OS computers and .NET framework PocketPCs, using both Bluetooth and IEEE802.11b wireless communication links (and perhaps RFID tags may also be an option.) Demonstrate a fully working system for the Bilkent campus and/or a touristic area.

M-Learning / Mobile Education: An investigation into the use of information points for learning. Keywords here would include just-in-time learning and informal learning. Deliverables to include a demonstration system for an archeological/historic/touristic site or some more general framework based on situated/contextual learning.

Supporting Open/Distance Education Students: Students studying in the Open Education system can find it a very lonely experience. They can be just one of tens or even hundreds of thousands of students taking a course. Clearly there is a need to support such students and get them more involved. One way to achieve this is to have them form small discussion and project groups. Such groups could communicate online during a broadcast to arrive at a group question or statement to be sent to the presenter, or they could meet afterwards with a tutor to further discuss the subject matter, or they could meet at their own convenience to work together on homeworks/projects. Tutors too could benefit from an ability to interact with other tutors and with the course presenters. This project should investigate how can this be achieved with particular emphasis on using interactive digital television and, perhaps, conventional PC's. It should aim to produce a working demonstration.

Message Classification/Summarization: Live television shows, whether they depict some news event, discuss a topic of popular interest or have an educational function, can have massive audiences. Increasingly, viewers want to be able to interact with the broadcast, asking questions or voicing their opinion on the material being shown. In order to provide useful real-time feedback to the presenter, the resulting stream of questions needs to be collated and made available in some organized and condensed form. This project should attempt to automate this process as much as possible.

Interactive Art: Generate sounds, images and visual effects based on the user interactions. Sensors can detect user position, motion, voice, etc., information that can be used to modulate computer generated art. Use your imagination. Possibly team up with people in the Arts faculty.

 

...I am also still interested in many of the projects listed below...

 


Senior Projects List - 2001/2002

In addition to the projects explicitly listed here, I am still interested in most of the preceding year's project proposals and in undertaking projects within the framework afforded by Microsoft. I will consider any reasonable proposal connected with cognition, internet, education, mobile computing, smartcards and interactive TV. Please feel free to come and discuss them, if you are interested.

Active Map Toolkit: A Java framework which would allow application programmers to quickly and easily build interactive maps. These may be simple information points showing campus or city maps that indicate the location of various amenities, or more sophisticated applications that track real-time data including the location of buses, trains, or delivery personnel, or show maps of temperature or electoral results by district.

Object-Robo: Production of a teaching package for object-oriented programming based on Robo and Java or C#. The output would be a Java/C# implementation of the existing Robo environment, suitably extended to include OO-features, together with suitable examples, teaching notes and possibly even a book or online self-study module.

Temporal Recognizers: How can you recognize words? How can your hands discriminate textures? How do our brains do it?  Mus silicium is an artificial neural organism that accomplishes such a temporal pattern-recognition task. Mus silicium is modelled on simple properties of brain function, and embodies some powerful novel principles for neural computation. What are these principles? Investigate/experiment with this and relate it to my own (inscriptor) philosophy. Also look at the Coherence Detection work of the Bremen group and relate it to these ideas. {Note: This is very much a AI/CogSci research project and would suit someone particularly interested in this area and considering continuing on to MSc. & PhD.}

The following projects will be done in cooperation with Mobilsoft

Wireless Information Points: Investigate, propose solutions for and implement application frameworks for information points in shops, museums, turistic sites, airports, train stations, conferences, etc. Such information points would be accessed by short-range wireless devices (using either Bluetooth or IEEE802.11b) such as mobile phones and PDA's. Since the location of their users are known very precisely, extremely pertinent information can be made available. Note: This project may also be suitable for a Microsoft supported application and could combine elements of the Active Map project too.

Small Group Communication via OpenTV: Especially for interactive TV-based education there is a need to get students more involved. One way to achieve this is to have them form small discussion and project groups. Such groups could communicate online during a broadcast to arrive at a group question or statement to be sent to the presenter, or they could meet afterwards with a tutor to further discuss the subject matter, or they could meet at their own convenience to work together on homeworks/projects. How can this be achieved using interactive digital television and, perhaps, conventional PC's.

Message Classification/Summarization: Live television shows, whether they depict some news event, discuss a topic of popular interest or have an educational function, can have massive audiences. Increasingly, viewers want to be able to interact with the broadcast, asking questions or voicing their opinion on the material being shown. In order to provide useful real-time feedback to the presenter, the resulting stream of questions needs to be collated and made available in some organized and condensed form. This project should attempt to automate this process as much as possible.

Visual Development Environment for Digital TV: Programming the set-top boxes used to recieve digital television is complicated by the lack of easy-to-use tools. This project will aim to construct a code library and visual programming environment for such systems. The output will be C-language programs suitable for OpenTV. {3 or 4 students, Meteksan will provide access to an OpenTV development system.}

Personalisation engine: Design and implement a general purpose personalisation system suitable for as many applications and platforms as possible.

Understanding user preferences: Investigate ways in which user preferences can be determined from various sources.

Secure Payment & Transaction on Digital TV: Investigate the demands of real time buying & selling of stocks on digital tv.

Misc:

Interactive Art: Generate sounds, images and visual effects based on the user interactions. Sensors can detect user position, motion, voice, etc., information that can be used to modulate computer generated art. Use your imagination. Possibly team up with people in the Arts faculty.

Turkish Web Database Project: The goal is simple, make the index of the Turkish literary journal, Varlik, available to researchers via the web. This is essentially a very simple task, so I will expect it to complete it quickly and to a very high quality, including documentation. Possible extensions may include doing it in several languages and/or producing a framework that would allow users to produce similar systems very quickly and easily.


Senior Projects List - 2000/2001

In addition to possibly continuing some of the projects from previous years, I am also interested in the following, plus basically anything related to the web.

  1. MEB Web-based software: Please ask. Several possibilities exist to produce web-based support material for and in conjunction with the MEB (and perhaps even a California-based group.) 
    - One idea is an adventure game in which students wonder around a virtual world solving puzzles. A nice twist on this old idea would be to have students submit questions for inclusion in the game, their name appearing on any accepted questions. Facilities to allow students to play the game together would also be interesting.
    - Another option would be a database system containing lesson plans, questions sets, etc. that could be organised, added to and commented on by teachers all via the web.
    - Within this general framework, someone may be interested in completing, installing and running the internet writing club developed by some students last year.
    - Expert System-based interactive educational game over the web.
    - Java bean that "accounts" for program use. It would "phone home" occasionally to report to the main accounting system and provide remuneration to the software or courseware authors. This might actually have more general use as an optional means to pay for downloaded music files, books, etc. This might be the next new new thing!
    - a web-based system that would allow co-operative critiquing of texts, eg. overall suggestions/views, comments on specific paragraphs or sentences, possible rewrites, etc.

  2. Web-based expert-system shell: Please ask. The basic problem is to automatically help a customer on the web, come up with the part number of an item he/she wants, so that they can actually purchase it (by entering this part number into the normal shopping/warehouse database system.) Could be generalised, perhaps.

  3. Implications of the web: Investigate and try to come up with novel solutions to (views on) the difficulties resulting from technological change, particularly related to the internet. I am thinking especially of privacy, anonymity, crime, copyright infringment, social accomodations due to the speed of change, voting, advertising, cybercash, taxation, open government, etc. The output would be a number of position papers each including survey, analysis & proposals. Ideally, some of these should be published by leading websites such as CNN, Time, and BusinessWeek Online or international journals.

  4. Mus silicium: How can you recognize words? How can your hands discriminate textures? How do our brains do it?  Mus silicium is an artificial neural organism that accomplishes such a temporal pattern-recognition task. Mus silicium is modelled on simple properties of brain function, and embodies some powerful novel principles for neural computation. What are these principles? Investigate/experiment with this, relate it to my own philosophy, do your senior project and possibly win $500. What more could you want?

  5. TYWC Maintenance: Take the existing TYWC web site and complete the upgrade to using Perl and an SQL database for everything (member details, story selection and story storage.) Extend to include new features such as grading, next/previous story, threaded debates, etc.

  6. Personal Dynamic Web pages: Tools to allow users to put together webpages by dynamically culling material from elsewhere on the net. For example, the exchange rates from the central bank, the weather from CNN, and the TV and cinema schedules from the local paper.

  7. Web site maintanence tools: Similar to Microsoft's FrontPage, but platform independent. It should also aim to work from mobile platforms, allowing sites to be edited on the move! The keyword here is simplicity, using form-based/drag-and-drop editing of the html, plus list-box selection of on site links.

  8. more when I think of them... (I am also open to any suggestions from you.)


Senior Projects List - 1999/2000

  1. Research Aid: Continuation of a recent MSc. project aimed at producing a tool to help researchers of all sorts (industry, faculty, university & school students) collect and organise information prior to producing reports or presentations. A simple prototype implementation is available. This project involves organising its fields tests and analysing the results, as well as extending the software in various ways, for example, by providing multi-user support. Requires good knowledge of Java. Might form a suitable basis for future MSc. work if desired.

  2. Object-Robo: Production of a teaching package for object-oriented programming based on Robo and Java. The output would be a Java implementation of the existing Robo environment, suitably extended to include OO-features, together with suitable examples, teaching notes and possibly even a book or online self-study module.

  3. Internet Club: Implementation of an Internet-based writing club using Microsoft's ASP (Active Server Pages.) A crude proof-of-concept prototype already exists, so this project involves the production, testing and documentation of a finished product. Note: Alternative implementations of this project may also be done by different groups, using for example either PHP or Java Servelets.

  4. Cognition: If there is anyone really interested in Artificial Intelligence/Cognitive Science, then please come and talk to me. This is my real area of interest and I would love to find equally interested graduate students to work in this field. I am particularly interested in the philosophy of cognition/computation and in developing new more realistic neural network models. One immediate possiblility is the construction of a web-site, in cooperation with researchers around the world, dedicated to the philosophy of computation.

  5. others... this year I really want to complete the above projects, however, I may consider others, particularly from the list below, if you are really interested!


Senior Projects List - 1998/1999

 

  1. Distance Education Project: Team members are required to work on various aspects of this major initiative to build and support Internet-based distance education. The project is a joint undertaking between Bilkent, METU and (provisionally) the Turkish Open University at Eskisehir. Further details will be available shortly on the project website. There are several important sub-projects which can be started immediately,
        * Automated evaluation of student homeworks in Word, Excel & Access. Black box testing and evalutation of programs. These will be seperate modules linked to last year's ASEP project.
        * Online quiz creation & presentation module, to be linked to the WIZ project.
        * Internet-based conferencing facility. Participants will be virtually there, rather than physically. Software should provide all the facilities required to put on a normal conference/workshop/seminar/sales meeting. Use the latest audio/video & Internet technology, in particular multicasting.

  2. Parts Identification Project: For use in the manufacturing and supply sectors, the idea is to provide quick and easy access to parts information for suppliers and end-users alike. Before an item can be sold or replaced, it must be identified. First, the particular machine and model must be determined, and then the desired part must be located and its stock/code number found. This process can be very complex, not least because customers rarely know the exact model number of the faulty equipment. The objective is thus to provide a very simple yet flexible system which will aid users in locating items that they need. I envisage it functioning transparently from CDROM or over the web and incorporating 2D or even 3D-VRML graphics, with expert systems-like access to databases. This project will aim to produce a generic demonstration system which can be shown to manufacturers and hopefully adopted as a standard. Challenging real-world task with a real customer!

  3. Investigate state-retaining Neural Networks: Existing nueral networks are either simple feed forward "filters" or employ feedback to provide previous state information. Neither of these approaches seem biologically plausible. This project aims to investigate another possibility, that of state-retaining neurons. The work would build on the philosophy inherent in the inscriptor theory, and would aim to produce a theoretical basis for such networks demonstrating how they may help solve the mysteries of cognition and/or provide solutions for practical engineering applications.

  4. Re-implement TYWC operations: TYWC has grown into a major international club attracting thousands of members. It currently employs CGI programs written in Perl. This project would involve redesigning and extending the club software using the latest Internet technologies, including ASP, Java and database servers.

  5. World Map Applet: Java based applet which presents a world map to the user and allows them to zoom in and out at will. The map would show information about world times, daylight/night and, most importantly, obtain and display user location information via interaction with a server database. Such an applet should have wide application. For example, Internet-based clubs could use it to see/show where their members live, commercial enterprises who might use it for cutomer demographics, or for showing where the closest sales or service centers are, and global information providers might employ it to display weather reports or geographical, political and social information.

  6. Internet Research Aid: Information abounds in books, journals and on the net. Automated search engines help us find the information we need and wordprocessors enable us to produce nicely written documents, but in between is chaos! There are currently no tools to help organise the information we have found or to help decide what still needs to be found. An integrated enviornment which pulled everything together, simulataneously maintaining links to the original sources while allowing ideas to be shuffled around at will, would be an invaluable aid to researchers of all ages.

 


Senior Projects List - 1997/1998

 

  1. Competitions Presentation Software: TV-style quizzes pit contestants against each other and against the clock. A software package which allowed competition organisers to put together and run such contests would be very useful. Ideally it should include features to automatically keep track of times and scores during the event as well as handle question and answer presentation in a graphical format to be seen by contestants and audience alike. Will need to interface to hardware buttons for each contestant.

  2. Programming Competition Software Submission Program: Competitions such as the 3rd. Annual Bilkent Programming Contest, require competitors to solve several programming problems and then submit them for grading. Often the grading is done manually using black box testing against standard data sets. This can be a difficult and time consuming task, so what we like is to automate both the submission and testing stages, possibly even providing on-line feedback to competitors!

    Extension/alternative: A very similar program could allow students to hand-in any sort of homeworks/assignments electronically. The system could then organise these so they could be graded either manually or automatically, and the results collected and analysed online! Such software would prove enormously beneficial in many Bilkent courses where 500+ students hand in weekly assignments.

  3. Calculus Teaching Aid: Take the excellant program done by first year students and extend it to include more interactivity. Relatively straightforward programming in Delphi, but the important thing is to produce a complete, bug-free teaching package that can be used in schools and colleges.

  4. Optics Workbench: Taking the excellant Delphi program done by first year students as the basis, produce a fully working product for use in schools and colleges.

  5. Internet File Backup & Restore: One of the most important things about backups is that they should be kept in a physically different locations, so that if disaster strikes the original, the backup will survive! The Internet provides a convenient way of transfering information between computers anywhere in the world. Using it to place backup copies of important data on another machine thus seems like a good idea. Moreover, it would mean that you could access that data from any machine, anywhere in the world, at anytime. No more worries about arriving for a business meeting in another country only to find you forgot an important file! So, this project should aim to produce an extremely simple to use program to provide Internet-based backup and restore facilities.

  6. World Map Applet: Java based applet which presents a world map to the user and allows them to zoom in and out at will. The map would show information about world times, daylight/night and, most importantly, obtain and display user location information via interaction with a server database. Such an applet should have wide application. For example, Internet-based clubs could use it to see/show where their members live, commercial enterprises who might use it for cutomer demographics, or for showing where the closest sales or service centers are, and global information providers might employ it to display weather reports or geographical, political and social information.

  7. Extensions to WIZ: A recent master's thesis laid the foundations for a semi-intelligent Internet-based distance education system, which dynamically tailors courses to the individual student. There is still much work to be done, including the design and construction of tools for automating course design, preparation and maintainence, analysis of results, producing more sophisticated question and answer mechanisms, and extending and improving the basic implementation. Help build this leading edge system and publish papers!

  8. Extensions to TYWC: This Internet-based club has around a thousand members and desperately needs help automating their operations. The idea would be to produce software specifically for this club, but which could also then be used by others to run similar groups on the web. Basic CGI & Perl code. Nothing difficult!

  9. Automatic abstracting/summarising: Searches on the Internet frequently produce large numbers of documents in response. Rather than sift through this manually it would be nice to have a tool which did it automatically. Such a tool would remove duplicate information, abstract and organise the results, and even, perhaps, do additional searches for missing items!

  10. Internet Research Aid: Information abounds in books, journals and on the net. Automated search engines help us find the information we need and wordprocessors enable us to produce nicely written documents, but in between is chaos! There are currently no tools to help organise the information we have found or to help decide what still needs to be found. An integrated enviornment which pulled everything together, simulataneously maintaining links to the original sources while allowing ideas to be shuffled around at will, would be an invaluable aid to researchers of all ages.

 


Senior Projects List - 1996/1997

  1. Internet Club Software
    Individual Project
    Unix Perl script or more likely C
    
    Design and implement a program which enables anyone to start and run a
    web-based club. It should provide facilities for passwords, membership lists
    & databases, point scoring, guestbooks, chatrooms, etc. Essentially automate
    everything needed to keep an internet club running however many members
    it may have! The basic mechanism requires linking into the network server's
    CGI (simple) but it may be extended with JAVA, etc. Use your imagination!
    
  2. Educational Hypertext
    Individual Project (or possibly two people)
    Delphi
    
    Design and implement a simple to use hypertext authoring and presentation
    system. The resulting product will be used by teachers and students as part
    of a Ministry of Education supported project. Commercial quality software
    and documentation is required (now!) A prototype already exists so this
    should not be too difficult.
    
  3. Internet Search Aid
    Individual or group project
    Delphi?
    
    The Internet provides rapid access to a vast quantity of information,
    yet finding just the "right" bit can prove impossible. Search engines
    offer some help assuming you can formulate an appropriate query,
    however, this is usually very difficult. Simple queries can result in tens
    or even hundreds of thousands of potentially matching pages, while
    thinking of a more sophisticated query is both difficult and error-prone,
    likely to exclude the really useful pages. What is needed is some help
    or guidance in query formulation. Several methods could be employed,
    including the use of an on-line thesarus and some automated processing
    of the initial results provided by the search engines. There are millions
    of users out there hungry for a good solution!
    
  4. Internet Indexing Solution
    Individual or group project
    Unix-based C?
    
    Currently the best Internet search engines index web pages by all the
    words they contain. Unfortunately, when a user attempts to search for
    information on a particular topic they find great difficulty in predicting
    the words an author might have used and hence the words the page
    was indexed under. Basically, the problem arises because there is no
    concept of context in the indexing process, which might later help the
    user retrieve relevant information. The world is desperate for a good
    solution to this problem, its inventor will become rich!
    
  5. A Creative Art Program
    Individual Project?
    {might suit student interested in gradate research}
    
    Computers are dumb rule-following machines, whereas human beings
    are highly intelligent, flexible, creative creatures! At least that's what
    we are lead to believe. This project aims to show that computers can
    be creative too. What I want is a program that produces original works
    of art. How do you go about getting a machine to create masterpieces?
    You're human, arn't you? So, use your creative intelligence!
    
    
  6. Experimental Expert System
    Individual project
    Borland-Pascal/Delphi
    
    Re-write the KNOWALL! expert system shell to work under MS-
    Windows and extend it to produce a commercially viable product
    which incorporates graphics as well as text. Several example
    expert systems should also be to constructed to demonstrate the
    shell's abilities (e.g. Plants, Birds, etc.). Possible extensions
    to the basic project might include an educational game based on
    the same knowledge-base and interactive knowledge acquisition.
    
  7. A Graphical Semantic Mapping Tool
    Individual/Group Project, max. 2 people
    
    Design and develop a computer-based semantic mapping tool similar
    to the Mind-Mapper software. Extensions would include named
    links, pictures, heirarchical structures and possibly auto-
    layout. A few serious examples from AI/physics/life should be
    constructed to demonstrate the tools utility.
    
  8. A Simulation-based CAL program
    Individual/Group Project, max. 2 people
    
    Simulation environments linked to flexible hypertext systems
    can offer significant educational advantages in many areas. Orkut
    Buyukkokten's "Particle motion" program represents one such
    system, whereby teachers can construct interactive material which
    demonstrates the connections between real world problem and its
    analytic and numerical solutions. This project will aim to
    produce several new examples of this type to teach basic geometry
    and/or calculus.
    
  9. A Study in Knowledge Representation
    Individual project
    (suit student intending to do MSc/PhD in AI)
    
    A theoretical comparison between my inscriptor theory and more
    conventional knowledge representation techniques such as rules,
    frames and semantic nets. Producing a number of examples which
    demonstrate inscriptor solutions to classical knowledge
    representation issues would also be valuable. Extensions might
    include demonstrating a parallel distributed implementation of
    inscriptors or investigating the meaning of context within this
    new paradigm.
    
  10. Maintain and Improve EASYVIEW for Windows
    Individual Project
    Borland-Pascal/Delphi
    
    Akif Eyler's "Easy View" software for Macintosh computers
    won the 1993 MacUser Shareware award for Text Tools. The program
    is a text browser conforming to setext standards. A Windows
    version of this program (written by me) is already out on beta
    test. This project, involves rewriting and improving various
    parts of the program as well as adding new features.
    Documentation is also essential! There is nothing particularly
    difficult about this project, however, solid commercial quality
    programming is required to produce a tool which may eventually be
    used by "millions" worldwide!
    
  11. Artificial Life
    Individual Project.
    May suit student considering graduate work?
    
    Artificial Life is a new and exiting sub-field of AI. This project
    will aim to complete a survey of the current state of the art and
    further develop and extend the program produced by some of last
    years students.
    
  12. Multi-font text editor component
    Individual Project.
    Delphi
    
    Produce a multi-font text editor component that can be
    incorporated into other Windows-Delphi programs. OLE capability
    would be a great advantage. Another alternative might be an HTML
    WYSIWYG editor component.
    
  13. An Electronic Flourescent Marker Pen
    Individual Project.
    To be done in Windows
    
    Flourescent maker pens are often used to highlight important
    words/paragraphs within texts with a view to better
    understanding/recall. An electronic equivalent would not only
    allow marking of text, but also enable unnecessary text to be
    "removed", "margin" notes to be attached and within text
    references to be located automatically . The ability to compress
    sections of text to a "summary", making the whole text appear to
    have a hierarchical structure may also prove an important aid to
    promoting better comprehension. This project will aim to create
    such an electronic marker and attempt a comparison with
    conventional paper texts based on such variables as recall,
    understanding, number of references to previous items etc.
    
    Note: see program called MarkUp, refered to in email EDTECH?
    Also the commercial Envoy program (On Paradox Disk?)
    
  14. An Algorithm Development Tool
    Individual Project.
    To be done under Dos or Windows
    
    We want to emphasise top-down program development, how about some
    tools to support it!  Many students have great difficulty
    constructing algorithms, they need guidance and could probably
    benefit from some sort of mechanical aid. One solution may be
    something similar to an outliner, but including what-
    if/backtracking facilities, together with some way of visualising
    the result. {see Delta program demo } {ref. Self p391 Bridge }
    
  15. A Personal Knowledge Base Organiser
    Individual Project (possibly 2 people?)
    To be done in Pascal under Windows.
    
    Improved communications have brought a veritable explosion in the
    amount of information which we must digest. Organising all this
    knowledge, trying to make sense of it and even being able to
    locate it again when needed, are now major problems. This project
    will aim to provide a tool which will help individual
    researchers/students manage this new wealth of information.
    
    While primarily concerned with on-line text, the design should
    take account of the fact that programs, graphics and off-line
    material (in the form of photocopied articles, journal references
    and computer disks) also form part of the totality of personal
    knowledge. The main task is to store this material (or
    information about the material if it is not on-line) in such a
    way that retrieval is simplified. This will usually mean
    identifying "index" terms for each item and providing rapid
    access via these entries. Additionally the 'system' should
    provide help with the indexing process and ideally facilitate the
    "discovery" of new knowledge (as a composite/restructuring of
    existing information). To these ends any item must potentially be
    accessible via many independent index terms. The index method
    should allow for the fact that some terms have synonomous
    meanings, while others have more generalised or specialised
    meanings. The tool should also allow for the establishment of
    "links" between related items, enabling the user to browse
    through the knowledge base as determined by their current
    interests.
    
    Restructuring the knowledge base (or at least adding new
    structure to it) will be vitally important to accomodate changing
    interests and understanding. The ability to create many "views"
    onto the knowledge base is particularly useful and will help
    ensure that it remains pertinent. Additionally it will provide a
    mechanism which should allow knowledge to be abstracted for use
    in report/paper writing.
    
    Notes:
    - PC based and sized, single user.
    - ideally "peramnently resident" to allow capture of email etc.
      from remote computers.
    - texts/items will be read only after being stored, however,
      notes etc. may be easily attached to them.
    - index terms need not actually be found in the file
    - a single file may contain many items, since assigning a file to
      small text items usually means much wasted space.
    
  16. Experimental Computer-Supported-Cooperative-Work Environment
    Individual/two person project
    
    Design and implement a CSCW environment which will enable a group
    of  people, working asynchronously from many different locations,
    to freely  share and discuss information on any number of topics.
    
    Documents will be kept in a network based, read-only archive. The
    environment is expected to provide facilities to find and view
    any  document in the archive. Documents will be indexed for easy
    access and  may also contain hypertext links which refer to
    sections of other related  documents. These links can be followed
    electronically, allowing a user to  quickly and easily get to
    grips with the subject matter.
    
    Individuals wishing to make a contribution to the archive, will
    compose  their document locally, only "submitting" it to the
    archive when they are  completely satisfied with it. Until that
    time, no-one else can see or  examine it. While composing a new
    text an author will have full access to  the archive and can very
    easily create electronic references to existing  material.
    
    A prototype version of this program written in C++ working under
    MSWindows and linked to the Sun systems via the NFS was
    implemented last year. This years project will be primarily
    concerned with improving this software by replacing the NFS link
    with a full TCP/IP Winsock connection, although some improvements
    to the user interface would also be useful.
    
  17. Re-implement the Tutor CAL Program in Windows
    Group Project, max. 3 people
    
    TUTOR is a semi-intelligent Computer-Aided-Learning system which
    combines software engineering and educational design theory to
    produce easily reusable modular courseware. This project will aim
    to reimplement and improve the original DOS-based program to work
    under MS-Windows. The Computer/DOS teaching package, DOST, should
    be converted to work under the new system. Time permiting,
    prototype courseware suitable for teaching "Force and Newton's
    Laws of Motion" in Turkish schools may also be produced in
    cooperation with Ministry of Education experts.
    

David Davenport {email} {homepage}