Computer Science CPSC319

Software Engineering Project

02W - Term 2 Jan-Apr 2003



Goals of CPSC319

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 :-)

Top

Course Prerequisite

Students must have successfully taken CPSC310 Introduction to Software Engineering before they can take CPSC319 Software Engineering Project.

Top

Instructor

Teaching Assistants

Top

Office Hours

In the CICSR/CS building, room 243

If you cannot come to this office hour, please, make an appointment with the instructor.

Top

Getting Help

Students are encouraged to bring their questions regarding the course material and their project to

  • their team meetings,
  • appointments made with their TA,
  • the instructor's office hours listed above,
  • appointments made with the instructor.
  • 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:
  • 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.
  • Top


    Course Structure

    CPSC319 is structured as follows:
    Top


    Teams

    Top


    Projects

    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.

    Top


    TA's Role

    Top


    Instructor's Role

    Top


    Timeline

    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.
    One copy to be handed in to your TA and one copy to be handed in to the instructor (under my office door).

    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).
    The updated requirement analysis document is due. This copy can be paper-based or posted on the team's web site. If the TA accepts the revised RAD in electronic form, i.e., posted on the team's web site, the team is to send the TA a notification of the posting on the due date.

    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.
    Paper-based Source Code Style Guide (Code Standards), Integration and System Test Plans due. 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 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.
    One copy to be handed in to your TA and one copy to be handed in to the instructor (under my office door).

    The instructor reserves the right to modify the course timeline.

    Top

    Weekly Team Meeting

    Team meetings will take place during tutorial time. Therefore, it is important that you register in a tutorial.

    Tutorial Schedule

    Jan-Apr 2003
    Section   Day   Start Time  
    T2A Fri 9:00
    T2B Mon 11:00
    T2C Tue 11:00
    T2D Mon 15:00
    T2E Tue 14:00
    T2F Fri 13:00
    T2G Wed 9:00
    Top

    Evaluation

    Grading Scheme

    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.

    Final Exams

    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.

    Feedback

    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.

    Top


    Course Resources

    Below is a listing of various resources available to CPSC319 students:

  • Computer Science Department's Roadmap To Computing web site: http://www.roadmap.ubc.ca/
  • Top

    Topic Overview

    The following topics will be covered and exercised during the lectures, and/or the project.

    Top


    Policies

    Academic Conduct

    As a student of the Computer Science department, you are expected to be familiar with the Computer Science Department policies.

    Software Piracy

    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.

    Top

    Michael Donat - January 2003