In this thesis, we proposed a spiking bidirectional associative memory (BAM) using temporal coding. The information processing in biological neurons is beyond of[sic] that applied in the current Artificial Neural Networks (ANNs). The coding scheme used in ANNs known as “mean firing rate” cannot answer the fast and complex computations occurring in the cortex. In biological neural networks the information is coded and processed based on the timing of action potentials. To improve the biological plausibility of the standard BAM, we employed spiking neurons for its processing units, and information is presented to the BAM in the form of temporal coding. The neurons employed in the model are heterogeneous, and being able to generate various spike-timing patterns. Genetic Algorithm and Co-evolution are used for training, and the experiment results of the proposed BAM are compared to those of the standard BAM. The results show improvements in recall, storage capacity and convergence which are of interest to design a BAM.