1. Page 1
    2. Page 2
    3. Page 3
    4. Page 4
    5. Page 5
    6. Page 6

 
S.97-2
(formerly S.96-73a)
k
F_.^
?
SIMON FRASER UNIVERSITY
OFFICE OF THE VICE-PRESIDENT, ACADEMIC
?
MEMORANDUM
To: ?
Senate
7,2
From: ?
D. Gagan, Chair
Senate Committee on Academic Planning
Subject: ?
Faculty of Applied Sciences -
Curriculum revision
Date: ?
December 11, 1996
Action undertaken by the Senate Committee on Undergraduate Studies and the
Senate Committee on Academic Planning gives rise to the following motion:
Motion:
• ?
"that Senate approve and recommend approval to the Board of
Governors, the new Specialist Program in Software Engineering
as set forth in S.97-2
0

 
0 ?
A Proposal for Specialist Program in Software Engineering
What Is a Specialist Program?
A
specialist program is
essentially an extended major program. Two specialist programs, in
Software Engineering and Multimedia Computing, are being proposed. The B.Sc. degree (as well
as the B.A. degree) with a major in Computing Science will continue to exist. They will be called
the
general program,
as distinguished from the specialist program. The differences between the
two are as follows:
1.
A specialist program has at least all lower division course requirements as the general
program. In case of Multimedia Computing, there are additional lower division course
requirements due to its multidisciplinary flavor.
2.
A specialist program has a separate list of required/elective upper division courses, in lieu of
current depth and breadth requirements of the general program.
3.
The requirement of liberal arts electives remains the same for general and specialist
programs. In case of Multimedia Computing, the Contemporary Arts courses taken can be
used to fulfill this requirement.
Students in either the general program or a specialist program will graduate with a B.Sc.
(Computing Science) which is recognized in the degree diploma. They will be recognized in their
?
transcript as majors in Computing Science. For graduands of a specialist program, the name of
the specialist program will be printed on the transcript as well. In the diagram below, the
wording at the top level will be shown in the diploma and that in one of the three boxes at the
bottom level will be shown in the transcript.
B.Sc. (Computing Science)
I
or in Lomputlng ci
Specialist Program
Software Engineerir
jor
Multimedia
Specialist
in Computing
Program:
Computing
science,
?
I
I
I
IMajor in
Science
Computing
What is Software Engineering?
We define Software Engineering (SE) in a broader sense than many people do. This
encompasses the entire software development cycle, in terms of both process and techniques.
This is in line with most of the SE programs in Canadian CS departments, and what the industry
comes to expect from a university graduate in SE. Indeed, this broad-based definition is
consistent with all engineering disciplines in universities.
Why Specialist Program in Software Engineering?
It is almost universally recognized that the computer software/hardware scene is constantly
changing. What is new is that the pace of change is accelerating. These changes have
. ?
profoundly impacted the development of a software system. Five years ago, it was not
uncommon to find large teams of in-house programmers developing mainframe/dumb-terminal
applications using traditional programming languages. Now, a typical software system runs on a

 
2
PC, is equipped with an easy-to-use graphical user interface (GUI) and accesses remote
databases over the LAN/WAN. In the near future, most software systems will have to be
network-enabled over a mail/messaging/telephone system and/or the Internet. A software
developer has to understand the fundamentals of a slate of GUI, database, networking and other
system components with which his/her application must interact.
The system development process has also changed drastically. Rapid prototyping is often the
norm. Companies find it difficult to proceed with multi-year projects as it becomes next to
impossible to predict short-term changes in computer industry, and indeed, the business the
company is in.
Clearly we have to adapt our curriculum in view of the revolutionary changes in the development
of software systems. We added a course in rapid prototyping last year. This year, two new
courses are being proposed, in advanced software engineering (largely process-oriented) and
networking respectively. Without a doubt, more curriculum changes in relation to SE will be
forthcoming. It is therefore. desirable to package these related courses for update and
maintenance purposes, which is one of main reasons for establishing a specialist program in SE.
In view of an unusually large number of upper division courses on the calendar, it would be
difficult to keep track of them without a convenient packaging.
Visibility is another main reason. It would attract some prospective students who are interested
in software engineering jobs. For those students pursuing an intense study of software
engineering courses, a formal recognition as such is highly desirable.
Similar Programs in other Canadian CS departments
Many CS departments across Canada have begun to implement programs that focus on SE. Most
of these programs are implemented as options for their majors/honors programs. A specialist
program in SE was established by the CS department at Toronto in May 1995. It has already
attracted 61 students over a period of 9 months, out of a total 290 majors (i.e. Honors in the
Ontario system). University of Waterloo likewise has established an SE option in the CS
department jointly with Electrical Engineering Department. At UBC, the CS department is actively
recruiting more faculty in SE. Continuing Studies at UBC has been offering a certificate program
inSE for several years. Computing Science department at University of Alberta has just
introduced three SE courses. The CS department in University of Calgary are looking for 4 faculty
members in various areas of SE in support of their NSERC industrial chair in SE. The list goes on.
Software Engineering at SFU
In this School, there have been talks from time to time about establishing a 4004evelcourse in SE.
We made SE as the top area for recruiting faculty, but the hiring freezing has put a stop to our
recruitment efforts. It is unlikely we may have a SE faculty champion in place for at least another
year. We can no longer afford doing nothing in the area of SE. While Engineering Science at SFU
is not yet in the position to offer their own software engineering option, other BC universities will,
notably the new Technical University of BC which is actively looking for unique degree programs
to offer. To deliberate our SE strategies, a UCC sub-committee was set up for this purpose. We
have also consulted Wolfgang Strigel, the head of Software Productivity Centre, and his
colleagues Geoff Flamank and Kai Toth on SE curriculum issues.
The first priority of the Subcommittee is a full-fledged degree program in software engineering
funded by new monies from the University and/or the Province. This will be jointly offered by the
Schools of Computing Science and Engineering Science. Unfortunately, this is not an immediately
achievable goal, especially under the current fiscal climate. There is also the question of
obtaining provincial approval for such a new degree program. Under these circumstances, the

 
S
??
committee recommend that while we should proceed immediately with a plan to pursue a full-
?
fledged SE program with joint CS and ES participation, we should consider a short-term, more
modest action-plan, which does not entail a major relocation of resources within CS. This plan
includes an addition of a 400-level course in SE and establishment of a specialist program in SE,
which is focused on software, particularly systems-level software. A new networking course is
being introduced at the same time, which will provide a good understanding of various aspects
of modern networking applications, such as messaging systems and security. Incidentally, the
CS Industrial Advisory Board has strongly recommended the establishment of this course.
Program Requirements (Upper Division):
At least 45 semester hours of CMPT upper division courses, which should include the CMPT
required/elective courses and ENSC 351
Principles for selecting courses on the
required/elective
lists
• By the very definition of a specialist program, it should focus on its specialty and not be wide
open. In the context of a software engineering specialist program, this implies that the
required courses and electives must be limited to those which are directly related to the
entire software development cycle, in terms of both process and technique. This is in
accordance with one of the prime motivations of the program: visibility.
• On the process side, courses that are directly directed to SE are those which emphasize on
SE methodologies and process.
• On the technique side, courses that are directly related to SE are those which provide basic
S ?
fundamentals of modern software systems/components that applications program must
?
interact (i.e. operating system and middle-layer system). In particular:
• System-oriented courses are preferred. That is, courses that emphasize on the
understanding of how the whole system works are more suitable than those which
emphasize on design of a particular set of algorithm(s) that belong to some narrow
aspects of the system.
• Broadly based courses are preferred, in comparison with more specialized courses
in the same area.
Required
Courses (7):
CMPT 300-3 Operating Systems I
CMPT 307-3 Data Structures and Algorithms
CMPT 320-3 Social Implications of a Computerized Society
CMPT 354-3 Database Systems I
CMPT 363-3 User Interface Design
CMPT 371-3 Data Communications and Networking
CMPT 475-3 Software Engineering II (New Course)
At least five of the following electives: (at least 3 must be at 400 level)
CMPT 301-3 Information System Management
CMPT 370-3 Information System Design
CMPT 379-3 Principles of Compiler Design
CMPT 383-3 Comparative Programming Languages
S ?
CMPT 401-3 Operating Systems II
CMPT 402-3 Operating System Software Laboratory
CM PT 454-3 Database Systems II

 
CMPT 470-3 Advanced Application Development Tools
CMPT 471-3 Networking II (New Course)
CMPT 487-3 Software Engineering Tools and Environments
ENSC 351-4 Real Time and Embedded Systems
0

 
5
JJLO5
Simon Fraser University
• ?
School of Engineering Science
MEMORANDUM
TO: ?
Wo-Shun Luk, Director
School of Computing Science
FROM: ?
Albert M. Leung, Director
School of Engineering Science
?
i
DATE: ?
July 4, 1996
?
-
SUBJECT: ?
Proposal for Specialist Program in Software Engineering
I am writing to indicate our strong support of the proposed Specialist Program in Software
Engineering. I believe this program is of significant interest to local industry, and can prepare
many students for an exciting career.
Software Engineering is an area in which Computing Science and Engineering Science have a lot
• ?
in common, both in interest and expertise. In addition to Professor John Dill, who is currently
working with your group in the design of this new program, there are several others here who are
also very interested in this initiative. I hope our collaboration will continue to grow and would
like to see a strong Software Engineering Program mature in a few years time as a result of the
joint effort of the two schools.
cc: ?
John Dill
AML: Ics

Back to top