[comp.software-eng] MS in Software Engineering

rob@gatech.edu (Rob McCurley) (04/13/88)

Recent discussions in this newsgroup have considered the question of
what should be taught to students in undergraduate or PhD programs in
computer science and software engineering.  I'm currently pondering a
related question: what should be taught to students in an MS in
Software Engineering (MSSE) program?  Here's a few specific questions
to get the ball rolling:

1) In the spectrum ranging from vocational to theoretical education
(if such a spectrum exists), where should an MSSE program lie?

2) What should the incoming/outgoing student know about the
following areas:

programming languages
programming methodologies
compiler technology
mangement techniques
software cost calculation
technical writing
program specification and verification

3) What areas are missing from the above list?

Any opinions?

Rob McCurley
School of Information & Computer Science, Georgia Tech, Atlanta GA 30332
uucp:	...!{decvax,hplabs,ihnp4,linus,rutgers}!gatech!rob
Internet:	rob@gatech.edu
-- 
Rob McCurley
School of Information & Computer Science, Georgia Tech, Atlanta GA 30332
uucp:	...!{decvax,hplabs,ihnp4,linus,rutgers}!gatech!rob
Internet:	rob@gatech.edu

maa@sei.cmu.edu (Mark Ardis) (04/13/88)

I have too much to say to include in one response, so I will start by
pointing to some papers.  The now-defunct Wang Institute of Graduate
Studies had a Master of Software Engineering (MSE) program for seven
years.  I wrote an article describing some of the attributes of the
program:

	The Evolution of Wang Institute's MSE Program
	Mark A. Ardis
	IEEE Trans. on Software Engineering SE-13 (11)
	November 1987.

The rest of that issue of IEEE TSE contains other interesting articles
on software engineering education.

The Education Program of the Software Engineering Institute (SEI) has
been developing curriculum guidelines for an MSE program.  We recently
held a workshop to define a set of required courses.  A report will be
distributed at the second annual SEI Conference on Software
Engineering Education (April 28 and 29 at the Holiday Inn -- Fair Oaks
in Fairfax, VA).

The workshop produced descriptions of six required courses for an MSE
degree:

	Software Systems Engineering,
	Specification of Software Systems,
	Principles and Applications of Software Design,
	Software Generation and Regeneration,
	Software Verification and Validation, and
	Software Project Management.

For each course we listed topics and subtopics, noted the educational
objective of each topic, cited principal references, described
useful exercises and discussed other teaching concerns.

An earlier report from the SEI describes the topics and educational
objectives in more detail:

	Software Engineering Education: An Interim Report from the
		Software Engineering Institute
	Gary Ford, Norman Gibbs, and James Tomayko
	Technical Report CMU/SEI-87-TR-8, May 1987.

If you want a copy of this report please write to:

	Information Management
	Software Engineering Institute
	Carnegie Mellon University
	Pittsburgh, PA 15213

Be sure to include either a self-addressed envelope or label.  The
workshop report will not be available until after the conference, so
please do not request it now.

I am sorry this looks too much like an ad, but a lot of good work is
described in these papers.  For example, we spent a lot of time at
Wang Institute developing and polishing our curriculum, and we spent
even more time developing a rich support environment to make it
effective.  I tried to summarize that experience in my paper, though I
am sure I have not adequately described it.  Another example is the
first report from the SEI on software engineering education, which
acknowledges the efforts of 65 scientists and educators who
contributed to its preparation.

Mark A. Ardis
Software Engineering Institute
Carnegie-Mellon University
Pittsburgh, PA 15213
(412) 268-7636
maa@sei.cmu.edu

leem@jplpro.JPL.NASA.GOV (Lee Mellinger) (04/14/88)

In article <17063@gatech.edu> rob@gatech.UUCP (Rob McCurley) writes:
|
|Recent discussions in this newsgroup have considered the question of
|what should be taught to students in undergraduate or PhD programs in
|computer science and software engineering.  I'm currently pondering a
|related question: what should be taught to students in an MS in
|Software Engineering (MSSE) program?  Here's a few specific questions
|to get the ball rolling:
|
|2) What should the incoming/outgoing student know about the
|following areas:
|programming languages
|programming methodologies
|compiler technology
|mangement techniques
|software cost calculation
|technical writing
|program specification and verification
|3) What areas are missing from the above list?
                   ^^^^^^^
|Rob McCurley

You left out Verification and Validation, Integration and Testing, and
Quality Assurance, then again we who practice Test Engineering are used
to being left out by both academia and management :-).

Lee

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|Lee F. Mellinger                         Jet Propulsion Laboratory - NASA|
|4800 Oak Grove Drive, Pasadena, CA 91109 818/393-0516  FTS 977-0516      |
|-------------------------------------------------------------------------|
|UUCP: {ames!cit-vax,psivax}!elroy!jpl-devvax!jplpro!leem                 |
|ARPA: jplpro!leem!@cit-vax.ARPA -or- leem@jplpro.JPL.NASA.GOV            |
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

g-rh@cca.CCA.COM (Richard Harter) (04/14/88)

In article <17063@gatech.edu> rob@gatech.UUCP (Rob McCurley) writes:

>Recent discussions in this newsgroup have considered the question of
>what should be taught to students in undergraduate or PhD programs in
>computer science and software engineering.  I'm currently pondering a
>related question: what should be taught to students in an MS in
>Software Engineering (MSSE) program?  Here's a few specific questions
>to get the ball rolling:

>1) In the spectrum ranging from vocational to theoretical education
>(if such a spectrum exists), where should an MSSE program lie?

	The vocational/theoretical disjunction is a little misleading.
I would say that a master's program should be aimed at producing someone
who is a master practioner.  This requires a knowledge both of theory and
practice.


>2) What should the incoming/outgoing student know about the
>following areas:

>programming languages

	The usual -- one should have a working acquaintance with half
a dozen languages, with a knowledge of several based on a variety of
principles.  Sampler:  Lisp, Ada, C, Fortran, Snobol, APL.  Just as
important as knowing languages is knowing how they work, the assumptions
made, and the organizing principles around which they are built.  The
above list should also include a couple of more modern, high level languages.
In practice one often ends up creating special purpose languages.  There
should be a fair bit on this.

>programming methodologies

	Unfortunately, this probably belongs in the School of Theology.
There are a number of schools among people who write about programming
methodology.  The relevance of their writings to practice is mostly
unknown.

>compiler technology

	An over rated field in Academia.  The average SE should know
what a compiler does to the HLL that goes in and what sort of stuff is
likely to come out.  As noted above, however, special purpose languages
are quite common, and one should have a knowledge of interpreter technology.

>management techniques

	This is important.  I would focus on what the responsibilities
and functions of middle management are.  

>software cost calculation

	This can be taught??

>technical writing

	This area is often dealt with in terms of trying to teach people
how to be technical writers.  Think in terms of knowing what is required,
and criteria for evaluation of documentation.  

>program specification and verification

>3) What areas are missing from the above list?

3.1	Configuration management.

3.2	Quality Assurance

3.3	Operating system architecture

3.4	Operating system technology

3.5	Algorithm design and analysis

3.6	General systems theory

3.7	Architecture of software systems
	
	Let me expand on the this one.  If you are going to create a large
system, you need an over all picture of how that system works and how the
pieces are going to fit together.  You don't have to invent the design
de novo.  
-- 

In the fields of Hell where the grass grows high
Are the graves of dreams allowed to die.
	Richard Harter, SMDS  Inc.

chip@pedsga.UUCP (04/14/88)

In article <17063@gatech.edu> rob@gatech.UUCP (Rob McCurley) writes:
>
>Recent discussions in this newsgroup have considered the question of
>what should be taught to students in undergraduate or PhD programs in
>computer science and software engineering.  I'm currently pondering a
>related question: what should be taught to students in an MS in
>Software Engineering (MSSE) program?  Here's a few specific questions
>to get the ball rolling:
>
>1) In the spectrum ranging from vocational to theoretical education
>(if such a spectrum exists), where should an MSSE program lie?
>
>2) What should the incoming/outgoing student know about the
>following areas:
>
>programming languages
>programming methodologies
>compiler technology
>mangement techniques
>software cost calculation
>technical writing
>program specification and verification
>
>3) What areas are missing from the above list?

I am currently in the M.S. Software Engineering program at Monmouth
College (where?) and would like to describe the curriculum.  As far
as I know, it is one of only 2 or 3 MSSE programs in the country.

The curriculum will change this Fall.  Originally it was comprised
of 10 required courses.  Now there are 6 requred core courses and
4 electives (out of 8).

Core Courses:

1. Math Foundations I
2. Software Engineering I
3. Programming-in-the-large
4. Network Design
5. Project Management
6. System Project Implementation

Electives:

1. Math Foundations II
2. Computer Architecture
3. Database Management
4. Programming Languages
5. Programming-in-the-small
6. Operating Systems Implementation
7. Special Topics
8. Protocol Engineering

The program seems geared for the 3 largest employers in the county, AT&T,
Fort Monmouth and Concurrent as most of the students work at either of these
3 places.  Outside instructors are usually AT&T or Bell Labs employees.

My impression:

	Not bad.  It is a relatively new program and is suffering from
the throes of infancy (new teachers, changing curriculum, etc).   There
will be a new department chairman this fall.  The old one was the biggest
dolt on two legs (not just a personal biased opinion, but the opinion of 
everyone else in the program too).

	Its relatively expensive at $1200/course.  I can't say I would
take it if it wasn't for company reimbursement.


-- 
         Chip ("My grandmother called me Charles once. ONCE!!") Maurer
     Concurrent Computer Corporation, Tinton Falls, NJ 07724 (201)758-7361
        uucp: {mtune|purdue|rutgers|princeton|encore}!petsd!pedsga!chip
                       arpa: pedsga!chip@UXC.CSO.UIUC.EDU

sullivan@vsi.UUCP (Michael T Sullivan) (04/20/88)

In article <541@pedsga.UUCP>, chip@pedsga.UUCP writes:
>
> I am currently in the M.S. Software Engineering program at Monmouth
> College (where?) and would like to describe the curriculum.  As far
> as I know, it is one of only 2 or 3 MSSE programs in the country.

Where are the others?  I am curious.

> Core Courses:
> 
> 1. Math Foundations I
> ...
> Electives:
> 
> 1. Math Foundations II

Here is where I start to lose interest...

MUNCH
MUNCH
YUM
YUM

-- 
Michael Sullivan		{uunet|attmail}!vsi!sullivan
				sullivan@vsi.com
HE V MTL

johns@gvgpsa.GVG.TEK.COM (John C. Schultheiss) (04/21/88)

In article <541@pedsga.UUCP>  chip@pedsga.UUCP (Chip Maurer,7361) writes:

>I am currently in the M.S. Software Engineering program at Monmouth
>College (where?) and would like to describe the curriculum.  As far
>as I know, it is one of only 2 or 3 MSSE programs in the country.

So, this brings up an interesting question: where are the MS Software
Engineering programs in the country?  Inquiring minds want to know.
Seriously, I would like to know which colleges/universities in the U.S.
currently have MS Software engineering programs, and any other information
about such programs that you'd care to tell me.  Anybody else want to
know this?  Post or e-mail;  I'll post a summary of potentially useful info
which I receive.

weh@sei.cmu.edu (Bill Hefley) (04/21/88)

In article <881@gvgpsa.GVG.TEK.COM> you write:
>
>So, this brings up an interesting question: where are the MS Software
>Engineering programs in the country?  Inquiring minds want to know.
>Seriously, I would like to know which colleges/universities in the U.S.
>currently have MS Software engineering programs, and any other information
>about such programs that you'd care to tell me.  Anybody else want to
>know this?  Post or e-mail;  I'll post a summary of potentially useful info
>which I receive.

Some time ago, Dr. Mark Ardis of the Education Program here at the Software
Engineering Institute posted a description of some of the work going on here
to define a standard basis for the Master of Software Engineering curriculum.

Another effort that has been completed by the Software Engineering
Institute's Education program folks (most specifically Albert Johnson) is a 
directory of Software Engineering programs.

I believe that copies are available by contacting the SEI Operations Center
(ops@sei.cmu.edu) or Allison Brunvand (arb@sei.cmu.edu).

   ____    ______   _____      _____=====        Bill Hefley
  / __ \  | _____| |_   _|   _____=========	 Software Engrg Institute
 | |__|_| | |__      | |   _____=============	 Carnegie Mellon 
 _\___ \  |  __|     | | _____=================  Pittsburgh, PA 15213
 | |__| | | |____   _| |_  _____=============	 (412) 268-7793
  \____/  |______| |_____|   _____=========	 ARPA:   weh@sei.cmu.edu
			       -----=====        BITNET: weh%sei.cmu.edu
                                                 CSNET:  weh%sei.cmu.edu@
                                                         relay.cs.net
 C a r n e g i e   M e l l o n  U n i v e r s i t y

+---------------------------- Disclaimer -------------------------------+
|  The views expressed herein are my own and do not necessarily reflect |
|                        those of my employer.                          |
+-----------------------------------------------------------------------+

hwc@sigma.UUCP (wah Chan) (04/22/88)

In article <569@vsi.UUCP> sullivan@vsi.UUCP (Michael T Sullivan) writes:
>In article <541@pedsga.UUCP>, chip@pedsga.UUCP writes:
>>
>> I am currently in the M.S. Software Engineering program at Monmouth
>> College (where?) and would like to describe the curriculum.  As far
>> as I know, it is one of only 2 or 3 MSSE programs in the country.
>
>Where are the others?  I am curious.
>

The Seattle University has a MSSE program since 1979.  As a matter of
fact, I am one the first graduate from that program (Class of 1982).
We have similar curriculum as the MSSE program at Monmouth College.
To enter the program, one needs a BS and at least two years working
experience in computer related field.  Most of the students are also
working full-time.  It is a three-year program.  The first two years 
we have to take the basic SE courses.  In the third year, we have to do a
team project with 3-5 students per team.  Many local companies are
willing to sponsor team projects to take advantage of the cheap labor.
Working on this team project is just like taking up another full time job. 
( I have to break up with my SO during that year, but that is another story. )

Anyway, I think the MSSE is a good program. (Are you reading this, Dr. Lee ?)
I had learned lots of new techniques, met many interesting people, and
most of all, found a better job after getting the MS degree.


-- 
Honwah Chan 	{ihnp4,decvax,allegra,...}!uw-beaver!tikal!sigma!hwc

wlp@calmasd.GE.COM (Walter L. Peterson, Jr.) (04/22/88)

In article <569@vsi.UUCP>, sullivan@vsi.UUCP (Michael T Sullivan) writes:
> In article <541@pedsga.UUCP>, chip@pedsga.UUCP writes:
> >
> > I am currently in the M.S. Software Engineering program at Monmouth
> > College (where?) and would like to describe the curriculum.  As far
> > as I know, it is one of only 2 or 3 MSSE programs in the country.
> 
> Where are the others?  I am curious.
> 


1. Wang Institute, Tyngsboro, MA (although I had heard rumors that
that program might be terminated )


2. National University, San Diego, CA ( a 12 course program which
requires that students participate in the development of a non-trivial
software project )


3. West Coast University, LA & San Diego, CA ( this is actually an
MSCS, but one of the several different emphases available is a three
course 'capstone' sequence in software engineering ).
-- 
Walt Peterson   GE-Calma San Diego R&D
"The opinions expressed here are my own and do not necessarily reflect those
GE, GE-Calma nor anyone else.
...{ucbvax|decvax}!sdcsvax!calmasd!wlp        wlp@calmasd.GE.COM