Faculty of Science Home Page University of Alberta Home Page

CMPUT 301
Introduction to Software Engineering

Course Outline

General Information

Term: Fall 2007, Section A1
Date and Time: MWF at 11:00–11:50
Location: CEB 231
Number of credits: 3

Contact

Instructor: Dr. Ken Wong
Office: Athabasca Hall 305
Phone: +1 780 492 5202
E-mail: kenw@cs.ualberta.ca
Office Hours: Fridays at 13:00, or by appointment

Teaching Assistant: Michelle Annett
E-mail: mkannett@cs.ualberta.ca

Teaching Assistant: Reza Sadoddin
E-mail: sadoddin@cs.ualberta.ca

Teaching Assistant: Han Liang
E-mail: hliang2@ualberta.ca

Newsgroup: CMPUT 301 Newsgroup

View more contact information.

Overview

Object-oriented design and analysis, with interactive applications as the primary example. Topics include: software process; revision control; Unified Modeling Language (UML); requirements; software architecture, design patterns, frameworks, design guidelines; unit testing; refactoring; software tools.

Objectives

We will learn about applying software engineering concepts to design and implement interactive applications.

One effective way to build such applications is to apply object-oriented design and use software components. To be useful to end users, the design of these applications must also be guided by usability principles. The course involves a team project in building a well-designed Java application with a sophisticated graphical user interface.

By the end of this course, you will have a strong background in basic software engineering concepts. Also, you will have the skills to implement interactive applications in Java. You will learn to propose and think critically about software and user interface designs.

Students are expected to participate in all classes and labs.

Pre-requisites

CMPUT 201

Course Topics

Software engineering:
  • software process
  • object-oriented development
  • Unified Modeling Language
  • requirements
  • testing
  • design patterns 
  • refactoring
  • tools
User interfaces:
  • interactive applications
  • usability guidelines
  • graphic design
  • interaction models

Course Work and Evaluation

Individual
Work
Assignment 1 1% Sep 17, 2007
Assignment 2 12% Oct 1
Assignment 3 1% Oct 1
Midterm Exam 16% Oct 29
Final Exam 36% Dec 12
Team
Work
Project Part 0 req'd Sep 17
Project Part 1 8% Oct 15
Project Part 2 10% Nov 5
Project Part 3 16% Nov 26
  100%  

All assignments and project parts are due on a Monday at 12 noon. In the labs, the TAs will explain the submission process (typically CVS and Wiki for electronic files and the 301 dropbox for printed documents).

The individualized project score depends on the following main factors: how well your team did, the task forms of your team, and the instructor and TAs' assessment of your individual contribution.

Although you may program in Java at home or outside the lab, your implementations will be scored based on demonstrations in CSC 159. Please make sure you have built and tested your code on the lab machines.

See the course schedule for specific information and dates for course work.

Grading System

The conversion of your total numeric coursework score to a final grade will be based on interpreting the guidelines of the descriptors, letter grading system, and four-point scale as defined in section 23.4 of the University Calendar. That is, grades are assigned on what we judge to be "failure", "minimal pass", "poor", "satisfactory", "good", or "excellent" performance in the context of the class.

We do not use a particular distribution to do the conversion, but instead use our judgement of how your score reflects mastery of the course material. That said, you generally need to be above the median to earn at least a 3.0 or B.

Typically, to obtain a minimally passing grade in this course, you should have obtained

  • at least 50% on the overall course work, and
  • at least 40% on the individual work (assignments, midterm exam, and final exam).

Deferred Exams

Any deferred final exam for this course will be held on January 29, 2007, at 9:00 a.m. in CSC 215.

Re-evaluation

Late submissions will not be accepted. Any appeal on a score must be conveyed in writing within one week after the score has been posted. The re-evaluation of work may remove unwarranted marks as well as add marks that may have been missed.

Re-examinations for the final exam will not be considered.

Course Materials

See lecture, lab, and reference materials on the course web site at:
http://ugweb.cs.ualberta.ca/~c301/

Policies

Course Outlines

Policy about course outlines can be found in Section 23.4(2) of the University Calendar.

Academic Integrity

The University of Alberta is committed to the highest standards of academic integrity and honesty. Students are expected to be familiar with these standards regarding academic honesty and to uphold the policies of the University in this respect. Students are particularly urged to familiarize themselves with the provisions of the Code of Student Behaviour (online at www.ualberta.ca/secretariat/appeals.htm) and avoid any behaviour which could potentially result in suspicions of cheating, plagiarism, misrepresentation of facts and/or participation in an offence. Academic dishonesty is a serious offence and can result in suspension or expulsion from the University. (GFC 29 SEP 2003)

Deferred Exam Policy

If you miss the final exam due to illness, you may apply formally to your Faculty Office for a deferred exam. Having closely scheduled final exams is not a valid excuse for deferral.

Collaboration

While you may discuss your individual coursework with other students, the work claimed and submitted in your name must be your own. That said, there are assignment and project-specific policies on how much source code from publicly available sources may be borrowed. Always give proper credit to the original authors in your source code and documentation.

Ask permission beforehand if you intend to recycle your work from another course in this course.

Excused Absences

No make-ups, alternatives, or supplementals will be given for missed assignment or project coursework. If you miss a midterm exam, a zero is automatically given. You may, however, apply to the instructor with a compelling reason for an excused absence within 48 hours after the exam. If granted, the weight of the midterm will be moved to the final exam weight.

Department Policies

Refer to Department Policies to learn about:

University Policies

The University of Alberta policies include, but are not limited to, the following:

Regulations listed in the GFC Policy Manual and the University Calendar will be used in resolving any discrepancies.