Software Development for Electrical Engineering
SFWR ENG 3M04, Term I 2004/05
Update 5: Slides for the Nov. 24 class are now posted.
Update 4: Office hours for Oct. 25 and 26th are 15:00-16:00, for midterm questions.
Update 3: See information about midterm at
Update 2: The labs for th week of Oct 11th are cancelled.
Update: lab section assignments, by id.
Lecture and Labs
Lecture - Wednesday, 19:00-22:00 in HH/109 (changed from BSB/236)
- L01 - Monday 14:30-17:20 in ITB/237
- L02 - Wednesday 14:30-17:20 in ITB/237
Dr. J. Carette, ITB-168 , ext 26869,
Email: carette at mcmaster.ca.
Office Hours: TBD
Naser Faramarzpour (firstname.lastname@example.org) and
Wei Liu (email@example.com).
Course Pack and Textbook
This courses uses both a course pack and a textbook, as follows:
- 3M04 Course Pack , Introduction to Software Engineering: A Collection of
Formal Software Specifications, by Dr. M. von Mohrenschildt
- Fundamentals of Software Engineering by Ghezzi, Jazayeri and Mandrioli
This course is for people who already know how to program and are
familiar with the use of programming languages. The topics of the
course are: Basic methods of specifying, designing and documenting
software systems; mathematical foundations of formal specifications;
modularity; module interface design; coding style; verification and
Course Information on Web, Project and Slides
The latest version of this outline and the most "up-to date"
information as well as hand-outs can be found on the course web page.
(Or go to my home page and then to the course page).
The slides and
labs can be found there as well.
Note that all labs are to be handed in through WebCT.
Mid-terms, Exams, and Grading
- There will be two mid-terms.
- The final examination will be
scheduled by the Registrars office in the usual way. It will be
three hours in duration and cover the material of the course,
handouts and labs.
- Academic dishonesty consists of misrepresentation by deception or by other
fraudulent means and can result in serious consequences, e.g. the grade of
zero on an assignment, loss of credit with a notation on the transcript
(notation reads: "Grade of F assigned for academic dishonesty"), and/or
suspension or expulsion from the university.
It is your responsibility to understand what constitutes academic
dishonesty. For information on the various kinds of academic dishonesty
please refer to the Academic Integrity Policy, specifically
The following illustrates only three forms of academic dishonesty:
- Plagiarism, e.g. the submission of work that is not one's own or for
which other credit has been obtained.
- Improper collaboration in group work.
- Copying or using unauthorized aids in tests and examinations.
In this course we may be using a software package designed
to reveal plagiarism. Students will be required to submit their work
electronically so that it can be checked for academic
- There is zero tolerance for academic dishonesty .
All labs must be done by one team only.
any outside source, this includes asking other people,
or using any books or information found on the web has to
be documented. In complience with the senate regulations
on academic integrity I remind you that:
People who let other people copy are as guilty as the ones who copy.
You are allowed to consult outside sources, meaning textbooks
or the web, but any use of an outside source
must be documented.
- It is essential that you fulfill the deadlines for the
assigments, there is no credit for documents handed
in after the deadline. This is manly due to the fact that
solutions will be avaiable after the due date.
- In the case the instructor or a TA
has the impression that a lab is copied the instructor can
ask the corresponding students to explain exactly how the lab
was prepared and take appropriate actions.
- Graded labs and tests will
be returned during a lab session or at the end of a lecture.
The ones not picked up will
be placed in a pick up box at my office. No responsibility for loss
of labs can be assumed by either instructor or the Teaching
- You must pass the final exam to pass the course. Assuming you pass
the final exam, your course grade will be computed according to:
- The instructor does not accept
late doctor's notices, if you write a mid-term then the mark is
yours. If you do not write an exam or a lab and do not provide
an acceptable doctor's notice then it is marked with 0. The
instructor reserves the right to conduct any deferred exams orally.
Outline of the course lectures
The following outline is approximate and is likely to change.
- Introduction (1. Lect)
- Mathematics (4. Lect)
- Software Life Cycle (1. Lect)
- Specifications (4. Lect)
- Modularization (3. Lect)
- Module Interface Specification (4. Lect)
- Module Internal Design (4. Lect)
- Hierarchical Structures (2. Lect)
- Coding (1. Lect)
- Inspection (2. Lect)
- Testing (2. Lect)
- Requirements Specifications (4. Lect)
- Software Development Methods (4. Lect)
Slides will be made available online after the lectures.
"The Faculty of Engineering is concerned with ensuring an
environment that is free of all adverse discrimination. If there is a
problem that cannot be resolved by discussion among the persons
concerned individuals are reminded that they should contact there
Chair, the Sexual Harassment Office or the Human Rights Consultant,
as soon as possible."
Adapted by JC, from pages by MvM and WM. Sept 2004