
Learning Objects for Programming
To access a particular learning object click on 'View object'. Note that
to run the learning objects you must have the Flash player installed.
Information on the project in which these learning objects were developed
and used is available on the project
information site.
The learning objects are designed to permit maximum flexibility for selection
and use in teaching and learning scenarios. There is thus no significance
to the order below.
While loop
This learning object seeks to engage the learner through attractive use
of visualisation. As the subject is ‘repetition’ this
is illustrated by using repeated actions to move an object across
a screen. Redundancy is built in to help weaker students, but this
may be bypassed. ‘Scaffolding’
is used near the end of the object to enable the learner to engage in
building the programming construct in a safe, supportive environment.
This takes the form of building the code by selecting from code fragments
provided.
View object
Fixed repetition
The concept of repeating a set of actions a fixed number of times is
one of the common constructs of programming. This resource first provides
a step-through description of the ‘for’ loop in Java.
It then introduces a technique where the learner can change any key
parameter
– starting value, increment value, or terminating value –
through drop down lists. The student can then ‘run’ the loop created
and see the values in an output panel. This actively engages the student
in making sense of the meaning of these parameters.
View object
Making
decisions
This object seeks to relate the ‘If’ statement to
simple, familiar situations such as tossing a coin or throwing a dice.
The animations are used to induce the user into actively reading and deciphering
the code in order to solve the simple puzzles set.
View object
Multi-way decisions
This learning object provides an animated step-through of the ‘switch’
statement. After the initial description, the resource enables the learner
to ‘run’ the code by entering a value for the switch variable.
The appropriate line of code in the switch statement is then highlighted
and the output displayed. The learning object finishes with an exercise
where the learner can construct a ‘switch’ statement under
controlled, supportive conditions.
View
object
Arrays
Abstraction is a significant problem in learning to program. The learner
has to relate the surface code to the operations in the memory of the
computer. Visualisation of an ‘array’ is used here to help
learners to form a mental concept that enables them to make sense of the
surface code. A play-like drag and drop ‘exercise’ is used
near the end to get the learner to actively test their understanding.
View
object
Storing numbers
This is a simple learning object that illustrates how numbers are stored
in the computer memory. It shows the effects of simple declaration
and assignment statements. This object illustrates how
memory is allocated and used to store numbers.
View
object
Evaluating arithmetic
expressions
This small learning object steps through the evaluation of an arithmetic
expression to illustrate what
happens in memory when an arithmetic expression is evaluated.
View object
Changing
the values of numeric variables
This object illustrates how numeric values held in the computer's memory
are manipulated as program commands are executed. It shows how the new
value of a numeric variable overwrites the old value in memory.
View object
Library of classes
Java depends on using class libraries. However, these can be very abstract
and opaque for novice programmers. This learning object uses a ‘box
of cards’ visual image to introduce the idea of a library of
classes. It introduces the way object oriented programming organises
the world into libraries of
classes.
View object
Visualisation of the
awt library
This learning object acts as a reference resource to provide visualisation
of key classes in the awt library. It uses techniques of graphic visualisation
to animate the dry, text-based reference material for library classes.
The classes are represented by UML-like cards held in a filing drawer.
These cards are active. When clicked on, they float up to reveal the
list of methods for the class. Clicking on a method activates a pop-up
information box. This contains a short formal description, but the real
value is in the animated examples that illustrate how the methods work.
The classes are independently accessible. Different parts of the library
can be used in different parts of the course. We found that the Graphics
class animations worked very well with students in the first week of
our programming modules.
View object
Instantiating
software objects
This learning resource steps through sample lines of code that instantiate
a software object in Java. As in many of the learning objects, redundancy
is built in through repeating the step-through with a second set of sample
code. This helps weaker students, but can be bypassed by stronger or more
experienced students.
The learning object finishes with two simple construction exercises.
View object
Changing the attributes
of objects
This learning object uses visual animation to link the surface code of
a method call to its effect in changing the value of the attribute. The
animation traces the call to a simplified representation of the object,
and on through to the visible effects on the screen display. After the
initial descriptions, the learner is provided with the opportunity to
change values in method calls and see their effects.
View object
Inheritance
Inheritance is a central concept in object oriented programming. This
learning object aims to introduce why it is useful, using animal classes
as a simple, engaging example. This resource then illustrates how the
concept of inheritance is implemented in Java.
View object
These learning objects have been developed at London Metropolitan University
by staff in the Learning Technology Research Institute (LTRI) and Department
for Computing, Communications Technology & Mathematics, and at Bolton
Institute. Their development has been supported by the HEA centre for
Information and Computer Science.
|