Computer Tutor for Object Oriented Thinking

Project Proposal by Martin Stacey


Computer Tutor for Object Oriented Thinking

Software

Language with good GUI tools, or Java and XHTML for a web-based system

Covers

Programming, object oriented systems design, psychology of learning

Skills Required

Programming, object-oriented design, some interest in how people learn

Challenge

Conceptual ???? Technical ??? Programming ?????

Brief Description

For many students, learning how to think in object-oriented terms is a major stumbling block in learning computer science. Entire courses are devoted to teaching students what objects are, how objects send messages to each other, how to model bits of reality using networks of objects, and how to read class diagrams and sequence diagrams. But at the end of these courses many students have a woefully inadequate understanding of what objects are and how they work in combination with each other. This is partly because most students simply don't practise understanding how object oriented systems work, and when they do, they don't make effective use of their time or get feedback on how they're doing.

The aim of the project is to build a computer tutor that gives students studying computer science and information systems practice and feedback with reading and understanding diagrams and descriptions of object oriented computer systems, so that they develop an understanding of how object oriented systems work and develop skills in thinking about problems and situations in object oriented terms.

An important part of building an effective computer teaching system is having a teaching strategy that fits how people learn. You'll need to think about what activities and ways of providing correction and reinforcement will fit how people learn, and how to put activities into effective sequences.

Variant

An applet or website accessible through the web would be an especially valuable resource for learners and teachers.

Extension

You could build an effective tutor that simply asked questions requiring the selection of radio buttons. However a more ambitious approach would be to provide the user with a limited range of diagram-drawing facilities, perhaps including pre-packaged diagram chunks, so that they could practice creating diagrams and descriptions without being allowed to flounder. If you want to be really ambitious - you could try developing a system that would create prepackaged chunks from an imported class diagram, or from imported Java (or whatever) code.

Cross-Reference

For some kinds of computer tutors, having a way of measuring how well the students are doing is important, but building a complex testing tool might be an elaborate task, especially if you want to take the results seriously for evaluating student performance. I've proposed an Internet Quiz Administration System as a separate project.


Back to