The University of Western Ontario
London Ontario
Department of Computer Science
CS2212b -- Introduction to Software Engineering
Course Description -- Spring 2012
Course Description
The informal approaches that most individual
programmers use when writing small programs do not work very well when applied
to the development of large pieces of software and team programming
situations. Software engineering is, according to the author of the
text for this course, ''the process of solving customers' problems by the
systematic development and evolution of large, high-quality software systems
within cost, time and other constraints''.
In this course, we will examine the stages of the
software engineering process, including requirements gathering, specification,
design, implementation and testing. The principles of object-oriented design and
analysis and user interface design will be stressed, and the concept of software
design patterns will be introduced. UML (Unified Modeling Language), the
standard tool for expressing designs in software engineering, will be
introduced. All programming for this course will be done in
Java.
Topics to be covered include:
- Software process models
- PERT and Gantt charts
- OO Review
- UML Use Case Diagrams
- UML Class Diagrams
- Design Patterns
- White box and black box testing, testing
coverage tools
- UML state diagrams and sequence diagrams
- Coupling and Cohesion Issues
- Using Java to create GUIs
- Code Repositories and Debuggers
Prerequisites: The former Computer Science 210 and 211 or the current Computer Science 2210 and 2211, or equivalent background
as approved by the Computer Science Academic Counselors. Note:
Unless you have either the prerequisite for this course or special written
permission from the department or your Dean to enroll in it, you may be removed
from the 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. The
term work for this course is predominantly group work, and students with
inadequate backgrounds have the tendency to pull down other people's marks, not
just their own.
Instructor:
Name: Laura K. Reid
Office: MC Room 416
Office hours:Mondays 2:00pm-3:00pm and Wednedays from 2:00pm - 3:00pm, other hours available by
email appointment
Phone: 661-2111 ext. 86905
Email address: lreid<at>csd.uwo.ca
Textbook, Lecture Notes:
- Object-Oriented Software Engineering by Lethbridge and
Laganiere, second edition.
- Copies of the transparencies used in class and
assignments will be made
available via the web site of the course, as they are
created.
- Printing or browsing the lecture notes is not a substitute
for attending class
Course Website: http://webct.uwo.ca
Class Schedule:
- Section 001 meets
Wednesday 10:30pm-11:30am and Friday 10:30 am -12:30 pm, UCC Room 146
Student Evaluation:
- The student's final mark will be broken up as
follows:
- Individual Assignment: 10%
- Specifications Quiz: 2%
- Apache Ant Build File Quiz: 2%
- Class Diagram Quiz: 3%
- Group project report 1: 7%
- Group project report 2: 7%
- Group project report 3: 7%
- Group project report 4: 7%
- Class participation: 3%
-
Group project acceptance testing: 15%
- Group meeting minutes: 2%
- Final exam: 35%
Every effort will be made to have assignments marked
and handed back within 2 weeks of the hand-in date, preferably sooner.
General Course Conduct:
- Students are encouraged to discuss individual assignments amongst
themselves, but not to cheat (i.e., copy from each other).
- All programming assignments and projects must be completed
on the Computer Science department's GAUL system. You may
develop code on your home computer, but you must allow for
the amount of time it will take to get the final product
working on Computer Science's machines.
- Assignments must be submitted via Webct.. ONLY THE
INDIVIDUAL ASSIGNMENT CAN BE LATE, if it is up to 24 hours late, 20%
will be subtracted from the mark, if it is from 24 to 48
hours late 40% will be subtracted from the mark. Late individual
assignments over 48 hours late will not be accepted.
- All assigments, both group and individual must be submitted via webct.uwo.ca
Exam Schedule:
- There will be no midterm, but there will be a final exam
at the end of the course.
- The final exam will be 3 hours in length.
It will be a closed-book exam with no reference sheet nor electronic devices allowed.
- Time and Room: TBA, April 14-30
- Each student must achieve a grade of at least 45% on
the final exam in order to be given a passing grade in the course.
Quizzes:
- There are NO MAKE UP quizzes. If you miss a quiz, you receive 0 for the missed quiz.
- Specifications Quiz (worth 2%) There will be a multiple choice in-class quiz on Wednesday, January 18 based on the contents/specifications of the project.
- Class Diagram Quiz (worth 3%) There will be short answer in-class quiz on Wednesday, February 15, on how to draw Class Diagrams.
- Apache Ant Buildfile Quiz (worth 2%) There will be a computer based hands on in-class quiz on Wednesday, March 14 where the student will be required to write his/her own build file. This is open book, the student may use his/her notes and the internet to perform this activity.
Assignments:
- There will be 5 assignments. One individual assignment, to be handed in by each individual
student and four group assignments,
to be handed in by each group.
- The group project will be worth a total of 45% of the
student's overall mark (see Group Project, below).
- The assignment schedule is as follows:
- Individual Assignment:
Friday, February 3,
Midnight (building
a GUI in Java).
- Group Report 1: Friday, February 10, Midnight (UML
class diagrams, use case diagrams).
- Group Report 2: Friday, March 2, Midnight (UML use
case diagrams/sequence diagram, screen shots, file design).
- Group Report 3: Friday, March 16, Midnight (Class Descriptions, Test cases).
- Group Report 4: Monday, April 9, Midnight (User manual
and Javadoc, Java code, Presentation).
- To guard against the possibility of lost assignments
and errors in recording marks, students are advised to retain
all assignments that are handed back to them, as well as
disk copies of all materials they hand in, at least until
final marks for the course are posted.
-
If for any reason the assignment schedules given below cannot
be adhered to, the assignment marks will be pro-rated. (The n assignments are
worth k% of the overall mark for the course. If an assignment has to be
cancelled for any reason, the remaining assignment weights will be prorated to
add up to k%.
).Every
effort will be made to have assignments marked and handed back within 2 weeks
of the handin date, preferably sooner.
-
Extensions:
Extensions will be granted only by the course instructor. If you
have serious medical or compassionate grounds for an extension, you should take
supporting documentation to the office of the Dean of your faculty, who will
contact the instructor.
- REMARKS OF ASSIGNMENTS:
- Student's marked assignment will be placed at the I/O
counter.
- A student will have 1 week from when the
assignments were placed at the I/O counter, to request a remark of his/her
assignment if the student feel it was unfairly/incorrectly marked.
- To have a remark, the student must submit IN WRITING a
detailed explanation of what part of the assignment was not fairly marked and
why the student deserves the marks back. The student must put this request
inside the envelope, along with the assignment and submit it to the
instructor.
- NOTE: remarking means the entire assignment will be
remarked and the student could end up potentially receiving a lower mark, so the
student should make sure his/her case for a remark is just.
Group Project:
- Students are required to work cooperatively in a
group of other students to carry out a group project:
the design and programming of a moderately large software
system.
- The instructors will decide on the composition of the
groups. The instructors' decisions are final. The
instructors will attempt as much as possible to make sure
that each group has 4-6 members. Each member in a group
will come from the same section of the course.
- Individual students may submit requests to be
taken out of the group to which they were initially assigned, if such requests
are received by Friday, January 20, and a good
reason (such as a prior conflict with one of the group
members) is given.
Individual students may not specify what group they want
to be assigned to instead; the instructors will choose an
appropriate group.
- During the course, individuals are REQUIRED
to keep in contact with their groups. Individual students who ignore and/or
don't respond to emails from their groups within a reasonable timeframe (1-4
days) may be removed from their group by the instructors. This may affect
student's ability to pass the course.
-
The project must run on the Computer Science
department's computing facilities for acceptance testing, however groups can
work on it on any machines. It must be programmed
in the Java programming language.
- During the course of the project, groups are required
to have weekly meetings to discuss progress and plan for the
future. Each group is required to draw up minutes of each
meeting, listing who was in attendance and which group members
were assigned which tasks. These minutes must be e-mailed to
the group, the TA for the group, and the course assistant.
- All code and executable files for the project must be submitted by
11:59pm, Saturday, March 31.
-
NO LATES ARE ACCEPTED FOR
ACCEPTANCE TESTING OR GROUP ASSIGNMENTS
-
Acceptance Testing: Acceptance testing of the
software will take place the week on Tuesday, April 3 and Wednesday, April 4. This involves the instructors, course administrator and TAs running and
testing each group's finished implementation of the group project.
- Peer Evaluations:
- At the end of each
assignment, each student will be required to
evaluate their own work and the work of the others in their
group. These "peer evaluations'' will be taken into account
in assigning individual project marks.
- If a student, for one of the assignments,
receives several below average peer evaluations from his/her peers, he/she may
be warned and given guidance on how to rectify the situation.
- Students are expected to complete a reasonable, fair, and equitable
portion of their group project. Failing to do so may result in a
deduction
of the final mark allocated to the project at the discretion of the
instructor.
It is the student's responsibility to ensure that they are working to a
satisfactory level, and should consult with their TA or instructor if
concerns
or questions arise.
- Peer evaluations will remain confidential. however, should an appeal of a project mark be received,
the instructors reserve the right to release excerpts from
your evaluation to the group member launching the appeal.
In such a case, every effort will be made to maintain your
anonymity.
- Failure to submit meaningful peer evaluations will result in a
4% deduction from the student's overall mark in the course (there will be
a 1% for each project's peer evaluation that was not submitted)
-
Peer Evaluations are due within 72 hours of
the assignment due date for each assignment (thus you should be submitting 4
peer evaluations for each individual in your group). NO LATES ARE ACCEPTED FOR PEER EVALUATIONS
-
One of the main purposes of each assignment is to ensure
that groups are progressing steadily toward successful
completion of the project. Because of the assignment
schedule, it will not always be possible for the markers to
return an assignment to students before the next one is due.
We therefore encourage students to keep a copy of important
project-related documents that they have handed in, either
on-line and accessible to all members of the group, or in
hardcopy.
Group Project Marking:
- Each individual group member will be given the same mark
for each of the group tasks as the other members in their group
(but see Combined Project Mark, below).
- 2% for group meeting minutes. To receive full
marks for minutes, groups must consistently (every week) e-mail minutes of their
meetings, in the proper format, to the course assistant.
This is done by completing the following form on-line.
NOTE:
- The minutes form must be submitted in a timely
fashion. Any set of minutes that is received by the professor more than one week
after the meeting that the minutes are describing, will cause 0.25% deduction
from the 2% given for minutes
- The minutes must be helpful to the instructor,
t.a. and group members. Thus the first set of minutes that are either: very
sparse OR overly descriptive, will get a warning from either the professor
or the t.a. After the first warning, each subsequent set of minutes that is
deemed inappropriate will receive a 0.5% deduction from overall mark (25% of the
two percent given for the minutes)
- If a group assignment has to be cancelled for any
reason, the remaining group project marks will be
prorated to add up to the same amount.
- Combined Project Mark: Each student will receive a
combined mark for the project, which makes up
45% of their final grade in the course.
- Normally, the individual's Combined Project Mark will be
computed directly from the group marks for the group tasks.
However, the instructors reserve
the right to give an individual a lower mark than that of
the rest of their group. Peer evaluations and meeting minutes will be
taken into account in assigning Combined Project Marks.
- Each individual must receive a Combined Project Mark
of at least 18 out of 45 (40%) in order to receive a passing
grade in the course.
Participation:
- 2% of the final mark is for class
participation. Occasionally the lecturer will have group team building
activities and/or labs. The lecturer will announce ahead of time the dates of group
activities. Students who participate in 0-33% of the in-class group activities
will receive 0 out of 2 for participation, students who participate in 33-66% of
the in-class group activities will receive 1 out of 2 for participation,
students who participate in 66-100% of activities will receive 2 out of 2 for
participation. Participation may include some of the exercises in labs (such as
the Eclipse/debugging lab)
Computing Facilities
Each student will be given 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 a member of the Systems Group in Middlesex College Room 346.
Email Contact
We will occasionally need to send email messages to the whole class, or to students individually. Email will be sent to your GAUL email address. You must make sure that you read your email on GAUL on a frequent and regular basis, or have it forwarded to an alternative email address if you prefer to read it there.
However, you should note that email at ITS (your UWO account) and other email providers such as hotmail.com or yahoo.com may have quotas or limits on the amount of space they can use. If you let your email accumulate there, your mailbox may fill up and you may lose important email from your instructors. Losing email that you have forwarded to an alternative email address is not an excuse for not knowing about the information that was sent.
Ethical Conduct
Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at the following Web site: http://www.uwo.ca/univsec/handbook/appeals/scholoff.pdf.
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 offence.
For assignments which are individual, you may discuss approaches to problems among yourselves; however, the actual details of the work (assignment coding, answers to concept questions, etc.) must be an individual effort.
The standard departmental penalty for assignments that are judged to be the result of academic dishonesty is, for the student's first offence, 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 Computer Science Department's policy on Scholastic Offences and Rules of Ethical Conduct .
Academic Accommodation for Medical Illness
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 your Dean's office 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. In the event of a missed final exam, a "Recommendation of Special Examination" form must be obtained from the Dean's Office immediately. For further information please see: http://www.uwo.ca/univsec/handbook/appeals/medical.pdf
A student requiring academic accommodation due to illness should use the Student Medical Certificate when visiting an off-campus medical facility or request a Record's Release Form (located in the Dean's Office) for visits to Student Health Services. The form can be found here: https://studentservices.uwo.ca/secure/medical_document.pdf
Tutoring
The role of tutoring is to help students understand course material. Tutors should not write assignments or take-home tests for the students who hire them. Having employed the same tutor as another student is not a legitimate defense against an accusation of collusion, should two students hand in assignments judged similar beyond the possibility of coincidence
Classroom and Course Accessibility
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.