Computer science software engineering option waterloo hydro