University of Calgary
Rob Kremer
Course Description

SENG 403: Software Development in Teams and Organizations
Winter 2013
Department of Computer Science
Computer
Science

Final marks have been approved.  See the list of detail marks by UCID

If you got an "I", then I have not received one or more peer reviews from you.  I am obligated to follow the official course outline and cannot give you a final grade (other than "F") without those peer reviews, so please forward them to me ASAP.


Details

Instructor:
Rob Kremer, ICT 748, email: kremer@cpsc.ucalgary.ca;
Lectures:
Tues/Thurs 14:00-15:15 in ICT 116
Office hours:
Tues/Thurs 11:00-12:00 and by appointment.
Course web site:
http://pages.cpsc.ucalgary.ca/~kremer/courses/seng403/W2013/index.html
Course information sheet:
http://www.cpsc.ucalgary.ca/custom/undergrad/outlines2013/w13/seng403_winter2013.pdf
Mail list server:

Tutorials/Labs:
Tutorial Time Location TA
T01 TuTh 16:00-17:15 MS 119 Mohammad Khabbaz (mkhabbaz@ucalgary.ca),
Apoorve Chokshi (apoorve.chokshi@ucalgary.ca)
T02 MoWe 17:00-18:15 MS 119

Course Description

In this course you will learn about the different philosophies and approaches to software development. You will understand the principles and practices of each approach, and you will learn about best practices in industry and when and how to apply them.

We will also discuss in great detail the dynamics of teams and organizations in the context of software development. You will learn about the social, political, and technical issues you are likely to face when you go to work in industry.

In the tutorial, you will get a hands-on experience on the technical aspects of collaborative software development including source code control, continuous integration, testing, refactoring and other topics.

Prerequisites

(For students registered in Computer Science) Software Engineering 301 and one of Philosophy 249, 329, 349, or Business and Environment 561, (For students registered in Software Engineering, Schulich School of Engineering) Software Engineering 301.

Misuse of Computer Facilities, Plagiarism, and Cheating

Academic misconduct (cheating, plagiarism, or any other form) is a very serious offence that will be dealt with rigorously in all cases. A single offence may lead to disciplinary probation or suspension or expulsion. The Faculty of Science follows a zero tolerance policy regarding dishonesty. Please read the sections under the heading "Student Misconduct" in the Academic Regulations section of the University Calendar.

These serious offences will carry sanctions. Copying of assignments from anywhere without appropriate references, cheating on exams, or misusing facilities will result in punishment ranging from course failure to criminal prosecution. If you are unsure about these issues do not hesitate to consult with the course instructor.

This course requires group work, which dictates that students must work together to solve assignments. Generally, individual contributions from people within the group do not need to be cited, but major contributions should be. Note that it is the responsibility of each member of the group to ensure that plagiarism (or other forms of cheating) does not occur in the work: the entire group will be assessed based on any incident of academic misconduct in group assignments.

Each member of a group is expected to do their fair share of the group work. A peer assessment mechanism will be used to monitor this. If group work is unequally distributed among group members, group members may achieve differing marks for the assessment. This may range from an A to a failing grade, with corresponding consequences for the overall course mark.


Textbooks

There is no required textbook for this course, but the following list of links are provided.

Readings

Technical resources

Extra links and resources


Assessment

The University policy on grading and related matters is described in the university calendar.

The course will have a Registrar's scheduled final examination and a midterm exam. These exams together constitute the exam component of the course and there is also a supplier project component, a customer project component, a paper/presentation component, and a peer evaluation component. All four components have to be passed in order to pass the course, and all parts of the peer evaluation must be passed in order to pass that component. Even though the peer evaluation component has only a nominal mark associated with it, you will fail the entire course if you fail to complete every one of these tasks adequately.

The final grade will be calculated using the grade point equivalents of the individual grades achieved weighted by the percentages given later on this page. To get the final letter grade for the course, the weighted sum is converted back using the official University grade point equivalents. In order to deal with the grade A+ that unfortunately does not scale in the grade point equivalents, the following rule will apply: an A+ as final letter grade will be awarded to every student who has an A in both exams and in all components of the assignment components and in all components of the peer evaluation component.

The exam component

As already described, we follow the usual midterm-final-scheme for exams. The weighting of the grades you achieve in these two exams is as follows:

Midterm    15% of final grade
Final exam   20% of final grade

Remember, you have to pass this component to pass the course. For example, this means that a D in the midterm and an F in the final is not sufficient!

The supplier project component

For a detailed description of what you have to do, please refer to the supplier assignment page. The groups have been assigned. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

TOTAL    41% of final grade
Iteration 0     18% project grade
Iteration 1     22% project grade
Iteration 2     30% project grade
Iteration 3     30% project grade

Please note that the grades above are achieved by your team!

The paper/presentation component

For a detailed description of what you have to do, please refer to the paper assignment page. The following table describes the percentage with which the individual task grades will be weighted in the final grade for the course.

TOTAL    20% of final grade
First draft     5% of paper/presentation grade
The paper covers the topic comprehensively     50% of paper/presentation grade
The paper is well-written and well-structured     10% of paper/presentation grade
The paper conforms to the formattting guidelines     10% of paper/presentation grade
The topic presented in-class clearly and creatively     25% of paper/presentation grade

Please note that both grades above are achieved by your team!

The peer evaluation component

The peer evaluations are relatively simple to do compared with the other course components. You must submit a report to your TA and instructor (by email) containing a letter grade assessment of each (including yourself) of your group members' contributions to the current assignment together with a 1/3 page description of that person's contribution justifying your assessment. It is not acceptable to give everyone in your group an A or to give everyone in your group an F. A report that does not reflect the dynamics of the group will be considered a failure, which could cause you to fail the course. It is your responsibility to get to know your group members and know their contributions to the project.

The weighting in the final grade for the course is

TOTAL    4% of final grade
Supplier peer review, iteration 0     0.5% of final grade
Supplier peer review, iteration 1     0.5% of final grade
Supplier peer review, iteration 2     0.5% of final grade
Supplier peer review, iteration 3     1% of final grade
Paper peer review, draft     0.5% of final grade
Paper peer review, final paper     1% of final grade

So, the peer evaluation component accounts for only 4 percent of your mark, but you have to do all of them adequately in order to pass the course.

Why the peer evaluation? The peer evaluation is set up to prevent freeriding (a group member doing little or nothing and getting a good mark by taking advantage of the efforts of the rest of the group). It will be used as follows: The TA and instructor will use their own judgment and experience with the group as well as the input from the peer evaluations to assess a "delta mark", which will be applied to the group assignment. The delta mark will be a positive or negative letter-grade value between -4 and +1, which will be added to the group mark for each individual member.

Therefore, if you are the group leader, make a huge contribution to the project, your group thinks you can walk on water, and your group project is assessed as a "B", you may be assessed a delta mark of +1 -- your mark for the project will be "A". On the other hand, if you could had done better on the project, your delta mark may be -0.7, and you'd get a group mark of "C+". Furthermore, if you really didn't help much at all on the project, you'd get a delta mark of -4, you'd get a "F" for the project and you'd automatically fail the entire course. Don't let that happen. :)


Lecture/Lab Schedule (Subject to change)

Date
Tuesday 14:00-15:15
Thursday 14:00-15:15
Jan08/10 Course outline
no tutorial

Survey

Software projects: stakeholders & lifecycle
no tutorial

Jan15/17 Software engineering
tutorial: Version control systems, SVN video tutorial

 

Software methodologies
tutorial: Software development toolkits (SDKs)

Paper/presentation topics posted 09:15

Jan22/24 Agile software methodologies & exercises
tutorial: Team Foundation Server

Planning with user stories
tutorial: Continuous Integration

Jan29/31 Release planning
no tutorial: work on your project

Iteration planning
tutorial: Unit testing frameworks

Feb05/07 Prototyping
tutorial: work on your project

Iteration 0 due (Feb 6)

Software Architecture
tutorial: Refactoring

Peer review for iteration 0 due (supplier only)

Feb12/14
Software design
tutorial: Modeling

Test-driven design
tutorial: work on your project

Feb19/21
Reading Week
Feb26/28 Design patterns
tutorial
Iteration 1 due (Feb 27)
Working in teams
tutorial: Personality factors

1. Paper first draft due
2. Peer review for iteration 1 due
3. Peer review for final paper due (Mar 2)

Mar05/07 Retrospectives
tutorial: Using mockups for testing

The people factor & social behaviour
tutorial: work on your project

Mar12/14 MIDTERM TEST
tutorial: work on your project

People & politics
tutorial: Design patterns

Mar19/21

Presentation topic 6: Aspect-oriented programming (AOP) [slides, paper]


tutorial: work on your project

Iteration 2 due (Mar 19)

Presentation topic 11: Programming language families [slides, paper]
Presentation topic 2: Open-source software development [slides, paper]

tutorial: work on your project

Peer review for iteration 2 due

Mar26/28

Presentation topic 8: Software security [slides, paper]
Presentation topic 1: Innovation in the software industry [slides, paper]
tutorial: Project management tools

Presentation topic 7: Service-oriented software [slides, paper]
Presentation topic 10: Change management and negotiation [slides, paper]
tutorial: work on your project

Apr02/14 Presentation topic 9: Clean code [slides, paper]
Presentation topic 4: Software architectural styles [slides, paper]
tutorial: work on your project

Presentation topic 3: Development with Ruby-on-Rails [slides, paper]
Presentation topic 5: Game development [slides, paper]
tutorial: work on your project

Apr09/11 Ethics of software engineering
tutorial: work on your project

Software usability
tutorial: work on your project

1. Iteration 3 due (Apr 11)
2. Final paper due
3. Peer review for iteration 3 due (Apr 13)
4. Peer review for final paper due (Apr 13)

Apr16 Software useability II
tutorial: demos
Monday, April 15th
5:00 - 5:10     4 - Private School
5:15 - 5:25     5 - Robot (K-6)
5:30 - 5:40     7 - Robot (10-12)
5:45 - 5:55     8 - Real Estate
6:00 - 6:10     6 - Student timetabling
Tuesday, April 16th
4:00 - 4:10     3 - Hotel
4:15 - 4:25     2 - Hospital
4:30 - 4:40     1 - Library

 

 Classes over

Final Exam: Friday, Apr 26 15:30-17:30, ST 141

UofC
SENG 403: Software Development in Teams and Organizations
Department of Computer Science

Last updated 2013-01-14 23:16
Rob Kremer