Management Course Outline
The University of Western Ontario
Department of Computer Science
CS 4470Y - Software Maintenance and Configuration Management
Course Outline - Fall 2017
Software maintenance involves taking existing code, understanding it, and then modifying or extending the code and/or other work products associated with the software (such as test suites). It is estimated that 60-70% of the software development effort that goes on in the commercial world can be classed as maintenance and evolution. In this course, students will get practical experience in this field. Most of the students' work will consist of a project to modify or extend some large existing piece of software and/or associated products.
Software maintenance requires at least three kinds of knowledge:
Domain knowledge: knowledge about the area of application of the software (e.g. mobile applications, physics simulations, statistical data processing, computer music).
Technology knowledge: knowledge about the various software tools, languages, packages and technologies used in the software (e.g. iOS, Android, PHP, Java, etc.).
Code knowledge: knowledge about the actual code, documentation, test cases and so on.
Students will acquire knowledge of all three kinds as appropriate for their projects.
Fall / Winter: Monday 11:30 - 12:30pm MC 316
Computer Science 3307A/B/Y; plus 1.5 courses from: Computer Science 3305A/B, 3331A/B, 3340A/B, 3342A/B, 3350A/B; plus registration in the Minor in Software Engineering
Note: Unless you have either the prerequisites for this course or written special permission from your Dean to enroll in it, you may be removed from this course and it will be deleted from your record. This decision may not be appealed. You will receive no adjustment to your fees in the event that you are dropped from a course for failing to have the necessary prerequisites.
One instructor will be managing and supervising the project aspects of this course:
Instructor: Nazim Madhavji
Office: MC 381
E-Mail: madhavji <<<at>>> <geeemay l>>> <<<com>>>
There are no required texts for this course. To assist with project development, there are many excellent references available online. While printed books are also available from many retailers, they quickly get out of date, and so it is difficult to require you to purchase one.
References and suggested readings may be provided throughout the course as the project requires them. Please check back to the course website for updates and more information.
Lecture time will not be used for the delivery of lectures in the traditional sense. Instead, this time will be primarily used for organizing and tracking the status of project deliverables and milestones in the course. It is important to note that there may not be class held on every Monday or Tuesday throughout the year; further details on class scheduling will be posted on the course website.
The CS4470Y website is accessible through OWL at http://owl.uwo.ca. Class and project information will be posted on this website on a fairly regular basis. You are responsible for reading this information frequently.
Each student will have access to an account on the Computer Science Department senior undergraduate computing facility, GAUL.
In accepting the GAUL account, a student agrees to abide by the department's Rules of Ethical Conduct.
Note: After-hours access to certain Computer Science lab rooms is by student card. If a student card is lost, a replacement card will no longer open these lab rooms, and the student must bring the new card to the Systems Group. Likewise, if a student card ceases to provide access where it should, it should be brought to the Systems Group as well.
We will occasionally need to send e-mail messages to the whole class, or to students individually. E-Mail will be sent to the UWO e-mail address assigned to students by Information Technology Services (ITS), i.e. your e-mail address @uwo.ca. It is each student's responsibility to read this e-mail on a frequent and regular basis, or to have it forwarded to an alternative e-mail address if preferred. See the ITS website for directions on forwarding e-mail.
However, you should note that e-mail at ITS (your UWO account) and other e-mail providers may have quotas or limits on the amount of space they can use. If you let your e-mail accumulate there, your mailbox may fill up and you may lose important e-mail from your instructors. Losing e-mail that you have forwarded to an alternative e-mail address is not an excuse for not knowing about the information that was sent.
Wherever you receive e-mail, be sure to configure your spam filter to allow e-mail from the instructor's e-mail address given above. Otherwise, important messages could get trapped by your spam filter and missed. This is also not an excuse for not knowing about information that has been sent.
Grades will be based on group project work, divided across four milestones throughout the course, with each requiring different deliverables and work to be completed. If for any reason the project schedule given below cannot be adhered to, the project marks will be prorated accordingly.
If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to the Academic Counselling office of your home Faculty as soon as possible and contact your instructor immediately. It is the student's responsibility to make alternative arrangements with their instructor once the accommodation has been approved and the instructor has been informed. For further information please see: http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf.
A student requiring academic accommodation due to illness should use the Student Medical Certificate when visiting an oﬀ-campus medical facility or an Accommodation Certificate from Student Health Services. The Student Medical Certificate form can be found here: https://studentservices.uwo.ca/secure/medical_document.pdf.
Milestone 1: 15%, due October 20, 2017
Milestone 2: 25%, due December 8, 2017
20%, due February
40%, due April
About the Milestones
Generally, each milestone will require the completion or progress towards a number of deliverables, as well as either oral or written reporting on work completed.
Descriptions of deliverables for the project milestones will be posted on the course website as they become available, and discussed in class.
Any changes, updates, and clarifications to deliverables will also be posted on the website. It is your responsibility to monitor these pages closely.
Milestones will involve programming, documentation, and presentation or class discussion appropriate to the tasks at hand. While the project is a group project, grades will be assigned to each student based on both group and individual performance at each milestone. Individual performance will be based on a number of factors, some of which may include peer evaluations, contributions made during class, repository logs, individual reports of work completed, and so on.
Submission of Milestones
All milestone deliverables will be submitted electronically. Details will be given in the milestone descriptions. Documentation elements of project milestones may also require a paper submission. If this is necessary, details of this will also be given in the milestone descriptions.
Presentation or oral reporting related to project milestones will occur during class, as discussed in the milestone descriptions. Your project milestones are expected to be your own work. On occasion, you may be allowed to make use of code from an outside source. Check with the instructor if you are uncertain about the places in which you can use code written by another person. If you use code from an outside source when you are not explicitly allowed to by the milestone description, or use a source other than what is explicitly designated in the description, you may be charged with an academic offence.
Late milestones submissions will not be accepted.
Extensions will be granted only by the course instructor. As discussed above, if you have serious medical or compassionate grounds for an extension, you must take supporting documentation to the Academic Counselling unit of your faculty, who will contact the instructor.
constitutes a Scholastic Oﬀence, at the following Web site:
Plagiarism: Students must write their essays and assignments in their own words. Whenever students take an idea, or a passage from another author, they must acknowledge their debt both by using quotation marks where appropriate and by proper referencing such as footnotes or citations. Plagiarism is a major academic oﬀence. Please note, however, that students are not allowed to make use of the work of others unless explicitly instructed to do so in the description of an assignment.
All projects are to be exclusively your own work. While project work requires you to work in teams, each team is expected to act individually. You may discuss approaches to problems among yourselves; however, the actual details of the work (coding, documentation, etc.) must be an individual eﬀort. Incidents that are judged to be the result of academic dishonesty will be reported to the Undergraduate Chair. The selection of penalty to be applied is up to the Chair, with consultation of the instructor.
The standard departmental penalty for assignments that are judged to be the result of academic dishonesty is, for the student's first oﬀence, a mark of zero for the assignment, with an additional penalty equal to the weight of the assignment also being applied. You are responsible for reading and respecting the Department of Computer Science's policy on Scholastic Oﬀenses. and Rules of Ethical Conduct.
The University of Western Ontario uses software for plagiarism checking. Students may be required to submit their written work and programs in electronic form for plagiarism checking.
All required papers may be subject to submission for textual similarity review to the commercial plagiarism detection software under license to the University for detection of plagiarism. All papers submitted for such checking will be included as source documents in the reference database for the purpose of detecting plagiarism of papers subsequently submitted to the system. Use of the service is subject to the licensing agreement, currently between The University of Western Ontario and Turnitin.com (http://www.turnitin.com/).
Please contact the course instructor if you require material in an alternate format or if you require any other arrangements to make this course more accessible to you. You may also wish to contact Services for Students with Disabilities (SSD) at 661-2111 x 82147 for any specific question regarding an accommodation.
Learning-skills counsellors at the Student Development Centre (http://www.sdc.uwo.ca) are ready to help you improve your learning skills. They oﬀer presentations on strategies for improving time management, multiple-choice exam preparation/writing, textbook reading, and more. Individual support is oﬀered throughout the Fall/Winter terms in the drop-in Learning Help Centre, and year-round through individual counseling.
Students who are in emotional/mental distress should refer to Mental Health@Western (http://www.health.uwo.ca/mental_health) for a complete list of options about how to obtain help.
Additional student-run support services are oﬀered by the USC, http://westernusc.ca/services.
The website for Registrarial Services is http://www.registrar.uwo.ca.