software course assignment