For a ring R, the polynomial ring R[x] is the set of polynomials with coefficients in R. If R is a UFD, so is R[x]. If F is a field, F[x] is a principal ideal domain.
You already know what a ring is: a set with addition and multiplication satisfying the usual arithmetic laws, but possibly without division. The polynomial ring R[x] is a systematic way to extend any ring R by adding a new "formal variable" x. An element of R[x] is a finite sum a₀ + a₁x + a₂x² + ⋯ + aₙxⁿ where each aᵢ lies in R. Addition works coefficientwise, and multiplication works exactly as polynomial multiplication does in high school — distribute and collect like terms. The result is another ring, built on top of R.
The variable x is "formal" in an important sense: you do not evaluate it at any particular value. This distinguishes R[x] as a ring of expressions from the idea of a polynomial *function*. However, there is a natural evaluation homomorphism: for any fixed element c ∈ R, the map that sends f(x) to f(c) is a ring homomorphism from R[x] to R. This map is the algebraic version of "plugging in" and it respects both addition and multiplication. Its kernel — the set of polynomials that evaluate to 0 at c — is an ideal in R[x], and understanding that ideal tells you which polynomials have c as a root.
The richest structure appears when R is a unique factorization domain (UFD) — your prerequisite. In a UFD, every element factors uniquely (up to units and order) into irreducibles. The theorem that R a UFD implies R[x] a UFD is one of the central results of this topic. The key ingredient is Gauss's lemma: if a polynomial factors in the fraction field of R, it factors in R[x] itself. This lets you lift unique factorization from R up to polynomials. The theorem applies iteratively: if R is a UFD, so is R[x], and so is R[x, y] = (R[x])[y], giving you polynomial rings in multiple variables with unique factorization.
When R is a field F, R[x] inherits even more structure: it becomes a principal ideal domain (PID). Every ideal in F[x] is generated by a single polynomial — the greatest common divisor of all elements in the ideal. This mirrors the way every ideal in ℤ is generated by a single integer. In F[x], you have a division algorithm: given polynomials f and g with g ≠ 0, you can always write f = qg + r where deg(r) < deg(g). Division with remainder, Euclidean algorithm, gcd — all of the number-theoretic machinery you know for integers lifts intact to F[x]. This is why F[x] is the foundational object for studying field extensions: the minimal polynomial of an algebraic element generates the kernel of an evaluation map, and F[x] modulo that ideal gives the extension field.