In the first part of this thesis, we employ idempotent and symmetric Latin squares for constructing well-structured binary regular LDPC codes. The first step is to construct Steiner triple systems (STSs) from idempotent commutative Latin squares of odd order by using the Bose construction method. These Steiner triple systems or their corresponding one-configurations (OCs) are used for code construction. More precisely, the code construction is based on the use of the point-block incidence matrix of a Bose STS or its corresponding OC. If the Latin squares are properly chosen, Steiner triple systems constructed using the Bose method are anti-Pasch (i.e., they do not contain a Pasch configuration( and the resulting STS-LDPC codes have both girth and minimum distance equal to six. Next, we concentrate our attention on analyzing the distribution of short cycles and the structure of stopping and trapping sets in the Tanner graph of OC-LDPC codes. In the second part of this thesis, we present a new combinatorial technique for constructing well-structured binary regular LDPC codes based on some special types of t-designs. This code design approach can be considered as a generalization of the well-known method that uses the point-block incidence matrix of a Steiner 2-design for code construction. Instead of using the point-block incidence matrix, this method uses one of the higher incidence matrices of a t-design for generating the parity-check matrix.