In this course, students are given the opportunity to practice the software engineering skills, which they have acquired in the prerequisite course CPSC310, as well as project management and team work skills by developing a software system in a team setting.
Specifically, by the end of the term, CPSC319 students will have experience with software development issues in the following areas:
To be successful and enjoy CPSC319, you should be interested in Software Engineering and the various aspects of software system development. You should be willing to participate in team work and be able to learn on your own. You do not need previous experience in developing software in team. You will get plenty in this course :-)
Students must have successfully taken CPSC310 Introduction to Software Engineering before they can take CPSC319 Software Engineering Project.
In the CICSR/CS building, room 243
If you cannot come to this office hour, please, make an appointment with the instructor.
Students are encouraged to bring their questions regarding the course material and their project to
If you wish to contact the instructor, please, come to his office hours (as opposed to using email ). If this is not possible, you can make an appointment with the instructor by emailing him. When doing so, please, ensure that you have provided the following information in the body of your email, otherwise, your email will not be processed:their team meetings, appointments made with their TA, the instructor's office hours listed above, appointments made with the instructor.
Student name Student number Course # (i.e., CPSC319) Team # email address for the reply Also, include "CPSC319" in the subject line along with topic of the message.
|
IMPORTANT: Most, if not all, of these projects will be used in real life. Therefore, clients will care about product completeness, correctness, robustness and reliability. Wisdom: It is better to deliver a system that implements a subset of the originally specified functions (with justifying documentation) than to give a full-featured buggy system to the client. |
Tutorials are scattered throughout the week. A given week's tutorials start on the Friday and end on Wednesday. The date of the lecture (Tuesday) is used to name a set of tutorials. e.g., "Week of January 21" refers to the tutorials from Friday, January 17 to Wednesday, January 22.
| January 7 | First lecture. |
|
January 10 and
Week of January 14 |
Weekly team meetings begin. |
| January 16/17 (Thursday/Friday) |
Paper-based proposal is due for all teams two days after the lecture or two days after your tutorial, whichever is later. One copy to be handed in to your TA and one copy to be handed in to the instructor (under my office door). |
|
Week of January 21 |
TA will mark and comment on the proposal, and will return it to your team during your weekly team meeting. Your team has 2 days to update the returned proposal, based on the TA's comments, and email it to the instructor (cc'ed to your TA). The instructor will forward your proposal to your client. Requirement Analysis starts. |
|
Week of January 28 |
First client meetings scheduled during your tutorial time, location will be posted in the Team List WebCT page. After the first client meeting, based on the discussion your team had with the client and the answers/clarifications given by the client, your team modifies its proposal and its requirement analysis document. The team sends the updated proposal (cc'ed to the instructor and the TA) to the client for signoff within 2 days of the team's first client meeting. |
|
Week of February 4 |
Design starts.
Paper-based requirements analysis document (along with a paper-based copy of the proposal
that was signed off by the client) is due during your weekly meeting.
Your TA will mark and comment on the requirements analysis document and will return it to your team during the weekly team meeting of February 11. |
|
Week of February 11 |
TA to give feedback to each team member re: performance of managerial role. |
|
Week of February 18 |
Implementation starts. |
|
Week of February 25 |
Paper-based design document is due during your weekly meeting.
One copy to be handed in to your TA and one copy to
be handed in to the instructor (under my office door).
TA will mark and comment on the design document and will return it to your team during the weekly team meeting of March 4. |
|
Week of March 11 |
Testing starts. TA to give feedback to each team member re: performance of managerial role. |
| March 16 (Sunday) | Feature design and implementation freeze. |
|
Week of March 18 |
Code, unit test plans, and updated design document due electronically.
The location of these deliverables to be sent to your TA and the instructor.
TA will mark and comment the above deliverables during the weekly team meeting of March 25. Integration testing starts. |
|
Week of April 1 |
TA to give a mark to each team member re: performance of managerial role. User Acceptance Test (UAT).
Paper-based user documentation is due after the User Acceptance Test.
|
The instructor reserves the right to modify the course timeline.
Team meetings will take place during tutorial time. Therefore, it is important that you register in a tutorial.
|
|
Your final mark for this course will be calculated using the following formula:
To pass this course, you must receive a passing grade (minimum 50%) for the project AND the final examination.
The instructor reserves the right to modify the course grading scheme.
The final exam is held in April, as scheduled by the Registrar's office.
If you have been or will be unable to write the final examination due to illness, you should contact the Science Undergraduate Information & Advising office as soon as possible. More information.
During the term and at the end of the course, you will have the opportunity to provide feedback regarding the course material, the project, the delivery of instructions and the activities taking place during the lectures.
Below is a listing of various resources available to CPSC319 students:
On the home page of the CPSC319 WebCT site, you can find the following web pages:
The following topics will be covered and exercised during the lectures, and/or the project.
As a student of the Computer Science department, you are expected to be familiar with the Computer Science Department policies.
Students are reminded that it is a serious offense to steal or to copy illegally computer software. Students who violate this policy may face criminal prosecution.