Erdal Arıkan introduced the polar codes in 2009. This is a new class of error correction codes capable of reaching the Shannon limit. Using cyclic redundancy check concatenated list successive cancellation decoding and fast code constructs, polar codes have become an attractive, high-performance error correction code for practical use. Recently, polar codes have been adopted for the 5 th generation standard for cellular systems, more specifically for the uplink and downlink control information for the extended Mobile Broadband (eMBB) communication services. However, polar codes are limited to block lengths to powers of two, due to a recursive Kronecker product of the 2x2 polarizing kernel. For practical applications, it is necessary to provide flexible length polar code construction techniques. Another aspect analyzed is the development of a technique of construction of polar codes of low complexity and that has an optimum performance on additive white Gaussian noise channels, mainly for long blocks, inspired by the optimization of the Gaussian approximation construction. Another relevant aspect is the parallel decoding power of the belief propagation decoder. This is an alternative to achieve the new speed and latency criteria foreseen for the next generation standard for cellular systems. However, it needs performance improvements to become operationally viable, both for 5G and for future generations. In this thesis, three aspects of polar codes are addressed: the construction of codes with arbitrary lengths that are intended for maximizing the flexibility and efficiency of polar codes, the improvement of the construction method by Gaussian approximation and the decoding of codes using an adaptive reweighted belief propagation algorithm, as well as the analysis of trade-offs affecting error correction performance.