next up previous

Constructivism in Computer Science Education:
Evaluating a Teleteaching Environment for Project Oriented Learning

Nicola Henze, Wolfgang Nejdl
Institut für Rechnergestützte Wissensverarbeitung
Universität Hannover, Lange Laube 3, 30159 Hannover, Germany
E-mail:{henze, nejdl}@kbs.uni-hannover.de

Abstract:

Within the KBS Virtual Classroom Project we strive to develop a constructivistic learning environment supported by internet technology. This paper surveys constructivistic concepts, and evaluates our learning environment for a two semester course ``Introduction to Programming/CS1''.

Introduction

In the KBS Virtual Classroom Project [6] we are developing a constructivistic learning environment for university courses supported by internet technology.

Constructivist learning approaches appear to be very suitable for virtual learning environments. In section 2 we will give a brief survey over constructivist epistemology and its applications to teaching. In the second part of the paper (section 3) we provide a description of our learning environment for a two semester course ``Introduction to Programming/CS1'', evaluate realization and concepts of our learning environment for this course and discuss further improvements.

Supporting Constructivist Learning

 

Constructivism as a Theory of Knowledge

Within the last 10 years, constructivism as a philosophical, epistemological and pedagogical approach has found a great deal of attention. While various authors have concentrated on various aspects of this approach (leading to variants like personal and social constructivism, or radical and pragmatic constructivism), one of the most influential authors is Ernst von Glasersfeld. Glasersfeld discussed radical constructivism as a theory of knowledge and cognition (starting e.g. in [] up to the recent book []) and its applications for teaching (e.g. []). In [], he defined constructivism by the following principles (translated from the German edition):

As this characterization is rather oriented towards the knowledge contruction of one subject (not explicity taking into account more social aspects of knowledge construction), various researchers have suggested a more context and socially oriented view of constructivism (see for example the discussion in []). A less ambitious definition just acknowledges, that learners (including scientists) must construct and reconstruct their own meaning for ideas about how the world works ([]), concentrating just on the first principle of Glasersfeld definition. Even so, this still leads to a change in the role of the teacher, where (as discussed in []) the teacher needs to create situations, where the student can work on useful problems, where the teacher provides counter-examples compelling reflection and reconsideration of solutions, and where the teacher is acting as mentor stimulating initiative and research rather then being a lecturer who transmits ready-made solutions.

In the next chapter we will review a few approaches taken by researchers and educators following a constructivist approach and then discuss constructivism in introductory computer science teaching in our setting.

Constructivism and Teaching

In [], Glasersfeld sees a constructive pedagogy as a counterpart to behavioristic pedagogy, and stresses the importance of teaching (which aims at the generation of understanding) versus pure training for performance (often geared at perfectly solving textbook problems). Knowing as an adaptive activity leads to a set of successful/viable concepts, models and theories relative to a context of goals and purposes. Learning requires self-regulation and the building of conceptual structures through reflection and abstraction, Problems are not solved by the retrieval of rote-learned ``right''answers. In the introduction of [] he also stresses the need to understand the student's thinking and to encourage students to reflect on their models as a means to improve them (e.g. by verbalizing it). Social interaction is an important stimulus for this reflection as well as motivating knowledge construction and adaption.

Constructivist concepts discussed in the papers from [] include problem-oriented and inquiry-oriented learning and discussion, thought protocols to obtain insight into student's mathematical thinking, the necessity of contradictions for further construction (whose awareness is depending on the previous knowledge), the importance of student models, learning as cognitive restructuring, teaching through problem solving, whole class interactions and small group interactions, curiosity and reflection.

[1] seems to us a good example, on how difficult the step from a constructivist epistemology to a constructivist pedagogy is. Observing that the most prominent application area for constructivist pedagogy have been mathematics and physics education, [1] reflects on the elements of a constructivist pedagogy in computer science. Unfortunately, he first focuses on the question of ontological reality (which is arguably quite important in physics education, but less so in mathematics education and in our opinion also in computer science education), and sees the computer as the (existing) ontological reality, against which programs are evaluated. This wrong focus leads him to propose for example to delay programming exercices until a good computer model has been constructed by the students (no mention is made, which kind of model is needed).

Obviously, constructivistic research on an epistemological level will consider different topics in computer science education (see e.g. []) than in mathematics of physics education but constructivist pedagogy in computer science will have much in common with constructivist pedagogy in other areas (in contrast to the opinion articulated in [1])

For example, Papert and his colleagues [, , ], who use the termin constructionism to especially stress learning as a (social) design activity, build heavily upon computer science and computer use for learning. Similar to others, they stress that students construct new knowledge with particular effectiveness when they are engaged in personally meaningful products. The goals of the teacher are to engage the learner in active participation, problem solving, interdisciplinary work, reflection and discussion. They also stress the intrinsic motivation resulting from the learners choosing there own projects, an open learning community with mentors, students, students as mentors and open projects. Though the members of the group focus mainly on the learning of children, the principles of their approach are applicable to student and professional learners as well.

The social and knowledge sharing aspect is stressed in another long running project, the CSILE project (computer supported intentional learning environments) and its successor Knowledge Forum (see eg. [, , ]), which aims for a networked, collaborative learning environment designed to support a classroom-based knowledge-building community and collaborative knowledge building (modeled after scientific work in a research team). It provides a communal database, which stores notes, annotations and discussion items and links them together in a network of nodes (visualized as knowledge map). It focuses on intentional learning, where learners strive to expand their knowledge collectively.

As an aside, quite a few other approaches discuss teaching and learning concepts, which are in many parts compatible with constructivistic goals. One example is situated learning and cognitive apprenticeship ([, ]), which rests on the following main concepts: Stories, Reflection, Cognitive Apprenticeship, Collaboration, Coaching, Multiple Practice, Articulation of Learning Skills, Technology. Compared to constructivism, the situated learning approach focuses more on the pedagogical approach than on epistemic issues, and describes specific teaching concepts to be used in a learning environment. Some concepts are more specific, when compared to general constructivistic ideas (i.e. stories and multiple practice as one possible approach to represent authentic learning environment, cognitive apprenticeship, coaching and collaboration to describe the relation between teacher and student as well as student/student), some (like technology and some aspects of articulation of learning skills) are additional constraints specified by this approach. Cognitive Apprenticeship is argueably the most original concept articulated by this approach, but is perfectly compatible with constructivistic concepts.

Also, [] describes under the heading of ``problem-based learning'' their design for a human computer interaction course, with the elements authentic complex problems with no simple, right solution, group work to foster peer assistance, vocalization of knowledge, and usage of different ideas for the solution, and tasks which demand inquiry, information-gathering and reflection.

Evaluation of our (Constructivistic) CS1 Environment

 

For our course ``Introduction to Programming/CS1'' we are striving to implement a constructivist learning environment and use technological support where appropriate. Our vision for that environment is project-oriented teaching and learning in an internet-supported collaboration and knowledge space, where information resources, inquiry and discussion, as well as intermediate and final project results are shared as much as possible, and accessible as easily as possible. So the main concept of our approach is project-based learning, supported by internet-based knowledge sharing and an internet-supported social environment.

In the following, we will evaluate specific aspects of these main concepts:

In this paper, we will concentrate mainly on those features of our learning environment which explicitly support the project-based learning scenarios. For a detailed description of the overall structure of our virtual learning environment we refer the reader to [3, , ].

The description and evaluation is based on our CS1 course, an introduction into programming (using Java) held in winter 97, with an accompanying programming lab in summer 98. The course has been taken by about 100 students mainly studying electrical engineering and technical computer science. We used two questionnaires, from about 75 % of the participants.

Project-Based Learning

Projects in CS1 are programming problems similar to an advanced software engineering project. They are described by an informal specification and requirements definition. Work on the projects takes place during the whole course. First, students have make a simple object oriented design, while the lecture proceeds to discuss object orientation and introductory programming concepts. We then proceed to more advanced concepts, which have to be used in the project, until all programming techniques needed for the project (and included in this course) are covered.

The project chosen has to simulate an overall, realistic programming problem, show (simple) concepts of software engineering, offer small parts for learning basic programming concepts and has to be sufficiently complex to require (many) advanced programming techniques.

During winter 97 we used an elevator project, where students had to implement a Java applet that simulated two elevators serving a house with four floors. To provide guidance for beginners, we divided the project into three major steps: The first step was to analyze the functionality of elevators and to develop an object oriented design. The second step was to write a text-based program that first handled one, then two elevators. The last step was to implement a graphical presentation and user interface.

The elevator project is quite a complex project. It demonstrates well the object-oriented approach in software engineering. The text-based program allows beginners to experiment with simple programming techniques, but introduces, with the second elevator, even multi threading. The applet requires knowledge about user interfaces (simulation, interaction) and further programming for web-based applications.

Finished projects were presented on the WWW in the group's Presentation Room. Groups normally develop a corporate identity during the time they work together and use the chance to present themselves to other people. In addition these example projects motivate next years students to perform at least equally, and give suggestions and guidelines for future projects.

Evaluation

Basing our course on a project-oriented approach, we first asked the students whether they liked the complex project spanning the whole lecture. Students answered this question very differently: about 22% did not like the approach at all, while 47% found it good or very good. In more detail, we see a correlation between the project recommendation and the perception of the difficulty. Those who did not like the project approach experienced the project as hard while those who felt comfortably with it judged the degree of difficulty as appropriate. Nevertheless, our observations give not enough confidence for proving this dependency statistically. We will further investigate this topic in our forthcoming courses.

Interestingly, the elevator project has not met the students interest as much as we expected: The variation in the answer is very high but in average the student's opinion was undecided on this. In summer 98 most of the students participated in a programming lab with programming exercises similar to the projects in the CS1 lecture, where they could choose between three different projects. The students liked these projects and gave us very positive feedback on them. So, in the next winter course we will probably also provide several project choices. In addition we are discussing the usefulness of allowing student defined projects, specified only by a list of topics that have to be covered in such a project and an overall complexity. This is somewhat related to the use of portfolios [], where students use artifacts/results to show which topics they already master.

As for project presentation, students liked to present their projects on the WWW very much (66 % answered they ``liked it'' or ``liked it very much'').

We also asked the students for specific problems they had with our one-semester project. The answers showed that at the beginning of the course many students found it very difficult to provide an object oriented design for the elevator project on an appropriate abstraction level. Also, they had no immediate feedback on their success: the viability of their program design could not been tested until the implementation step had been done.

Construction of object oriented designs is challenging even for advanced students who have programming experience. We found no mechanism to isolate the correlations between object oriented programming and software engineering and their common influence on the perception of the project-based learning since we do not use our teaching concept in other, not object oriented programming courses. However, we conjecture that the difficulties caused by the object oriented design step had at least some influence on the judgement about the one-semester project.

For the next course, to provide more entry points to information resources and to improve the training effect (which is also a necessary ingredient of a programming course), we plan to provide more sample projects, which can be investigated by the students in addition to the large project. These sample projects will be smaller than a whole semester but are complete projects as well. With these sample projects the students will be able to learn on good examples. This years examples will of course also be available for reference to the students.

Furthermore we will change the lecture to implement project-based lecturing by explaining a complete sample project during one lecture, and adding excursions into related theory areas as needed for the discussed projects.

Internet-Based Knowledge Sharing

In a telelearning scenario (especially for remote students or for students working mainly at home), all information has to be accessible from different locations. We chose the internet as a medium for distribution of information. Since meaningful use of information depends on quick access to relevant parts of the information base, we worked on a special knowledge base, our Adaptive Hyperbooks [3, ]. These hyperbooks allow navigation based on semantic relationships between single information items of the application domain. Besides this hyperbook, which right now basically includes the course notes as well as sample projects, we provided a rich set of links to information resources on the internet.

Due to space constraints we will not discuss our hyperbook approach further in this paper, but refer the reader to other work (e.g. [3, 4]).

Evaluation

During winter 97 we only worked with a prototype of our hyperbook. This prototype had no visualization mechanism to show the underlying semantic relations that make up the navigational structure of the hyperbook. We are currently working on a visualization of this semantic structure and a search facility of our hyperbook, to enhance navigation and accessiblity of the different information items.

One of our groups came from the University of Dresden. These students had no lecture, only the access to the hyperbook and the other resources of our learning enironment. We could not notice a difference in their behavior compared with the students in Hannover, neither in using the hyperbook nor the learning environment although this is not significant because of the small sample and the fact that the students in Dresden were higher semester students. In winter 98 we will have a larger set of students from the University of Hildesheim and will evaluate this topic with a larger base.

38 % of the students programmed the project completely on their home PC's, 35 % partially (giving a total of 73 % home users). 58 % of the students accessed the Internet through a modem.

Internet-Supported Social Environment

Project work was done in groups of up to four students each. We supported this work by communication facilities like mailing lists, newsgroups, chat rooms, private areas on the web (the so called communication room), and version management facilities.

Each student group had a personal mentor (a student of a higher semester) who coached the work of a group and gave help whenever needed. The tutor was always reachable by e-mail. All teachers were available per e-mail as well and encouraged the students to use the opportunity to contact them.

Evaluation

We asked students about the collaboration in their group and whether they were able to organize their project work. 69 % of the students reported good or very good collaboration in their groups, more or less difficulties in managing the project organization were mentioned by about 31 % of the students. Possible reasons mentioned by the students are the different learning attitudes of group members. Some told us that, caused by no obligatory dates for presenting the project's progress during the semester, they began with their project much too late. In summer 98 we delivered the programming lab with programming exercises similar to the projects in the CS1 lecture and told the students to report on their project progress regularly during their work. However, the interrogation after the lab showed that this did not solve the problem of organizing collaborative work.

Collaboration in groups was independent from the endorsement for or against the project approach. The same holds for the work in the learning environment: We could not notice different behavior in the way the students used our learning environment (using mail to reach the mentor, participation in discussion newsgroups, using the support for distributed work, e.g. at home, at the university's computer pool, etc.)

To encourage discussion in our newsgroups we told the students to weekly post a notice about a topic or question related to the current lecture. This postings were honored by credits that were included in the final evaluation. This worked very well, and we had approximately 400 postings to this newsgroup during one semester. Most of these postings contained good remarks on the lecture, questions and solutions. One main criticism on using the newsgroup was that useful tips and examples posted in the newsgroup could only be found by looking up all news threads. We are working on an extension of our hyperbook that allows students to make annotations to the hyperbook pages itselves and thus directly connected to the topics referenced. This annotation will substitute our newsgroup and allow to relate tips and useful information to hyperbook pages.

The detailed evaluation about the use of e-mail and chat as a communication tool within groups showed that the students prefered face-to-face meetings instead of meeting in a virtual room (chat) or using electronic mail facilities. Probably this behavior is influenced by the situation in which our students are: They meet each other nearly every day at university in several lectures so they don't need communication support in this way.

Students used e-mail a lot to reach their personal mentor or the teaching staff, for example to pose questions, for help on problems with the programming environment or the usage of tools, to make dates, etc. In addition, nearly half of the groups met their personal mentor regularly face-to-face. The concept of personal mentors found quite positive feedback: Students judged their tutors as competent (79 % ) and found it easy to reach them (68 %). The version management tool was not used by the students because they found it very complicated in usage or mentioned that they did not really need a version management facility. Since it seems that the students did not experience the importance of a version management tool during program development we will not use it in our future beginners programming courses but only introduce it in advanced software engineering courses.

Assessment

Assessment in the CS1 lecture was based on different parts. To give the students the opportunity to estimate their own knowledge during the semester we held two short written examinations. Results in this examinations counted towards the final exam. Participation in the discussion newsgroup was also counted. The most important part was the final project presentation: The student groups presented their projects not only on the Web but each group had a meeting at our institute where they explained their work and their solution.

Evaluation

In winter 97 the final project presentation was voluntary. In this course, 11 from the 35 groups delivered their completed projects and received the credits for the course. In summer 98 the final project presentation was compulsory, in this course 17 out of 18 groups delivered their projects and all completed successfully. An additional final exam for these courses has just been taken by the students. As soon as we have these results available, we will try to correlate project success and success on this final exam.

Summary

In this paper, we discussed constructivistic concepts for teaching and analyzed the learning environment of our KBS Virtual Classroom Project, which strives to integrate such concepts into an internet supported learning environment. We discussed their realization and evaluated our learning environment for a two semester course ``Introduction to Programming/CS1'', including both successful solutions and possible improvements to be integrated in our next course.

References

1
Mordechai Ben-Ari. Constructivism in computer science education. In Proceedings of the Twenty-nineth SIGCSE Technical Symposium on Computer Sciene Education, Atlanta, Georgia, March 1998.

2
T. Duffy and D. Jonassen, editors. Constructivism and the Technology of Instruction. Lawrence Erlbaum Associates, 1992.

3
Peter Fröhlich, Nicola Henze, and Wolfgang Nejdl. Conceptual modeling for educational hyperbooks. In The 4th International Conference on Multimedia Modelling, Singapore, November 1997.

4
Peter Fröhlich, Wolfgang Nejdl, and Martin Wolpers. KBS-HYPERBOOK -an open hyperbook system for education. In Proceedings of the ED-MEDIA World Conference on Educational Multimedia and Hypermedia, Freiburg, Germany, June 1998.

5
Nicola Henze and Wolfgang Nejdl. A web-based learning environment: Applying constructivist teaching concepts in virtual learning environments. In IFIP 3.3 and 3.6 Joint Working Conference: The Virtual Campus: Trends for Higher Education and Training, Madrid, November 1997.

6
Nicola Henze and Wolfgang Nejdl. Das KBS Virtual Classroom Projekt: Informatik-Ausbildung über das Internet. In Informatik Aktuell. Springer Verlag, 1998.

7
Peter C. Honebein, Thomas M. Duffy, and Barry J. Fishman. Constructivism and the design of learning enivronments: Context and authentic activities for learning. In NATO Advanced Workshop on the Design of Constructivist Learning Environments, 1991.

About this document ...

Constructivism in Computer Science Education:
Evaluating a Teleteaching Environment for Project Oriented Learning

This document was generated using the LaTeX2HTML translator Version 96.1-h (September 30, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 fullversion.

The translation was initiated by Nicola Henze on Wed Nov 11 10:12:57 MET 1998


next up previous