The problem of polar coding for an arbitrary sequence of independent binary-input memoryless symmetric (BMS) channels {W-i}(i=1)(N) is considered. Such a sequence of channels is referred to as a non-stationary sequence of channels and arises in applications where data symbols experience different and independent channel characteristics. The sequence of channels is assumed to be completely known to both the transmitter and the receiver (a coherent scenario). Also, at each code block transmission, each of the channels is used only once. In other words, a codeword of length N is constructed and then the i-th encoded bit is transmitted over W-i. The goal is to operate at a rate R close to the average of the symmetric capacities of W-i 's, denoted by (I) over bar (N). To this end, we construct a polar coding scheme using Arikan's channel polarization transform in combination with certain permutations at each polarization level and certain skipped operations. In particular, given a nonstationary sequence of BMS channels {W-i}(i=1)(N) and P-e, where 0 < P-e < 1, we construct a polar code of length N and rate R guaranteeing a block error probability of at most P-e for transmission over {W-i}(i=1)(N) such that N <= n/(I) over bar (N) -R)(mu), where mu is a constant and kappa is a constant depending on Pe and mu. We further show a numerical upper bound on mu that is: mu <= 7.34 for non-stationary binary erasure channels and mu <= 8.54 for general non-stationary BMS channels. The encoding and decoding complexities of the constructed polar code preserve O(N logN) complexity of Arikan's polar codes. In an asymptotic sense, when coded bits are transmitted over a non-stationary sequence of BMS channels {W-i}(i=1)(infinity), our proposed scheme achieves the average symmetric capacity (i) over bar {W-i}(i=1)(infinity) def lim(N ->infinity) 1/N Sigma(N)(i=1) I (W-i), assuming that the limit exists.