In the early days of wireless communications the research community used to view multipath-induced dispersion as an undesirable propagation phenomenon, which could only be combatted with the aid of complex channel equalizers. The longer the Channel Impulse Response (CIR) was, the more complex the channel equalizer became. However, provided that the complexity of a sufficiently high-memory channel equalizer was affordable, the receiver could benefit from the fact that the individual propagation paths faded independently. To elaborate a little further, even if one of the paths was experiencing a high attenuation, there was a good chance that some of the other paths were not, which led to a potential diversity gain. However, if the channel does not exhibit several independently fading paths, techniques of artificially inducing diversity may have to be sought. A simple option is to employ a higher direct-sequence spreading factor, which results in a higher number of resolvable multipath components and hence in an increased diversity gain. Naturally, this is only possible if either the available bandwidth may be extended according to the spreading factor or the achievable bitrate is reduced by the same factor. A whole host of classic diversity combining techniques may be invoked then for recovering the original signal. As a design alternative, we commence by classifying the different multiple-input multiple-output (MIMO) schemes while considering the attainable diversity gains, multiplexing gains and beamforming gains. Following a brief classification of different MIMO schemes, where the different MIMO schemes are categorised as diversity techniques, multiplexing schemes, multiple access arrangements and beamforming techniques, we introduce the family of multi-functional MIMOs. These multi-functional MIMOs are capable of combining the benefits of several MIMO schemes and hence attaining an improved performance in terms of both their bit error ratio (BER) as well as throughput. The multifunctional MIMOs family combines the benefits of space-time coding, Bell labs layered space-time scheme as well as beamforming. We also introduce the idea of layered steered space-time spreading that combines the benefits of space-time spreading, V-BLAST and beamforming with those of the generalised multi-carrier direct sequence code division multiple access. Additionally, we compare the attainable diversity, multiplexing and beamforming gains of the different MIMO schemes in order to document the advantages of the multi-functional MIMOs over conventional MIMO schemes. However, in the presence of shadow-fading the now classic co-located MIMO elements are incapable of providing multiple independently faded replicas of the transmitted signal. This problem may be corcumvented by employing relaying, distributed space-time coding or some other cooperation-aided procedure, which is the subject of this lecture. One could also view the benefits of decode-and-forward based relaying as receiving and then flawlessly regenerating and re-transmitting the original transmitted signal from a relay - provided of course that the relay succeeded in error-freely detecting the original transmitted signal. This lecture reviews the current state-of-the-art and proposes a number of novel relaying and cooperation techniques. An important related issue is the availability or the absence accurate channel information, which leads to the concept of coherent versus non-coherent detection at the relays and at the destination. Similarly, the related initial synchronization issues also have to be considered. Naturally, when using hard-decisions in the transmission chain, we discard valuable soft-information, which results in an eroded performance, albeit also reduces the complexity imposed. Hence the hard- versus soft-decoding performance trade-off will also be explored in the lecture, along with the benefits of interleaved random space-time coding invoked for multi-source cooperation.