Search Engine project

At this page projects regarding search engines are presented. The projects are created for students with different backgrounds. This is students who has only had "Introductory programming" and/or "Object Oriented Programming", as well as students who furthermore has had "Database systems", "Concurrency" or "Introduction to Algorithms and Datastructures".

Introductory programming: Search Engines.

Describtion:

At which homepages of IT-C can one find information on for instance "soccer", or information on "examination dates". To answer such questions a search engine is used. A search engine is comprised of technology, enabling more users to use the system at the same time (for example Yahoo has many users at a time), as well as technology enabling fast response times. These techonlogies can be learnt in depth at respectively webprograming and algorithmic courses at IT-C. The purpose of this project is to construct a simple search engine. In the project we limit ourselves to the skill obtained at "Introductory programming". The purpose is, that the project will result in a simple program that can:

1) Read a file with a lot of words.
2) Present a simple user interface, enabling the user to search for one of the words read in the previous step.

In order to be able to answer this question faster than searching all of the words from the file, the project starts out with a simple explanation on how to construct a simple and fast search routine.

Suggestions to variants of the assignment are welcome

The purpose of the course is to learn the students how to construct a larger program at the same time using the knowledge from "Introductory programming". This experience is a great help when following much of the courses following IP at IT-C: for example if one follows a course on estimating the time to develop a larger program, or a course using the things learned in IP.

Target group/skills needed:

Introductory programming

Object Oriented Programming: Search Engines.

Describtion:

The project will result in a program, that is like the one described under the project for students whose only skill is "Introductory programming". It is expected though that participants with experience from the course "Object Oriented Programming" demonstrates more knowledge about programming and uses more refined programming techniques. It will be an obvious possibility to use the course to gain some introductory knowledge about webprogramming and algorithms.

The purpose with this course is for the students to gain more experience in the field of constructing larger programs.

Target group/skills needed:

Object Oriented programming.

Algorithms: Search Engines

Describtion:

At which of IT-C's homepages do one find information on for example "soccer", or information in "examination dates". In order to answer such questions a search engine is used. The project is about constructing a proposal for a search engine for IT-C. A search engine is comprised of client-server technology and search routines. Depending on interest one can ignore the client-server part focusing on creating fast search routines. It is also possible to create a naive implementation of the search routine focusing on the client-server part. The project period will start with a run through of the technologies needed, such as search routines.

Suggestions to variants of the assignment are welcome

Target group/skills needed:

Introduction to Algorithms and Datastructures.

Database Systems - Search Engines

Describtion:

At which of IT-C's homepages do one find information on for example "soccer", or information in "examination dates". In order to answer such questions a search engine is used. The project is about constructing a proposal for a search engine for IT-C. When constructing a search engine a database containing the words to search for is build. The implementation of the database gives the students the possibility to investigate how they can create a database supporting fast search times for specific purposes themselves. Depending on skills and interest the teachers provides suggestions on how to implement the search routine and the method to collect data. Own proposals are welcome as well. The project period will start with a run through of for instance search routines, that supports different functionality for searching.

Target group/skills needed:

Database Systems.

Concurrency - Serach Engines

Describtion:

At which of IT-C's homepages do one find information on for example "soccer", or information in "examination dates". In order to answer such questions a search engine is used. The project is about constructing a proposal for a search engine for IT-C. A search engine must support concurrent use. While people search in the data collected, new data is collected from the web and stored. The collection of data demands a lot of concurrent programs and the synchronization of those. Furthermore the task is made more difficult, because the users must be able to search in the data collected while this is done.

Depending on skills and interest different suggestions are made by the teachers on how to implement the search routine and the metohd to collect data. Own proposals are welcome as well. The project period will start with a run through of for example search routines supporting diferent functionality for searching.

Target group/skills needed:

Concurrency.

Applies to all of the projects

An oral examination is held based on the project report.

Teachers

Stephen Alstrup
Theis Rauhe