System architecture

 

 

The framework comprises five basic components: a Learning Management System (LMS), a Collaborative Learning Modeling tool, a Teachers’ Feedback tool, Online Repositories of Software patterns and a Semantic Management System (Figure 4). In the rest of the section, each of these components is addressed in turn.

Learning Management System

Today’s LMSs have an extensive set of tools and features aimed at facilitating the learning process (e.g., quiz, assignment, chat room, discussion forum, and glossary). However, they do not fully address the requirements of a comprehensive learning framework such as DEPTHS. One of those requirements is the integration of the usage tracking data from all the systems/tools students use. We address this requirement with the LOCO framework (as explained in Section 4). As most of the existing LMSs use classical databases for data storage, it is necessary to transform the data stored in their databases into semantically enriched data compliant with the LOCO-Cite ontology. The transformed data is stored in the Repository of Learning Object Contexts (LOCs) which is fully based on the LOCO-Cite ontology.
Apart from the existing collaborative learning support that is usual in most LMSs (such as discussion forums and chat-rooms), we found that it would be very useful if student(s) had a tool for collaborative annotation of learning content (such as tagging, commenting and highlighting). The more the content is annotated, the easier it becomes to later find it and retrieve it. This is also in the line of leveraging of potentials of the emerging area of social computing and approaches such as collaborative tagging. Accordingly, we decided to integrate such a collaborative tool in the LMS that is used in our framework.

Collaborative Learning Modeling Tool

We have identified that the framework for software engineering education should necessary have the support for software modeling using diagrams, especially UML (Unified Modeling Language) diagrams. However, most of the existing software modeling tools does not provide all necessary support for collaborative learning. We refer here to the set of features that should be supported by these tools, beside those that they usually include:

  • An easy way for presenting a description of the suggested solution (i.e. software documentation that contains valuable information of both functional and non-functional requirements, information related to the problem domain).
  • Collaborative Tagging support module enabling students to create either social (public) or private annotations of learning content (e.g., publicly available online resources on the Web, design diagrams, and forum messages). That way, a student begins to create a network of content that can be later accessed and searched, for example, through a tag cloud view.  
  • A chat room and messaging tools that support collaboration with other students even if they are not using the same tool in the given moment (e.g. some are using the modeling tool, whereas the others are working within the LMS).
  • Ability to keep track of students’ actions during learning sessions (Student’s actions handler). These tracks are sent to the Interactions handler (see section 5.5) which is responsible for integrating them into the Repository of LOCs where they are stored for later analysis.
  • Context-aware learning. Based on a student’s learning context the system should suggest him/her the most suitable learning objects, publicly available online resources on the Web, similar problems, or discussion threads that could be useful for the specific problem he/she is facing. This should basically help students to better comprehend relations between the theoretical knowledge that they have learned and experiences of others with the practical problems at hand.

Feedback provisioning tool

In order to help a teacher to improve the learning experience of his/her students, DEPTHS incorporates a tool that provides teachers with feedback about all kinds of activities their students performed during the learning session. This tool is also built on top of the LOCO framework, so that it has access to the learning context data created in all learning tools used in DEPTHS. The feedback tool provides teachers with contextualized feedback and relevant information about students’ learning.

Online Repositories of Software patterns

One of the main advantages of this framework is that it leverages existing online learning resources, rather than requiring teachers to create new ones. There are a plenty of such repositories which could be used, such as Yahoo! Design Pattern Library, Portland Pattern Repository, and Hillside.net Pattern Catalog.
DEPTHS leverages the domain ontology to provide both teachers and students with resources from these repositories that are relevant for the current teaching/learning context. In particular, the domain ontology is used for annotating semanticaly the resources available from these repositories and the resulting semantic metadata is stored in the Repository of LO Metadata. This metadata is used for indentifying the resources relevant for any given learning situation. An additional advantage of DEPTHS is that these resources are made accessible from which ever tool of the DEPTHS framework a teacher or a student is using. Moreover, students are able to tagg and highlight these resource. We believe that these content annotation activities can improve some typical activities in learning (e.g. revisiting learning material, personal note taking, and connecting with peers), but moreover, they provide valuable data that can quaranty higher quality of context-aware learning.

Semantic Management System

This module is the integration point of the whole framework. In particular, it leverages the semantic web technologies to support integration of all the above mentioned modules. In order to acomplish this, it uses a set of repositories and a set of software compentents. In particular, it comprises the following three reporitories: 
Repository of LO metadata stores semantic metadata about online resources available from online repositories, as well as about internally created content, such as software design diagrams, discussion forum postings and chat messages besides regular LOs used in the courses under study. This metadata consists of topics defined in the software pattern ontology and we refer to it as semantic metadata as it formally defines the semantics of the learning content it is attached to.
Repository of design artifacts keeps students’ solutions in different formats: a format appropriate for their latter reuse, and another one that is suitable for their presentation in the LMS.
Repository of LOCs stores learning objects’ context-related data in accordance with the LOCO-Cite ontology.
In addition, Semantic Management System integrates the following  components:
LMS-LOC mapper has the role to transform data from the LMS database of logs of learners’s activities into the format compliant with the LOCO-Cite ontology and to store the resulting data in the Repository of LOCs. This data mapping is performed throughout each learning session in order to keep the semantic repository updated (with data about the events occuring durign that session).
Semantic annotation module is used for annotating online repositories of design patterns, as well as, diagrams (created by students) stored in the Repository of design artifacts. This module automatically extracts metadata based on the domain ontology and stores them in the Repository of LO metadata.
Design artifact handler manages the diagrams in the Repository of design artifacts. It takes diagrams from the modeling tool and stores them in the Repository of design artifacts in different formats. It is also responsible for keeping track of different versions of the same diagram.
Educational services provide all necessary support for context-aware learning and are accessible from all tools integrated in the DEPTHS framework. These services are based on Semantic web technologies, and include (but not limited to):

  • Web resource finding. Based on the student’s current LOCO context, DEPTHS suggests Web resources from publicly accessible repositories of software DPs that it finds relevant for the student’s given context. The relevance of a resource is determined through an algorithm which combines topic relatedness and collaborative filtering (i.e., students’ previous ratings of the resource’s relevance for the given context).
  • Discovery of relevant internally produced resources. This service suggests internally created resources (e.g., discussion threads, brainstorming notes, and project description) that could be useful for a student to solve a problem at hand in the given LOCO context. The computation of relevancy is done in a similar manner to the one applied for external, Web resources.
  • Experts, teachers and peers discovery. Based on the current LOCO context, DEPTHS suggests other students or experts as possible collaborators. Collaborators are selected and sorted using an algorithm which considers their relevance for the current problem, relevance for the current course and relevance for the related LOCO contexts. Potential collaborators can be from the DEPTHS environment, but can also be located through the problem solving community portals and relations established via peers.
  • Context-based semantic relatedness. This service is used by all other services, as it allows for: i) computing context-based semantic relatedness between tags that students define and/or use in the given LOCO contexts [Tornia et al, 2008]; ii) connecting students’ tags with appropriate concepts of the domain ontology (i.e. disambiguation of the tags with the domain concepts); iii) resolution of students’ queries containing both, tags and domain concepts relevant for the given learning context.