Design Patterns for Online Learning Environments in CS
Working Group at ITICSE 2008, June 30-July 2,2008
Jointly chaired by Guido Rößling and Lauri Malmi
While many Computer Science departments have adopted learning management systems such as Moodle, something seems to be missing from them for providing full support for CS educators. One only needs to look at the different software packages discussed at the SIGCSE-sponsored conferences and workshops to see that there is a special demand for ``something more'' than is offered by today’s solutions. But what is this ``something'', and how can we provide it to other CS educators?
What are the factors that make the demands of teaching CS to our students significantly different from those of other disciplines? What makes CS difficult to teach for the teachers, and difficult to learn for our students? Are the answers to these questions related to the availability and features of current (or planned) learning environments, and if so, how and to what extent?
If a learning environment were specifically designed for supporting learning CS — and not only selected aspects, such as teaching or learning Java, as for example done in Academic Java — what would it look like? What would make it different from established environments? And how would educators and students use it?
We plan to address these and other research questions in this proposed Working Group. The exploration will be conducted in the form of developing \emph{design patterns}. The result will include both pedagogical design patterns that address teaching-specific issues, and implementation issues that address how best to design environments that meet these issues specific to instruction of CS students.
Goals and Activities
The goals of this working group (WG) are twofold:
- Research key aspects of what is needed in an online teaching and learning environment for CS education. In particular, in what ways are the needs of CS different in this regard from the needs of other disciplines?
- Transform these key aspects into two sets of design patterns — pedagogic and technical — for easy transfer and application to a variety of related projects. The pedagogic design patterns will focus on teaching strategies, while the technical design patterns will focus on the more technical software engineering issues involved in developing such online environments.
It is likely that the patterns will also have to address the underlying theoretical view of learning, so that patterns for constructivistic elements may not apply to behavioristic teaching.
With regard to the first goal, the group will address such questions as:
- What kind of elements learning environments for CS education typically include? Can we identify features or tools that are specific for CS education, and if so, what is their role in these environments?
- What is the "ideal" venue for a learning environment? Should it be online, and if, in what shape or form? Are "modern" architectures and techniques such as Web 2.0 needed, helpful, or only technical sugar-coating?
- What is the relation of working in learning environment and working in classroom, i.e., how can online/off\-line learning environments support in-class teaching?
- What added benefit or other incentive is needed for teachers and students to adopt the learning environment in addition to, or as a replacement for, their classic textbook and lecture-oriented environment?
- What role do the aspects of interactivity, authenticity and personalization / adaption play in providing a useful learning environment? What could CSEd benefit from research on Adaptive Learning Environments?
- What sort of interactive elements should be added to the learning environment? For example, quizzes, algorithm animations or visualizations, simulation tools, automatic assessment tools etc. may play an important role, especially regarding learning engagement.
- Should authoring and participation in a learning environment be “open" (as in Wikipedia), "closed" (as for textbooks), or "semi-open", for example, for registered teachers? What implications arise from these models for adoption chances, accuracy, and ease of use?
With regard to the second goal, the group will address such questions as:
- Which principles should instructors who have not used activity-based online learning environments follow when incorporating such environments into their teaching?
- How can the different resources and activities supported by such environments — for example, text materials, exercises, algorithm visualizations or animations, and course management facilities — be coalesced into unified teaching strategies?
- What should guide the software engineering principles that underlie the development of tools that support online learning in CS? Should such tools be written in Java and be able to represent the data they manipulate as XML to facilitate convenient import and export? To what degree should these tools incorporate the ideas presented in a previous ITiCSE Working Group Report on Hypertextbooks?
- What software engineering principles should apply to class libraries written for building such online learning environments? How can we foster the development of an open source software repository of such class libraries that developers of CS online learning environments may conveniently re-use and extend to make whatever tasks they are doing easier?
Working methods
In electronic communication before the working group convenes in Madrid, we will collect data that will form the basis of the final outcome. Three sources of information will be surveyed. First, a literature survey of learning environments and tools within CS education domain is carried out. Second, a semi-formal survey of experiences and best practices of CS learning environments in use is carried out in terms of questionaires submitted to CS education community. Third, a literature survey of research in pedagogical principles of learning environment design is carried out in educational technology domain to distill information that is relevant and useful for us.
The working group participants will take part in of one or more of these activities during April - June before the conference at Madrid. Initial design patterns fitting into either the pedagogical or technical categories will be drafted based on the results of surveys. During ITiCSE 2008, the group will further develop the design patterns and discuss additional elements and write a report of the results.
A pre-requisite for entry into the group is a participant's providing details of past experience in either:
- Significant use of such an online learning environment for teaching CS topics, or
- Involvement in the development of a software tool or component that can support such an environment
After ITiCSE 2008, we anticipate that members of the working group will start more vigorously incorporating patterns into their pedagogy and tool development efforts. Consequently, they report on these efforts for ITiCSE 2009.
Qualifications of the co-chairs
Guido Rößling received the Diploma in Computer Science from the Technische Universität Darmstadt, Germany, in 1996. From 1996 to 2001, he worked as a research assistant at the University of Siegen, Germany. He finished his Ph.D. thesis on AV system design in 2002. In November 2001, he joined the Technische Universität Darmstadt as a research assistant for e-learning applications.
Since 1998, he has developed the extensible AV system Animal that is now also used in Naps' JHAVÉ system. He has published his research on e-learning applications since 2000. This includes several conference papers and journal articles on AV. He is a member of the program comittee for the biannual Program Visualization Workshop series, held in conjunction with the ITiCSE conference series.
Lauri Malmi received his PhD thesis in computer science at Helsinki University of Technology (TKK) in 1997. He has been working as a researcher, lecturer or associate professor at TKK in 1986-2001. Since 2001 he has worked there as a professor of computer science.
His research concentrates on Computing Education Research, with a heavy emphasis on developing software visualization and automatic assessment tools for introductory programming and data structures and algorithms courses, and evaluating their impact on learning. The most important tools developed in the collaborating COMPSER and SVG research groups at TKK include TRAKLA2 and MatrixPro. The groups have published over 70 international conference and journal papers within these topics. Malmi has been the chair of Program Visualization Workshop and Koli Calling conference at 2004, and a PC member in many other conferences including ICER and SoftVis.
Potential Participants
The Working Group will work best if it brings together a set of educators with a background in the pedagogical use or development at least one of the following areas:
- Learning Management Systems / Learning Content Management Systems,
- System Design for interactive learning environments
- Collaboration Support in learning environments
- Interaction in learning environments
- Algorithm Visualization
Ideally, all applicants should be at least broadly familiar with the notation and structure of Design Patterns. We have already contacted a set of researchers who have indicated an interest in joining the Working Group, if it is accepted.
Final Report
The final report of the ITiCSE 2008 Working Group is available here and at the ACM Digital Library.