software homework