Project-based Collaborative Learning of Software Patterns Zoran Jeremić Military academy, Belgrade
Introduction Background Design patterns are recurring solutions to software design problems • Found again and again in real-world application development
DP are increasingly important in SE education
Needs Learning at the pace and in a place that best fits Experiencing patterns-based software development • In the context of real-world problems 2
High-quality learning of software patterns Needs (cont’d) Collaborative tools • Forums, chat, and tools for software artifacts exchange
Online repositories of software patterns and communities of practice • Don’t be isolated from software professionals!
Feedback for teachers about learning activities and the use of learning content
Goal Integrative and open collaborative framework for learning design patterns 3
Current State Current learning support Individual use of tools Lack of means for enabling the exchange of data about the activities between tools Poor support for • Context-aware learning services • Inter-tool personalized learning
4
Proposal: DEPTHS DEsign Patterns Teaching Help System Semantic-rich framework: Sharing knowledge
5
Learning Scenario
6
LOCO-Cite Ontology Learning Object Context Ontology (LOCO)
7
Domain Ontology
8
DEPTHS Architecture
9
Implementation of DEPTHS Course Management System – Moodle Moodle – LOC mapping • Sesame repository
Project module OATS (Open Annotation and Tagging System) Educational services
Domain modeling tool – ArgoUML ArgoUML – LOC mapping Collaborative work support Educational services 10
Implementation of DEPTHS Feedback provision tools for educators LOCO-Analyst
Online repositories Wikipedia, Yahoo! Design Pattern, Library, Portland Pattern Repository,Hillside.net Pattern Catalog… KIM framework – semantic annotation platform
11
Conclusion Benefits Students’ learning effectiveness and efficiency • Recommending resources from online repositories related to the learning goal
Integration of knowledge about all related learning activities • Performed by any student with any tool
Knowledge reuse • Teachers spent less time developing online lessons
Evaluation has been done at Military academy 12
Project-based Collaborative Learning of Software Patterns Zoran Jeremić Military academy, Belgrade