A (v, k, lambda) optical orthogonal code C is a family of (0, 1) sequences of length v and weight k satisfying the following correlation properties: Sigma(0less than or equal totless than or equal tov-1) x(t)x(t+i) less than or equal to lambda for any x = (x(0),x(1),...,x(v-1))is an element ofC and any integer i not equivalent to 0 (mod v); Sigma(0less than or equal totless than or equal tov-1) x(t)y(t+i) less than or equal to lambda for any x = (x(0), x(1),...,x(v-1)) is an element of C, y = (y(0), y(1),..., y(v+1)) is an element of C with x not equal y, and any integer i, where the subscripts are taken modulo v. A (v, k, a) optical orthogonal code (OOC) with [1/k [v-1/k-1 [v-2/k-2 [(...) [v-lambda/k-lambda]]]]] codewords is said to be optimal. OOCs are essential for success of fiber-optic code-division multiple-access (CDMA) communication systems. The use of an optimal OOC enables the. largest possible number of asynchronous users to transmit information efficiently and reliably. In this paper, various combinatorial constructions for optimal (v, 4, 1) OOCs, such as those via skew starters and Weil's theorem on character sums, are given for v equivalent to 0 (mod 12). These improve the known existence results on optimal OOCs. In particular, it is shown that an optimal (v, 4, 1) OOC exists for any positive integer v equivalent to 0 (mod 24).