TABLET

Project Abstract

Our project aims to improve introductory computer science classes by using the concept of Cognitive Apprenticeship, which has been shown to improve learning. We are developing and evaluating a set of tools and concepts, forming a software infrastructure that supports this vision for large lectures involving hundreds of students. The curriculum of the courses has been altered to include problem solving sessions.

Impact

Vision

The course Introduction into Computing at the Technical University of Munich has a typical audience between 400 and 1200 students. It's based on a lecture and associated exercises. The lecture style is broadcast-based, the teacher uses a blackboard or Powerpoint to transmit the knowledge to the class in a broadcast. Problem solving and programming usually can't be taught that way, they require a high degree of interactivity. Interactivity doesn't scale with the number of students. However, in a public university such as TUM, we cannot dream of small introductory classes.Our project aims to improve introductory computer science classes by using the concept of Cognitive Apprenticeship, which has been shown to improve learning. We are developing and evaluating a set of tools and concepts, forming a software infrastructure that supports this vision for large lectures involving hundreds of students. The curriculum of the courses has been altered to include problem solving sessions.Many traditional lectures feature a broadcasting situation where knowledge is transmitted mostly in one direction, from the teacher to the students. Students may ask questions, however, in practice this has serious limitations. In addition to seating and acoustical problems, the large numbers of students does not allow many one-to-one communications - which is the desired situation - between teacher and student. Moreover, many students actually don't dare to ask questions in such a setting. Different speeds of learning can also not be addressed in a broadcast scenario. No matter what the level of difficulty of the lecture is, some students are bored, others are overwhelmed. Even in small settings like exercise sessions for about 20 students there are tasks that benefit from enabling interactivity. One example is conceptual modeling on a virtual canvas shared between all students and the instructor.We encourage communication between students. Active discussion of lecture content enables knowledge transfer from more skilled to less skilled students. It has been shown that this form of cooperative learning brings improvements for all involved participants. We also involve students actively in the lecture. For example, we handed out small problems during the class to the students. These problems have been solved and presented live to the audience and the instructor. Requiring students to actively solve problems with knowledge they have just been exposed to increases their problem solving skills, which is fundamental for software development. Traditional lectures transmit mostly factual knowledge.To achieve our goal of creating a software infrastructure suitable for both participatory lectures and collaborative learning, our project is decomposed into a series of steps. In each step, we increase our knowledge and software foundation for both aspects, and will merge the two eventually. Below, the past, current and planned steps are described in chronological order.

Prototypical Tool Evaluation

During our first attempts to acquire tools for collaborative models, we noted that there are many traditional approaches for modeling that are not exactly tailored to software engineering exercises. Here, we try to stimulate a flow of ideas and communication about models instead of semantical and syntactical correctness. We call this kind of modeling "conceptual modeling". At that point, we couldn't find tools that support conceptual modeling satisfactorily, so we started to evaluate traditional approaches to see in which direction we needed to steer our development.First, we conducted an experiment (see UML Modeling Tool Evaluation) to compare usability and acceptance of four modeling methods in a student exercise setting. We compared pen and paper, graphics (drawing) programs, UML CASE tools and tablet-based drawing. The result showed that natural drawing was the most intuitive method, but UML CASE tools were more comfortable for ease of modification. As a result, we decided to develop and evaluate a tool that combines those advantages: pen-based drawing that gets translated into modifiable objects.In the student project UML engine we built a lightweight UML editor engine that can be plugged into arbitrary Java Swing windows, even in multiple transparent instances on top of each other.ParLe was our first prototype for a lecture room discussion platform for students and teachers. ParLe allows students to comment and discuss teaching units, from entire chapters down to single media items like single slides, in a distributed multi-user application.The BrainChild tool is an experimental distributed Tablet PC application allowing students to collaboratively edit a set of slides with different levels of privacy and visibility. With BrainChild, we explored new ways of intuitive collaborative pen-based content creation.

Conceptual Studies

With our tool prototypes, research platforms and commercial packages, we conducted studies to explore innovative tool-supported pedagocical concepts. In the Joint Advanced Student School (JASS), part of a series of advanced international courses jointly taught by professors from Munich and St. Petersburg, we equipped all course participants with HP Tablet PCs and assembled them into four mixed Russian/German teams. To overcome the language barrier, all students used various pen-based tools for collaborative modeling and communication, e.g. Microsoft Office OneNote 2003 and our requirements engineering platform Sysiphus. We also conducted an experiment to extend the traditional broadcast-style lectures with a bidirectional lecture approach, called Reverse Engineering Challenge. A lecture was structured as a challenge participation to improve learning efficiency. Students had to reverse engineer a design pattern, improve a given solution and implement it. Those student teams that didn't own any laptops were provided with HP Tablet PCs in order to allow all students to solve the problem as a live challenge. This first (successful) experiment is a starting point for a series for further challenges.

Tool Development

Recent research on the topic of stroke recognition for the creation of UML diagrams open up paths to new advanced modeling tools. Our tool called "Touchable Object Models" (TOM) uses pen-based interaction methods, enhanced by multi-modal input, to compose diagrams of predefined model elements, free-hand drawings and hand-written text. It's aim is to bridge the gap between early design phase diagrams and formal CASE tool diagrams. We plan to apply TOM in exercise sessions and thus emphasize on collaboration aspects during it's development.

Case Studies

We want to confirm our research results from the previous steps and get additional input for our tool development in several case studies. Currently we are conducting a case study with several scenarios about the use of Tablet PCs in exercise sessions. A typical setting for these sessions is one tutor and a group of about 20 students, solving exercise tasks to deepen the knowledge acquired in the lectures. Many of these problems are modeling problems and require manipulating and sharing models among the participants. We will compare different concepts from our previous research to traditional teaching methods and evaluate them in questionnaires and interviews with the participants. This case study is part of the TET project.

Subprojects

As described in the section Vision we decomposed the projects into several steps. In each of these steps there are several projects. These projects are described in the following.

UML Modeling Tool Evaluation

Abstract

The initial phase of modeling a software system is a creative process where highly abstract models are jotted down, modified and discarded rapidly until a solution concept for the entire problem emerges. In our lectures, we differentiate between conceptual design and specification of models and emphasize the conceptual modeling phase. Students have to solve design pattern problems using UML models. In our experience, solving those kinds of problem with CASE tools often degenerates to technical drawing because those tools are designed for the careful creation of exact and consistent models. Conceptual modeling, however, creates lots of models that aren't necessarily consistent, complete or non-ambiguous in rapid succession. We conducted an experiment to compare the input methods paper/pen, drawing program, CASE tool and Tablet-based drawing. Based on the advantages and disadvantages of those methods in conceptual modeling, we derive requirements for a new tool for solving conceptual modeling problems in software engineering education.

Website

Project Website

Lean UML Modeling Engine

Abstract

For the development of an application that allows students to collaboratively work on models and see others' annotations on their own results, we needed a lean UML editor engine that plugs into arbitrary Java Swing applications as a window component. The editor had to be able to be stacked transparently in several layers on top of each other and allow elements in the topmost layer to connect with elements in lower layers.

Website

Project Website

ParLe (Participating Lecture)

Abstract

Our goal for the experimental e-learning application ParLe was to allow students to discuss lecture content. In ParLe, students can discuss and extend lecture units and media like slides. A hierarchical threaded comment system allows Web-2.0-like discussion and interaction between students and teacher. A rating system for comments allows filtering and sorting by relevance, excluding low-rated comments to combat comment noise and bringing higly rated comments to the top.

Resources

BrainChild

Project participants

Abstract

Nowadays, academic education is not only expected to teach abstract sci-entific working methods. In fact, it is desired that students become prepared for working in real companies, on real projects. For this reason, pedagogy has developed various problem-oriented and situation-oriented approaches to teach students the necessary problem solving and group interaction skills. Constructivist paradigms, for example, aim at teaching such problem solving skills by embedding the whole educational process into real-life situations and problems, thus dissolving the common distinction between the lecture and the corresponding exercises. One particularly successful concept for teaching based on authentic activities and natural social interaction is cognitive apprenticeship. Cognitive apprenticeship requires a close master-novice relationship between the teacher and the students. However, such a structure is costly in terms of time and personal care. We investigate how to apply this method to teaching software engineering in the university environment, where a teacher typically faces several dozens, if not hundreds, of students. We start with the assumption that cognitive apprenticeship is applicable even in large academic courses if we enable communication between course participants. To realize communication between all participants, we envision a computer aided learning environment that encourages students to dynamically form groups during the lecture on a demand basis. In these groups the instructor, a teaching assistant, or even a fellow student may play the role of the expert ("master") for a certain period of time. Due to its focus on practical issues, software engineering has a great demand for distinct problem solving skills - not only because programming computers is a structured process in itself, but also because building large and complex systems requires an engineering approach as well. The skills that are considered relevant depend on the concrete goals of the individual course. However, the ability to analyze and design complex systems by collaborating with other members in distributed teams is clearly an important skill for computer scientists. As cross-cultural and inter-regional teams become common practice in the design of software systems, we want to provide the students with an opportunity to gain experience with this style of work while still enrolled in the university. Given the importance (and difficulty) of sharing design ideas, we emphasize the sharing of high-level views in the context of a distributed class: In the course on "Design Patterns for Mobile and Distributed Applications", organized by ETH Zürich and the Center for Digital Technology & Management (CDTM) we try to test the ideas of cognitive apprenticeship in an academic course, including remote student collaboration in a distributed setting. Such a course requires specialized tool support for realizing such scenarios and our goal is to leverage the start-up investment in tools into an improved teaching scenario in the future.

Joint Advanced Student School (JASS) St. Petersburg Spring 06

Abstract

The Joint Advanced Student School is a series of advanced international courses jointly taught by professors from Munich, Germany and St. Petersburg, Russia. The course Advanced Topics in Software Engineering was offered to 14 highly motivated students interested in learning about software project management and applying new technologies in addressing some of its challenges. Active preparation and contribution of the participants was a key requirement. The course consisted of a seminar and a project component. The seminar component focused on some then recent advances in management and technology with respect to the management of large complex software development projects. The overall goal of the project component was to deepen the understanding of concepts discussed in the seminar component. All course participants were equipped with HP Tablet PCs and assembled into four mixed Russian/German teams. These teams worked on developing a meeting management tool for distributed global software projects. To overcome the language barrier, all students used various pen-based tools for collaborative modeling and communication, e.g. Microsoft Office OneNote 2003 and our requirements engineering platform Sysiphus.

Project Website

JASS Website

Reverse Engineering Challenge

Abstract

This project is an experiment to extend the traditional broadcast-style lectures with a bidirectional lecture approach. New technologies such as wireless networking, laptops/tablets and instant messaging allow for a symmetric and therefore dialog-driven approach for lecturing even in a setting with large amounts of participants. Furthermore by conducting the lecture as a challenge participation was encouraged and thereby learning efficiency was improved. We introduced a design pattern and handed out a related programming assignment to the students. The students had to reverse engineer the design and then enhance the existing solution and finally implement it. Equipping student teams not owning a laptop/tablet with the HP tablets enabled us to let the students solve the problem as a live challenge. The participation in the challenge was very satisfying: Nine minutes after the assignment a first correct solution was submitted. More than half of the student teams submitted a solution by the end of the lecture. This first experiment is a starting point for a series for further challenges.

Website

Challenge Website

Resources

Challenge Website

Challenge source code

Touchable Object Models (TOM)

Abstract

This project designs, implements and evaluates a CASE tool for the collaborative design of UML diagrams. The tool called "Touchable Object Models" (TOM) uses multi-modal interaction methods to enable composing diagrams of predefined model elements, free-hand drawings and hand-written text. It's aim is to bridge the gap between early design phase diagrams and formal CASE tool diagrams. Following a tornado approach we design a solution that allows for generalization to arbitrary diagram types and exemplarily implement this solution for class and use case diagrams.

Resources

Website

TOM project website

Tablets for Exercises and Tutors (TET)

Abstract

The content of the lecture is exercised and thereby better understood by the students in exercise sessions. Most of the exercises are about developing, understanding and modifying models. Despite the affinity to technology induced by the course of study (computer science) in practice often the use of pen and paper or blackboard/white boards is still widespread. This is due to the experience that these methods better conceptional modeling and are more "touchable" than the text box-driven case tools on traditional laptops. These traditional media have known drawbacks concerning modifiability, presentation or collaboration. This project researches a set of scenarios for the use of tablets in exercises to enable a more intuitive, flexible and therefor more "touchable" presentation of models. This project is part of the TABLET research project.

Resources

The following scenarios have been developed by the tutors from their teaching experience: