A Study on Relational Algebra Tutoring Systems

碩士 === 大葉大學 === 資訊工程學系碩士班 === 100 === Databases have been widely used in various kinds of information systems. The database course is one of the important courses in computer science (and related) departments. SQL is a standard language for accessing and manipulating relational databases which are t...

Full description

Bibliographic Details
Main Authors: Lu Wenkai, 呂文凱
Other Authors: Chiu Juishang
Format: Others
Language:zh-TW
Published: 2012
Online Access:http://ndltd.ncl.edu.tw/handle/71838419680690655269
Description
Summary:碩士 === 大葉大學 === 資訊工程學系碩士班 === 100 === Databases have been widely used in various kinds of information systems. The database course is one of the important courses in computer science (and related) departments. SQL is a standard language for accessing and manipulating relational databases which are the most common type of databases used today. Relational algebra is the theoretical basis for SQL. Learning relational algebra not only helps students learn SQL well, but also provides benefits in understanding the operation of query optimization. With the increasing popularity of higher education, more and more students will encounter great difficulties in learning lessons. In the past, many students who had been studying the database course felt that the concept was too abstract to comprehend. Besides insufficient abilities of abstract thinking and logical reasoning, the lack of practical exercises is usually the most important cause. If they want to strengthen the exercises, it must have a sufficient number of items available for practice. In addition, they may need immediate and adequate hints or guidelines to help in problem solving when they meet difficulty or get wrong during self-practice. However, to achieve such a demand, the burden in time and effort for a teacher is too heavy to afford. In this research, a relational algebra tutoring system with the capabilities of automatically generating items and diagnosing answers is implemented. By contrast, the early related systems need to build items and answers manually. In our system, items with different types and difficulties are automatically generated from the imported databases for students’ self-practice. Since the relational algebraic expression for a query can vary in many forms, the early related systems only compare the query results with the system’s answers. However, although the result were the same, it wasn’t necessarily correct. Such kind of error is a crucial blind spot that cannot revealed in the diagnosis process. Our system uses relational algebra’s transformation rules to transform students’ expression into a canonical form and then pass through a comparing process with the pre-generated canonical forms to check whether their answers are correct or not. This process can give an appropriate message to guide students to finish the questions. Not only the students can take advantage of our system to enhance the effectiveness of learning by doing sufficient exercise, but also it can significantly reduce the burden on teachers.