A Systematic Approach for Designing Educational Recommender Systems

A Systematic Approach for Designing Educational Recommender Systems

Patrick H. S. Brito, Ig Ibert Bittencourt, Aydano Pamponet Machado, Evandro Costa, Olavo Holanda, Rafael Ferreira, Thiago Ribeiro
DOI: 10.4018/978-1-4666-4301-7.ch062
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

The construction of Educational Recommender System (ERS) demands the incorporation of quality attributes at the software design, such as availability for preventing the service to be unavailable for a long time, and scalability for preventing the system from going offline due to a large number of simultaneous requests. The incorporation of such characteristics makes ERS more complex and expensive, but existing strategies for designing ERS do not consider quality attributes in an explicit way. This chapter presents an architecture-centered solution, which is partially supported by tools and considers quality attributes as early as possible in the software development process in a systematic way, from requirements to the source code. The feasibility of the proposed process is showed in terms of a case study executed in a “step-by-step” fashion, presenting how the software architecture can be designed and gradually refined until it achieves the level of object-oriented classes generated based on design patterns.
Chapter Preview
Top

Introduction

Recommender Systems are systems that typically compare a user profile to some reference characteristics, aiming to rate the items according to the particular needs of the user.

In the context of education, Educational Recommender Systems (ERS) are used for recommending content to learners according to their needs and knowledge levels. ERS are particularly important to the learning process since they allow teachers and learners to find content in a more appropriate way, according to their educational profile and needs. The importance of ERS is even greater in the context of distance education, in which the average number of learners per teacher is usually higher than in traditional face-to-face education. In a scenario of a high number of learners, the recommendation of personalized content is impracticable for a human teacher, so there is a natural tendency to generalize the recommended educational content, such as exercises and reading material, according to the average profile of the class. The recommendation of general learning objects may discourage learners that need special attention thus increasing the dropout rate.

Due to its importance for distance education, ERS should be integrated to Virtual Learning Environment (VLE), in order to allow learners to access specific learning content, according to their profiles at the time that suits them. Knowing the importance of ERS and the fact that the VLEs should be online in a 24x7, ERS can be considered a critical system with which we must take special care throughout their life cycle, especially during its design and development.

Despite its importance to the learning process, the construction of ERS is considered a complex task, which demands the incorporation of quality attributes (Sommerville, 1995) usually related to critical software systems, such as scalability and security (privacy-protecting). Scalability property means that the system should be able of recommending content to a large number of users at the same time; while the security property aims to protect the personal data into the system profile from unauthorized access.

Although the aforementioned characteristics are very important in the context of ERS, their incorporation causes software to be more complex, and consequently makes the development process more error prone and the final software more expensive. To cope with the inherent complexity related to quality attributes, it has been claimed that quality requirements should be systematically incorporated as early as possible in the software development process, especially during the requirements engineering and the architectural design (Rubira, de-Lemos, Ferreira, & Castor-Filho, 2005), (Brito, Rocha, Castor-Filho, Martins, & Rubira, 2005). Software architectures explicitly represent the structure of systems, and it is one of the earliest artifacts that permits the analysis of system quality attributes, such as, adaptability, performance and reliability (Bass, Clements, & Kazman, 2003).

Although the addition of quality attributes in complex software systems has received considerable attention (Bass, Clements, & Kazman, 2003), (Brito, de-Lemos, Rubira, & Martins, 2009), (Bradbury, 2004), in the context of ERS it is not considered in an explicit way. Regarding the design of ERS, some authors have proposed multi-agent architectures that can provide personalized services for learners and teachers (Zhu, Ip, & Cao, 2008), (Casili, Gerling, Deco, & Bender, 2010). In such solutions, software agents coordinate work for offering recommendation services including personalized recommendation. (Wang, Tsai, Lee, & Chiu, 2007) propose an adaptive personalized model for learning objects recommendation. They propose to combination of two algorithms for recommending leaning objects: preference-based and correlation-based. (Lu, 2004) presents a framework for recommending learning content by using a multi-attribute evaluation method combined with a fuzzy matching method. A common characteristic of these approaches concerns the fact that in terms of quality attributes, the ERS are developed in an ad-hoc manner, by focusing only on the system functionality (e.g., recommendation algorithm, learner profile management, and domain management), but they do not consider different design decisions according to quality attributes derived from non-functional requirements as part of the development process. This ad-hoc way of dealing with quality attributes can impair the recommendation accuracy or even derail its use in a real environment with, for example, a critical requirement of scalability.

Complete Chapter List

Search this Book:
Reset