- Instructor: Jens Weber
- Email: jens@uvic.ca
- Office: ECS616
- Phone Number: (250) 472-5721
- Office Hours: Monday, Friday 10:00 a.m. - 12:00 p.m.
- Lecture Schedule
- MWR 2:30-3:20 p.m. ECS 108
Large software systems form the backbone of much of the computing world; modern clients and servers rely on operating systems, database management systems, office productivity suites, web servers, and a variety of other large-scale, non-trivial software packages. Such packages can easily contain many millions of lines of source code, developed by thousands of individuals over the course of many years, often with different versions and revisions across the life of the product.
This course introduces the problems and solutions inherent in developing such large scale software systems. Students will work together in groups to evolve an existing project for the duration of the term.
- Software maintenance and evolution
- Continuous Integration
- Identifying and removing software clones
- Analysing Software Repositories to Understand Software Evolution
- Predicting Bugs from History
- Object-Oriented Reengineering
- Migration of Legacy Information Systems
- Architectural Transformations
- The Interplay Between Software Testing and Evolution and its Effect on Program Comprehension
- Software Architecture Evolution
- Empirical Studies of Open Source Evolution
Available Online through the McPherson library at: http://ezproxy.library.uvic.ca/login?url=http://link.springer.com/openurl?genre=book&isbn=978-3-642-45397-7
There will be five project-based assignments, worth 10% tentatively scheduled on a bi-weekly basis.
There will be two midterm exams, worth 15% each scheduled for February 22, and March 31, 2016.
- Two Midterm Exams 30%
- Ten Labs 20%
- Five Assignments 50%