Bachelor of Engineering with Honours

advertisement
(08) UC/12 BE(Hons)/1
UNIVERSITY OF CANTERBURY
Te Whare Wānanga o Waitaha
CUAP Proposal-New Qualification/Subject 2012
Section A
Proposal Description
Purpose of the proposal
To introduce Software Engineering (SE) as a discipline in the BE(Hons) degree.
Justification
Our society relies in many ways on software or software-based systems, for example in transportation, avionics,
telecommunications, government and business, health and many other areas, and many companies worldwide and in New
Zealand offer software products or complex software-based systems. Very often software systems have a high degree of
complexity (software systems often consist of millions of lines of code produced by large teams of engineers or
programmers), and at the same time we critically depend on their timely and cost-effective provisioning as well as their
reliable and efficient operation. To meet all these targets, a disciplined and well-founded approach to the design, creation
and operation of software (or software-based systems) under real-world constraints (economical, legal) is needed.
Our proposal addresses a societal need and hence addresses the “Challenge” and “Connect” components of the UC
strategic plan. Several companies in and around Christchurch design and develop software-rich products and have a
strong need for software engineers. We are confident that offering a focused software engineering degree will attract new
students to the University of Canterbury, again addressing the “Challenge” component.
Software engineering is a well-established academic and professional engineering discipline, with undergraduate
programmes being offered at many universities worldwide and at most of New Zealand universities. The University of
Canterbury will be the first university in the South Island offering a BE(Hons) degree in software engineering
Many of our computer science graduates want to pursue a career as a software engineer. They have to compete with
software engineering graduates on the labour market.
Our curriculum follows a well-established international standard, the IEEE / ACM Curriculum Guidelines for
Undergraduate Degree Programs in Software Engineering (2004). Several parts of the planned curriculum can be covered
with existing courses, staff and infrastructure. Software engineering is a research strength of the department of Computer
Science and Software Engineering. Additional staff members supporting the software engineering programme will
strengthen this strategic research area, lead indirectly to increased postgraduate opportunities, and create additional PBRF
income. This addresses the “Concentrate” component of the UC strategic plan.
The development of the SE programme is part of the College of Engineering strategic plan. At the university level, this
initiative is a result of the required engagement with stakeholders, and the STEP objective of promotion of specialist skills
that contribute to New Zealand development. Given the close consultation with NZ software industry in the development
of the degree (an industrial advisory board has been formed, including representatives from HP, Clarus, Jade Software,
and Orion Health), it will help us attain the goal that the “University will be acknowledged as an integral and important
part of the community”. This close consultation will continue and therefore contribute to the “Connect” component of the
UC strategic plan.
It seems unlikely that the present proposal competes with other courses or degrees at the University of Canterbury. As
compared to the most likely competitor, Computer Science, the Software Engineering programme is much more focused;
its learning outcomes put much stronger emphasis on team-based construction of large-scale software-based systems
under real-world constraints (cost, resources, etc.). When compared to Computer Engineering, the Software Engineering
program clearly focuses on software, whereas Computer Engineering has strong emphasis on hardware.
Acceptability
We have followed a staged consultation process. We have from the very beginning included a representative of the
Electrical and Computer Engineering department to the intra-departmental SE planning group. After having developed a
first draft of the curriculum we have entered a discussion with an industrial advisory board. This board was strongly
1
(08) UC/12 BE(Hons)/1
supportive and has provided excellent direction for the refinement of the curriculum proposal.
With a refined proposal we then have sought consultation with stakeholders at UC. Subsequently, a refined curriculum
description has been developed and sent to external experts involved with teaching and research in software engineering,
as well as to the members of the industry advisory board. This descriptive document also includes an analysis how the
proposed curriculum compares against the IEEE/ACM proposed software engineering curriculum. We have received
feedback from the following persons and groups:
 Dr Linda L. Werner, Associate researcher in Software Engineering, UC Santa Cruz
 Prof. Steve Reeves, Associate Dean and Software Engineering Programme leader, University of Waikato
 A/Prof. Jens Dietrich, Software Engineering Researcher, Massey University
 Prof. Stephen G. MacDonnell, Software Engineering Researcher and Director of Software Engineering Research
Lab, Auckland University of Technology
 Prof. Rachel Cardell-Oliver, Software Engineering Researcher, University of Western Australia
 Prof. John Grundy, Software Engineering Researcher, Swinburne University of Technology
 Brett Cameron, HP, Member of Industry advisory board
 A/Prof. Brendan McCane, Head of Computer Science Department, University of Otago
 Prof. Paul Cragg, Dept. Of Accounting and Information Systems, University of Canterbury
 Prof. Gill Dobbie, Software Engineering Researcher and Head of CS Department, University of Auckland
 Dr. Stuart Charters, Software Engineering Researcher, Lincoln University
 Sam Jarman, Computer Science Student and Student Representative, University of Canterbury
 Daniel Schramm, Computer Science Student and Student Representative, University of Canterbury
 Jeff Wilkinson, Development Unit Manager, Orion Health
This refined curriculum proposal has also been approved at a staff meeting in the department of Computer Science and
Software Engineering. Subsequently the proposal was also discussed in the Faculty of Engineering .We have documented
all the received feedback (including the recommendations of the industry advisory board) which is available on request.
Goals of the programme
Our overall aim is to educate software engineers in a research-rich environment to apply knowledge and skills to the
creation of dependable and quality software-based systems.
Graduate profile
The learning objectives for students finishing the SE programme are:
 Develop knowledge and skills essential to start a career in software engineering, including the ability to work as
part of and lead teams.
 Develop skills of inquiry, and critical and analytical evaluation.
 Develop an ability to pursue life-long learning.
 Develop an understanding of the role of engineering and the impact of software and software-based systems in a
global society
Our planned learning outcomes define the graduate profile and are derived from (but not identical to) the student
outcomes defined in the ACM/IEEE software engineering curriculum guidelines, which are a widely accepted standard
for software engineering programmes. We furthermore have ensured that all engineering graduate capabilities proposed
by IPENZ in 2003 (IPENZ “Requirements for Initial Academic Education for Professional Engineers”, December 2003),
are appropriately covered. The learning outcomes are:
1. Show mastery of the software engineering knowledge and skills, and professional issues necessary to begin
practice as a software engineer.
2. Design, implement and judge appropriate solutions in one or more application domains.
3. Demonstrate an understanding of and apply current theories, models, tools, and techniques that provide a basis for
problem identification and analysis, software design, development, implementation, verification, and
documentation.
4. Reconcile conflicting project objectives, finding acceptable compromises within limitations of cost, time,
knowledge, existing systems, and organizations.
5. Know, comprehend, appreciate and take into consideration ethical, social, legal, cultural (which in New Zealand
specifically encompasses the Treaty of Waitangi), and economic concerns in the design, development and
deployment of software artefacts.
6. Learn new models, techniques, and technologies as they emerge, to judge objectively and critically their
2
(08) UC/12 BE(Hons)/1
suitability for different tasks and appreciate the necessity of such continuing professional development.
7. Work as an individual and as part of a team to develop and deliver dependable and quality software artifacts.
8. Be able to communicate ideas, designs, outcomes or risks clearly and effectively.
9. Demonstrate an understanding and appreciation for the importance of negotiation, effective work habits,
leadership, and good communication with stakeholders in a typical software development environment.
10. Understand the role of engineers and their responsibility to society by demonstrating an understanding of the
general responsibilities of a professional engineer.
Outcome statement
Software engineering graduates will have core software engineering and computer science skills, including design, project
management, and communication. In addition, graduates will have practical work experience and first aid skills to help
them apply their knowledge effectively in the context of being a professional engineer. They will also have developed
skills that enable them to be life-long learners.
Programme overview
We follow the common structure of all engineering programmes at the University of Canterbury in that students first enter
the intermediate year and then subsequently three professional years, each of which requires students to pass courses with
120 points. The entry requirements for the intermediate year are the same as the general entry requirements for all
engineering students. There is a limitation of entry of 30 students per year. In addition, students have to complete the nonacademic requirements for engineering students (compare http://www.engf.canterbury.ac.nz/practical/):
 A minimum of 800 hours (100 days) of work in industry in a software-engineering related role
 Two written reports describing the performed work and the roles observed
 First aid certificate
 Workshop training course
An important feature of the proposed curriculum is that students have to go through three significant projects, including
two whole-year projects. The first whole-year project (in the second professional year) is a project with focus on group
work and interaction with stakeholders (including customers), the second whole-year project (in the third professional
year) is a capstone project in which students are expected to apply essentially all of the software engineering skills
obtained during their studies, and develop creative solutions to a complex software engineering problem.
Proposed new regulations and prescriptions (use the Calendar Form at the end of Section A)
Proposed teaching/delivery methods
One of the distinctive properties of the proposed programme is the strong emphasis on project work, engaging students in
one half-year and two whole-year projects, one with particular emphasis on group work and the second being a 3rd pro
capstone project.
The department has close links with industry, and will use guest lecturers from local companies to provide direct input to
the courses.
All lectures and labs will be delivered on-campus. First aid and practical work experience will be administered in the
same way as in the other BE(Hons) disciplines.
Assessment procedures
Most of the courses, except the new courses SENG 202, SENG 402, and the 3rd pro advanced software engineering
courses are already offered, and hence their assessment regime is well established.
SENG 202 is a half-year, 15 point project course. Its assessment includes two written project submissions (worth 70% in
total, the first report addressing requirements analysis, design and development of a prototype, the second report
addressing development of the first prototype into a final product), a project presentation (10%), and a final report (20%).
SENG 402 is a whole-year, 30 point capstone project. Its assessment includes two written project submissions (worth
70% in total, the first report focuses on analysing a complex software engineering problem and evaluating potential
solutions, the second report focuses on experiences in developing prototype solutions and on experiences made with other
aspects of the project, for example changes in requirements), a project presentation (10%) and a final report (20%).
Predicted student numbers/EFTS
3
(08) UC/12 BE(Hons)/1
From the discussions at our advisory board, the main limiting factor is likely to be practical work experience placements.
The board had estimated 20 students placements per year would be possible based on the demand they were aware of,
although since then further interest from companies has indicated that 20 is too pessimistic. Based on these discussions,
the number of students is expected to initially be limited to 30 per year, that is, potentially 120 extra over the 4 year
degree. This limit also reflects the experiences of introducing Computer Engineering and Mechatronics.
Some of the “new” students may have otherwise chosen to take a computer science degree instead, but conversely, the
degree is expected to attract more students, and those who are not accepted for the limited group are likely to join the
Computer Science degree instead.
The programme will be phased over three years. The intermediate courses are already available and some students from
2012 will be eligible to enrol in 1st pro Software Engineering in 2013. 2nd pro will be introduced in 2014, and 3rd pro in
2015.
Resources





Physical facilities: additional lab space is needed to accommodate student projects, otherwise additional rooms
are not required.
There will a growth in demand for equipment and computational facilities (computers, network capacity, backup
facilities etc.) to accommodate additional students.
To cover the courses SENG 201, SENG 301, and SENG 401, the projects SENG 202, SENG 302, and SENG 402
and the three planned 400-level selective advanced lectures on advanced software engineering topics, we propose
to appoint three new continuing academic staff members, two at the level of lecturers or senior lecturers, and one
at a more senior level, at least associate professor (who would also act as Director of Studies). Ideally, these
persons also have relevant industrial experience in addition to their academic qualifications. The appointments
would be made gradually as the new courses are phased in; ultimately the new programme will generate an
estimated 90 extra EFTs once it is fully phased in, and hiring three extra staff would correspond to a staff:student
ratio of 1:30.
Places for practical work experience of students
Library resources: no new journals are needed. We propose to review the departmental library budget to
accommodate an increased need of textbooks related to software engineering.
Plans for monitoring programme quality
The quality of the programme will be monitored in a number of ways:





The quality of the individual courses will be monitored through established processes, including teaching and
course surveys run by CEM, and regular feedback sessions with class representatives. Results will be monitored,
reviewed and discussed by the faculty of Engineering and Forestry at the mid-year and end-of-year examiners
meeting process.
The programme has a strong advisory board representing four NZ companies, and regular monitoring and input
from this group will help to keep the courses up to date.
The programme will be reviewed in the regular departmental review process, which will include regular
discussions with the industry advisory board, and which will also include representatives from IPENZ.
We will seek IPENZ and NZCS accreditation, establishing that our programme is recognized under the rules of
the Seoul and the Washington accord.
Reviews will take place every 5 years as part of the normal UC review, and IPENZ Accreditation review process.
A GYR will also be undertaken at the appropriate time.
Calendar Form
New Qualification Regulations
Changes to the general BE(Hons) degree regulations page 154 2012 calendar:
Regulation 3 Engineering Disciplines:
add “Software Engineering” to the list of programmes
4
(08) UC/12 BE(Hons)/1
13 Intermediate Examination
The Programme of Study shall consist of:
(a) All courses in Schedule A
(b) Courses from Schedule B to meet the pre-requisites of at least one engineering programme.
(c) Additional courses, where required, to ensure a workload of not less than 120 points.
(d) Subject to the approval of the Dean of Engineering and Forestry, candidates may be approved into a modified
Intermediate Year based on high achievement in NCEA or other equivalent examination, or through recognised prior
learning at another tertiary institution.
Schedule A - Compulsory for all Engineering Intermediate students
(1)
(2)
(3)
(4)
ENGR 101 Foundations of Engineering
EMTH 118 Engineering Mathematics 1A
EMTH 119 Engineering Mathematics 1B
PHYS 101 Engineering Physics A: Mechanics, Waves and Thermal Physics
Schedule B - Engineering specialisations
Chemical and Process Engineering
(1) CHEM 111 General Chemistry A
(2) EMTH171 Mathematical Modelling & Computation
Civil Engineering, Forest Engineering and Natural Resources Engineering
(1) CHEM 111 General Chemistry A
(2) EMTH171 Mathematical Modelling & Computation
(3) ENGR 102 Engineering Mechanics and Materials
Computer Engineering and Electrical and Electronic Engineering
(1) COSC 121 Computer Science 1A
(2) Either EMTH171 Mathematical Modelling & Computation, or MATH120 Discrete Mathematics
(3) PHYS 102 Engineering Physics B: Electromagnetism, Modern Physics and "How Things Work"
Mechanical Engineering
(1) Either CHEM114 Introductory Chemistry or CHEM111 General Chemistry 1A
(2) EMTH171 Mathematical Modelling & Computation
(3) ENGR102 Engineering Mechanics and Materials
At least one of:
(1) COSC121 Computer Science 1A
(2) PHYS102 Engineering Physics 2: Electromagnetism, Modern Physics and "How Things Work"
Mechatronics Engineering
(1) COSC 121 Computer Science 1A
(2) PHYS 102 Engineering Physics B: Electromagnetism, Modern Physics and "How Things Work"
(3) ENGR 102 Engineering Mechanics and Materials
Software Engineering
(1) COSC 121: Introduction to Computer Programming
(2) COSC 122: Introduction to Computer Science
(3) MATH 120: Discrete Mathematics
Notes:
Each of the Engineering Intermediate Courses is a prerequisite for the Engineering First Professional Examination.
Introductory courses (MATH 101 and PHYS 111) will not be considered for credit towards the BE(Hons) Intermediate
Year.
Restricted Credit
A candidate may enquire from the Dean of Engineering and Forestry as to the Faculty Guideline on the application of
restricted credit as described in the General Course and Examination Regulations.
Add to regulation
Software Engineering
5
(08) UC/12 BE(Hons)/1
First Professional Year Examination
(subject to UNZ CUAP approval)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
SENG 201: Software Engineering I
SENG 202: Software Engineering Project
COSC 261: Foundations of Computer Science
COSC 262: Algorithms
COSC 265: Relational Database Systems
ENCE 260: Computer Systems
Sufficient courses selected from schedules A and B below. Courses selection must include at least one course
from schedule A.
Schedule A
(a) EMTH 210: Engineering Mathematics 2
(b) MATH 220: Discrete Mathematics and Cryptography
Schedule B
(a) COSC264 Data Communications and Networking
(b) EMTH211 Engineering Linear Algebra and Statistics
(c) MATH230 Logic, Automata, and Computability
Second Professional Year Examination
(subject to UNZ CUAP approval)
(1)
(2)
(3)
(4)
(5)
(6)
SENG 301: Software Engineering II
SENG 302: Software Engineering Group Project
SENG 365: Web computing architectures
COSC 368: Humans and computers
ENEL 301: Design and management
Sufficient courses selected from:
(a) COSC 362: Network and Data Security
(b) COSC 363: Computer Graphics
(c) COSC 364: Internet Technology and Engineering
(d) COSC 367: Computational Intelligence
(e) ENCE 360: Operating Systems
(f) ENCE 361: Embedded Systems I
(g) ENCE 362: Digital Electronics I
(h) Any 15 point 300-level option to be approved by the Director of Studies
Third Professional Year Examination
(subject to UNZ CUAP approval)
(1)
(2)
(3)
(4)
SENG 401: Advanced object-oriented design
SENG 402: Software Engineering Research project
COSC 424: Secure Software
Sufficient 400-level courses selected from COSC, SENG and ENCE approved by the Director of Studies
Course Catalogue entry
Software Engineering
Department of Computer Science and Software Engineering
SENG 201 Software Engineering I
15 Points 0.1250 EFTS
This course will provide students with an understanding of An introduction to the tools and techniques of software engineering.
Topics covered include statically typed programming, object-oriented design, the Unified Modelling Language, collections, and testdriven development.
P: (1) COSC 121; (2) COSC 122; (3) 15 points from Mathematics, Statistics, Engineering Mathematics or MSCI 110. MATH 101 is not
acceptable. MATH 120/STAT 101 are strongly recommended.
R: COSC 263, COSC 324
6
(08) UC/12 BE(Hons)/1
SENG201-13S1 (C) Semester 1
SENG 202 Software Engineering Project Workshop
15 Points 0.1250 EFTS
The Software Engineering Project Workshop gives students in-depth experience in developing software applications using modern
techniques. Participants work either individually or in small groups to develop a medium-complexity application. At the end of this
course they will have practised the fundamental skills required to develop software systems using modern tools, practices and
development environments..
P: SENG 201; or subject to approval by Dean of Engineering and Forestry
SENG202-13S2 (C) Semester 2
SENG 301 Software Engineering II
15 Points 0.1250 EFTS
P: COSC 263 and (COSC 261 or (ACIS /INFO 203 and ACIS/ INFO 213)).
R: COSC 324, COSC 314
SENG301-13S1 (C) Semester 1
SENG 302 Software Engineering Group Project
30 Points 0.2500 EFTS
The Software Engineering group project gives students in-depth experience in developing software applications in groups.
Participants work in small groups (typically six students) to develop a complex real application. At the end of this course you will
have practiced the skills required to be a Software Engineer in the real world, including gaining the required skills to be able to
develop complex applications, dealing with vague (and often conflicting) customer requirements, working under pressure and being
a valuable member of a software development team.
P: COSC 263 and (COSC 261 or (ACIS /INFO 203 and ACIS/ INFO 213)).
R: COSC 325, COSC 314
SENG302-13W (C) Whole Year (S1 and S2)
SENG 365 Web Computing Architectures
15 Points 0.1250 EFTS
This course introduces the fundamental concepts and techniques for developing applications that are delivered via the world wide
web. Students will gain practical experience in developing software using a variety of current web application platforms, and will
gain an understanding of the technical details of the underlying frameworks used and their implications when producing complex
web-based software systems.
P: COSC 265 or (INFO 203 and INFO/ACIS 233).
R: COSC 365
SENG365-13S2 (C) Semester 2
SENG 402 Software Engineering Research Project
0.2500 EFTS
The Software Engineering research project gives students in-depth experience in researching complex, open-ended Software
Engineering problems, and developing and evaluating potential solutions. Participants work individually to investigate and develop
solutions for a complex real-world problem. At the end of this course you will have practiced the skills required to be a senior
Software Engineer, capable of leading a team of engineers to develop solutions for complex problems involving the development of
substantial software solutions of significant complexity. You will also be comfortable with dealing with vague (and often conflicting)
customer requirements, working under pressure and providing technical leadership.
P: SENG 301, SENG 302
SENG402-13W (C) Whole Year (S1 and S2)
7
Download