An introductory course in the Ultra Large-scale Software Systems (ULSS). This course gives students an overview of the ULSS area covering a wide range of ULSS topics, while building and strengthening their independent research skills. Topics include research methods, large scale applications, web services, hosted applications, software as a service, autonomic computing, and mobile applications. (Required for all ULSS students.)


Classes are held on Wednesday from 2.30-5.30 pm in Goodwin Hall 521.

A detailed schedule is available here (including the slides and assignments).

Students are expected to have some background in software development and software engineering. You must be enrolled as a NSERC CREATE ULSS student to follow this course.

Students will be evaluated using the following breakdown:

1. ULSS Design Position Paper (5%):
2-4 page position paper (IEEE style) discussing how 1 ULSS of choice matches Lampson's design principles.

2. Two in-class presentations about two topics (20%):
Each student will present 45 minutes in 2 of 7 themes in ULSS (one topic per week, week 6-12).

3. Weekly reviews + paper recommendations (30%):
During week 6-12, each student will recommend a paper to read for the other students (so for each ULSS topic). In the week after that, each student will review one of the recommended papers (not the one that you recommended).

4. Project proposal presentation (15%):
Each student will give a 15 minutes presentation of his/her project proposal.

5. Project proposal (5%):
Each student will submit a 5-page project proposal (IEEE style, in Latex). More details on the contents will follow.

6. Review of 3 other project proposals (10%):
Each student will review 3 project proposals of classmates.

7. Class participation (15%):
Each student will be graded based on their participation in class. This means you have to actually be there and participate ;)

Note that you need to pass all elements of the breakdown.

I can be contacted at 156 Barrie St (SAIL lab) or by email (bezemer [at]