AlgoVista: An algorithmic search tool in an educational setting

Research output: Contribution to journalConference articlepeer-review

Abstract

AλgoVista is a web-based search engine that assists programmers to find algorithms and implementations that solve specific problems. The search engine is not keyword based but rather requires users to provide (input ⇒ output) samples that describe the behavior of their needed algorithm. The system is easy to use. To search for a particular algorithm or classify a combinatorial structure a user simply draws the query in a drawing pane on a web browser. The result of the search is a list of links to web resources describing or providing implementations of the algorithm. AλgoVista has many interesting applications in an educational setting. The search engine can help research students classify obscure problems and locate algorithms that would otherwise be hard to find in textbooks. Students can also add calls in their own programs to AλgoVista's database of executable problem specifications in order to dynamically check the correctness of their programs. Finally, instructors can use AλgoVista to set novel assignments in algorithms and data structures classes. This paper briefly describes AλgoVista and reports on its use in two algorithms and theory classes, one at the undergraduate and one at the graduate level.

Original languageEnglish (US)
Pages (from-to)462-466
Number of pages5
JournalSIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)
Volume36
Issue number1
DOIs
StatePublished - Mar 2004
Event35th SIGCSE Technical Symposium on Computer Science Education - Norfolk, VA, United States
Duration: Mar 3 2004Mar 7 2004

Keywords

  • Algorithms
  • Languages
  • Verification

ASJC Scopus subject areas

  • Software
  • Food Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'AlgoVista: An algorithmic search tool in an educational setting'. Together they form a unique fingerprint.

Cite this