Graphic of while loop  Graphic of attributes

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.

 

LondonMet logo    LTRI logo    Bolton Institute logo      LTSN logo