ccny csc 221 - software design lab semester project