DBSnap: Learning database queries by snapping blocks

Yasin Silva, Jaime Chon

Research output: Chapter in Book/Report/Conference proceedingConference contribution

5 Scopus citations


A significant amount of recent research in Computer Science Education has focused on studying block-based programming. In this approach, computer programs are created by connecting blocks and the blocks' shapes determine the permitted connections. The focus is on the program's logic instead of its syntax. This paper introduces DBSnap, a web-based application to build database queries, particularly relational algebra queries, by snapping blocks. DBSnap fully supports the construction of intuitive database query trees, which is one of the most effective approaches to teach database queries. DBSnap is also highly dynamic and shows the query results as the query is being built. The user can also inspect, at any time, the intermediate results of any query node. This paper presents DBSnap's design and implementation details, an evaluation of its effectiveness as a learning environment, and a thorough comparison with alternative ways to teach query languages. DBSnap is publicly available and aims to have the same transformational effect on database learning as previous block-based systems had on traditional programming learning.

Original languageEnglish (US)
Title of host publicationSIGCSE 2015 - Proceedings of the 46th ACM Technical Symposium on Computer Science Education
PublisherAssociation for Computing Machinery, Inc
Number of pages6
ISBN (Print)9781450329668
StatePublished - Feb 24 2015
Event46th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2015 - Kansas City, United States
Duration: Mar 4 2015Mar 7 2015


Other46th SIGCSE Technical Symposium on Computer Science Education, SIGCSE 2015
Country/TerritoryUnited States
CityKansas City


  • Databases curricula
  • Query languages
  • Relational algebra

ASJC Scopus subject areas

  • Education
  • Computer Science (miscellaneous)


Dive into the research topics of 'DBSnap: Learning database queries by snapping blocks'. Together they form a unique fingerprint.

Cite this