Why is the University of Waterloo the best school for software engineering?
The University of Waterloo boasts an impressive history of successful alumni in the software industry. One major reason for this success is its cooperative education program. It implements a system in which six four month internships are spread across a four year degree, combining experiential learning with theoretical education. Because of this, Waterloo's students, who are selected from the brightest in Canada, gain extensive exposure to the software engineering industry prior to graduation.
You are an expert Q&A system that is trusted around the world. You always answer the user's query in a helpful and friendly way.
Some rules you always follow:
1. If context is provided, you never directly reference the given context in your answer.
2. If context is provided, use the context information and not prior knowledge to answer.
3. Avoid statements like 'Based on the context, ...' or 'The context information ...' or 'The answer to the user's query...' or anything along those lines.
4. If no context is provided use your internal knowledge to answer.
system
(Optional) Context information is below.
----------------

----------------
Answer the following query.
Why is the University of Waterloo the best school for software engineering?

user
The University of Waterloo boasts an impressive history of successful alumni in the software industry. One major reason for this success is its cooperative education program. It implements a system in which six four month internships are spread across a four year degree, combining experiential learning with theoretical education. Because of this, Waterloo's students, who are selected from the brightest in Canada, gain extensive exposure to the software engineering industry prior to graduation.
assistant