A key area of focus in recent Computer Science education research has been block-based programming. In this approach, program instructions are represented as visual blocks with shapes that control the way multiple instructions can be combined. Since programs are created by dragging and connecting blocks, the focus is on the program's logic rather than its syntax. In this demonstration we present DBSnap, a system that enables building database queries, specifically relational algebra queries, by connecting blocks. A differentiating property of DBSnap is that it uses a visual tree-based structure to represent queries. This structure is, in fact, very similar to the intuitive query trees commonly used by database practitioners and educators. DBSnap is also highly dynamic, it shows the query result and the corresponding relational algebra expression as the query is built and enables the inspection of intermediate query results. This paper describes DBSnap's main design elements, its architecture and implementation guidelines, and the interactive demonstration scenarios. DBSnap is a publicly available system and aims to have a transformational effect on database learning.
[1]
Guy Wiener,et al.
A decentralized approach for programming interactive applications with JavaScript and blockly
,
2012,
AGERE! 2012.
[2]
David Wolber,et al.
App inventor and real-world motivation
,
2011,
SIGCSE.
[3]
Yasin N. Silva,et al.
DBSnap: Learning Database Queries by Snapping Blocks
,
2015,
SIGCSE.
[4]
Jae Wook Jeon,et al.
Programming LEGO mindstorms NXT with visual programming
,
2007,
2007 International Conference on Control, Automation and Systems.
[5]
Abraham Silberschatz,et al.
Database Systems Concepts
,
1997
.
[6]
Ramez Elmasri,et al.
Fundamentals of Database Systems
,
1989
.
[7]
Chris North,et al.
Snap-together visualization: can users construct and operate coordinated visualizations?
,
2000,
Int. J. Hum. Comput. Stud..
[8]
Mitchel Resnick,et al.
Programming by choice: urban youth learning programming with scratch
,
2008,
SIGCSE '08.