SENG2011 Software Engineering Workshop 2A, Semester 1 2016
Course Outline
Course Code: |
SENG2011 |
Course Title: |
Software Engineering Workshop 2A |
Units of Credit: |
6 |
Course Website: |
|
Handbook Entry: |
http://www.handbook.unsw.edu.au/undergraduate/courses/2016/SENG2011.html |
Hours per week: |
3 plus a mentor meeting |
Prerequisite: |
SENG1031 |
Corequisite: |
COMP2111 |
Lectures and location: |
Consult the course timetable. |
The course web page will be the main source of announcements and information. You must check the course web page regularly, in particular the notices on the home page of the course website. If you miss an important announcement because you did not check the notices web page, no special dispensation will be granted.Urgent announcements may also be sent to your CSE email address, and you are equally accountable for such communications. If you have a different email account that you prefer, you should redirect your School account to there: otherwise you might miss important announcements. (Use the mlalias command for that.)
Staff Name |
Role |
Email |
Phone |
Albert Nymeyer
|
Lecturer in Charge |
a.nymeyer@unsw.edu.au |
none yet |
This course teaches practical techniques for computer program development that help us to proceed from informal but precise requirements, via more formal and precise specifications through to implementations that are correct and easy to understand and maintain. Parallel instruction in the underlying methods used in SENG2011 will come from COMP2111.
In the first part of the course, the lectures,
presentations and mentor-meetings will be organized around a sequence of
from-requirements-to-program examples that will become increasingly demanding.
The problems studied in this part will be relatively small in scale, and
assignments will be done individually and by hand: the emphasis is on
understanding the techniques both in theory and in practice.
The second part of the course will consist of a groupwork project that will require the application of the
techniques studied in the first part to a larger scale problem. This part of
the course will use a tool that automates some of the work required to
establish that the program developed satisfies its specification.
There will also be lectures on Project Management. Students
will be expected to apply project management techniques in their project work,
and document their application of these techniques.
After completing this course, students should:
SENG2011 is a workshop in which the
teaching strategy is primarily to communicate techniques and to give
experience. There are fewer than usual formal lectures in the style of
explaining knowledge and facts.
The lectures that are in this course are to provide
students with support and guidance in developing their practical skills.
Students will be expected and encouraged to stand before the class to explain and
justify the approach they have taken to developing particular programs from
their requirements.
The lecture schedule is tentative and may vary during the
semester as the need arises. Changes to the lecture schedule will be announced
on the course website.
The remaining contact with teachers will primarily be with
group mentors, who will give detailed guidance on understanding how to
describe rigorously what a program should do and then to guarantee that the
program does it. Students will be organised into
groups of 7–8, and as groups are required to spend an average of 30
minutes with their group mentor per week, at a time suitable to the mentor but
arranged in constellation with her/his students.
It is recommended that these mentor sessions be held in one
of the small seminar rooms in the CSE building, but this will depend on
availability. It is essential to find a time suitable for all members as attendance at (mentor) group meetings is
compulsory.
The total course mark will be combined
from marks for these components:
The groupwork project includes an assessable project management
component.
Note that, as a special case, if
a student attends fewer than half of his/her mentor sessions, then the mark for
the whole course can be capped at 64%,
that is just less than a credit.
Plagiarism is defined as using
the words or ideas of others and presenting them as your own
. UNSW and CSE
treat plagiarism as academic misconduct, which means that it carries penalties
as severe as being excluded from further study at UNSW. There are several
on-line sources to help you understand what plagiarism is and how it is dealt
with at UNSW:
Make sure that you read and understand these. Ignorance is
not accepted as an excuse for plagiarism.
The main resources for out-of-lecture study will be lecture
summaries, and literature (often online) that will be identified as the course
progresses.
In-depth references are as below, but they adopt in general
a much more formal approach than the one we will be using:
See the above as an indication of what is possible in later
years, if you should specialise in programming for
its own sake; do not take them as what is required this year.
The course was originally structured around a single large groupwork project using the B-method and associated Rodin
toolset. It was felt by staff that students needed a deeper understanding of
specification and the development of correct programs on a smaller scale before
undertaking such a large-scale project. In 2014 there was a change of emphasis
to individual work targeting the development of an understanding of
specification-in-the-small and a de-emphasis on groupwork
and tool use, although there was a still a project management component. This
presentation was loosely based on the course COMP 6721: Informal methods that
ran in the years 2010-12. The
disadvantage of this presentation was that it left the project management
component disconnected from the rest of the course and not applied. To better
incorporate the project management component, the 2015 edition restored a
larger scale problem to be done as a group, applying project management
techniques, while retaining an initial focus on developing individual
understanding.