Recently Chung, Salehi, and Wei defined an (n, ω, λ)-optical orthogonal code (OOC) to be a family of (0, 1)-sequences of length n and constant Hamming-weight ω that have both out-of-phase autocorrelation and crosscorrelation values not exceedingλ. Such codes find application in optical code-division multiple-access communication systems. Most known optimal constructions have thus far been for the case λ= 1. A technique for constructing optimal OOC’s is presented that provides the only known family of optimal (with respect to family size) OOC’s having λ = 2. The parameters (n, ω, λ) are respectively (p2m— 1,pm+ 1,2), where p is any prime and the family size is pm-2. Three distinct upper bounds on the size of an OOC are presented that, for many values of the parameter set (n, ω, λ), improve upon the tightest previously known bound. © 1990 IEEE