CMPUT 301
Introduction to Software Engineering
Course Outline
Notices
General Information
Term: Fall 2007, Section A1
Date and Time: MWF at 11:0011: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:
|
User interfaces:
|
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:
- Course Outlines
(Section 23.4(2) of the University Calendar) - Examinations
(Section 23.5 of the University Calendar) - Code of Student Behavior
(Section 30 of the GFC Policy Manual) - Electronic Communication
- Student Appeals
Regulations listed in the GFC Policy Manual and the University Calendar will be used in resolving any discrepancies.