This thesis considers a 2-stage assembly scheduling problem for minimizing sum of completion times. The first stage consists of two independent fabrication machines each of which produces its own type of components (subassembly). The second stage consists of two identical and independent parallel machines. The processing of the second stage cannot begin until the pre-assembly processing of the first stage (both the processings in two fabrication machines) is finished. Minimizing the sum of the total completion times at the second stage is considered as the scheduling measure. A lower bound based on SPT rule is derived, which is then used to develop a branch-and-bound algorithm. Also, an efficient simple heuristic algorithm is developed to generate a near-optimal schedule. Numerical experiments are performed to evaluate the performances of the proposed branch-and-bound and the heuristic algorithm.