1. <programming> An independent piece of software which forms part of one or more larger programs. Different languages have different concepts of a module but there are several common ideas.
Modules are usually compiled seperately (in compiled languages) and provide an abstraction or information hiding mechanism so that a module's implementation can be changed without requiring any change to other modules. In this respect they are similar to objects in an object-oriented language, though a module may contain many procedures and/or functions which would correspond to many objects.
A module often has its own name space for identifiers so the same identifier may be used to mean different things in different modules.
[Difference from package?].
2. <hardware> An independent assembly of electronic components with some distinct function, e.g. a RAM module consisting of several RAM chips mounted on a small circuit board.