Southern Polytechnic's Masters of Science in Software Engineering

Course Requirements                           Masters in Computer Science/Software Engineering Course Equivalence
Course Descriptions                           Key Contacts              Home

Admission Requirements:

Work Experience
The Masters degree is designed for students who already have at least two year's experience in software development and/or maintenance. One of the following must be met for a student to be fully admitted to the MSSE program at Southern Polytechnic State University:

Basic
Undergraduate GPA of 3.0 or better (out of 4.0 possible) or the Equivalent, and a score of 600 or better on the analytic component or the quantitative component of the General Test of the GRE with 500 or better on the other and 350 or better on the verbal component. (A composite score of 500 on the GMAT may be submitted to meet this requirement if it was already taken before beginning the MS admission process.)

Advanced
The candidate for admission has already earned a recognized master's or doctor's degree in another field of study. GRE is not required, if an advanced degree has already been completed in the United States.

Alternative
A student not meeting criteria I or II above may be admitted upon convincing the faculty of the CS Department of extraordinary alternative qualifications (e.g., lengthy, distinguished employment in the computer field) that would predict the likelihood of success in completing the MSSE program.
If you have not completed a degree in the U.S. that includes English composition: an overall TOEFL score of 550 (in addition to the requirement of 50 or above in each of the parts)

Course Requirements
The requirements are 36 semester hours of course work (60 quarter hours) as designated below. Each course is 3 semester hours (5 quarter hours). A grade of "B" or better for each course is required.

Transition Courses: (if needed; at most 6 hours [not including CS 5123 and CS 5223] may be used to meet degree requirements)
CS 5123  Advanced Programming and Data Structures 3
CS 5153 Database Systems 3
CS 5183 Object-Oriented Programming in C++M 3
CS 5223 Computer Architecture 3
CS 5243 Operating Systems 3
CS 5424  Mathematical Structures for Computer Science 4
Required Core Courses (18hours)
CS 6023 Research Methods and Presentations 3
CS 6153 Advanced Database Systems 3
SE 6623 Software Engineering I 3
SE 6633 Software Project Management 3
SE 6723  Software Engineering II 3
SE 6883 Formal Methods in Software Engineering 3
Required Electives (9 hours; one of the following tracks)

a.  Information Technology: (for Software Engineering interested in the design, development, and use of informationsystems for the managerial and operational needs of formal organizations)
SE 6683  Management Information Systems 3
and two of the following:
SE 6643 Issues in Information Management 3
SE 6743 Object-Oriented Analysis and Design 3
SE 6763  Software Metrics and Quality Management 3
b. Human-Computer Interaction: (for Software Engineers who design and implement graphical user interfaces and practice usability engineering)
SE 6343  User Interface Design and Implementation 3
and two of the following:
CS 6323 Human Factors 3
CS 6353 Computer Graphics and Multimedia 3
SE 6783  Object-Oriented User Interfaces with Prototyping and Usability Engineering 3
c. Real-Time and Distributed Systems: (for Software Engineers who design and implement real-time and distributed systems)
SE 6823 Software Engineering of Real-Time Systems 3
and two of the following:
CS 6243  Advanced Concepts in Operating Systems 3
CS 6283 Real-Time Systems 3
CS 6453  Simulation and Modeling 3
Required Project:
SE 7703  Software Engineering Project 3
Electives: As needed to complete overall hour requirements; any course at the 6000-level not taken to meet a requirement above but approved by the department for MSSE.

Note: A maximum of 9 semester hours (15 quarter hours) of work from transition courses, transfer credit, or credit by experience may be counted toward the degree.

 

Masters in Computer Science/Software Engineering Course Equivalence.

Transition Courses

CS 5123    Advanced Programming and Data Structures            CS 501
CS 5153    Database Systems                                    CS 506
CS 5183    Object-Oriented Programming in C++                  CS 595
CS 5223    Computer Architecture                               CS 502
CS 5243    Operating Systems                                   CS 503
CS 5424    Mathematical Structures for Computer Science        CS 504

Core Courses
CS 6023    Research Methods and Presentations                  CS 610
CS 6153    Advanced Database Systems                           CS 615
SE 6623    Software Engineering I                              CS 620
SE 6633    Software Project Management                         None
SE 6723    Software Engineering II                             CS 640
SE 6883    Formal Methods in Software Engineering              CS 648
SE 6883    Formal Methods in Software Engineering              CS 648


Required Electives

Group A.   
SE 6683    Management Information Systems                      CS 670
SE 6643    Issues in Information Management                    CS 630
SE 6743    Object-Oriented Analysis and Design                 CS 625
SE 6763    Software Metrics and Quality Management             CS 645

Group B.  
SE 6343    User Interface Design and Implementation            None
CS 6323    Human Factors                                       CS 635
CS 6353    Computer Graphics and Multimedia                    CS 660
SE 6783    Object-Oriented User Interfaces with Prototyping    None
           and Usability Engineering    

Group C.   
SE 6823    Software Engineering of Real-Time Systems           None
CS 6243    Advanced Concepts in Operating Systems              CS 603
CS 6283    Real-Time Systems                                   CS 680
CS 6453    Simulation and Modeling                             CS 655
 

Project.
SE 7703    Software Engineering Project                        None

Others
SE 6663    Data Center Management                              CS 675
CS 6523    Artificial Intelligence                             CS 682


Course Descriptions:

SE 6343 User Interface Design and Implementation     3-0-3
Prerequisite: SE 6623
This practicum course covers the major frameworks, methods, and approaches
to designing, engineering, implementing, and testing user interfaces.  It
covers user and usability requirements gathering, task analysis,
user-interface design, coding of the user interface, and evaluation with
respect to requirements and the users' tasks.  Numerous illustrative
design and coding projects are completed throughout the term.

SE 6623 Software Engineering I       3-0-3
Prerequisite: CS 5123 or the equivalent  from undergraduate degree or work
              Experience.
This course covers the initial phases of the software-development life
cycle.  Topics include planning, requirements analysis, requirements
specification, and design.  A number of techniques for performing analysis
and design are explored and applied in a major project.

SE 6633 Software Project Management  3-0-3
Prerequisites: CS 6023 and SE 6623
Focus on organizational and technical roles in software engineering.
Emphasis on: models of software life cycle, software maturity framework,
strategies of implementing software, software process assessment, project
planning principles and tools, software configuration management, managing
software quality and usability, leadership principles, and legal issues.
A required team project combines technical and managerial techniques of
software design and development.

SE 6643 Issues in Information Management     3-0-3
This course addresses current issues relating to computers, ethics, and
social values.  Topics include computer ethics, computer crime, abuse,
social responsibility, risk analysis, computer law and cultural impact.
Library and internet research components are included, and a major
research paper is required.

SE 6663 Data Center Management       3-0-3
Issues in setting up and running a multi-user computer or data system.
Includes RFP generation, vendor selection, project planning and control
methods, backup and disaster recovery plans, site preparation, and job
scheduling. Case studies will illustrate the subject materials.


SE 6683 Management Information Systems       3-0-3
A study of the use of computer and information management systems in the
management of organizations. Includes formal characterization of
management structures, identification of information needs, and integrated
tools for providing MIS support. Major project included.

SE 6723 Software Engineering II      3-0-3
Prerequisite: SE 6623
This course covers the entire software development life-cycle.  Emphasis
is placed on advanced topics including prototyping, verification and
validation, formal methods, and quality management.  A major component is
a group project that utilizes a Computer Assisted Software Engineering
(CASE) tool to assist in the design, development, and implementation of a
system.

SE 6743 Object-Oriented Analysis and Design  3-0-3
Prerequisites: SE 6623, CS 5183 or the equivalent
This course explores the object-oriented software development process
including analysis, design, and programming. Emphasis is on the
object-oriented paradigm.

               
SE 6763 Software Metrics and Quality Management      3-0-3
Prerequisite: SE 6623
This course covers quality assessment, cost estimation, configuration
management, software performance measures, proof of correctness,
validation and verification, and management of the total quality
environment for software development.

SE 6783 Object-Oriented User Interfaces with Prototyping and Usability
Engineering    3-0-3
Prerequisites: SE 6623, CS 5183 or the equivalent
This course starts with the concept of an object-oriented (OO) user
interface (UI), proceeds to an OO analysis for the UI, and follows the
iterative steps of usability engineering to build, test, and refine
multiple small-scale UI prototypes.  Throughout the course, a
medium-to-large scale system will be developed through teams using a
combination of OO analysis, software engineering, and usability
engineering techniques.  The usability, quality, measurement, planning and
management factors of software engineering are practiced throughout the
course in the lab exercises and the team project.  A fully equipped
usability lab is utilized.

SE 6823 Software Engineering of Real-Time Systems    3-0-3
Prerequisite: SE 6623, CS 5243 or the equivalent
This course explores the software development life cycle as it applies
specifically to real-time systems.  Emphasis is on various methodologies
for functional and performance requirements, design, test and
verification, and maintenance.  A look at representative CASE tools is
also included. Team projects are required.

SE 6883 Formal Methods in Software Engineering       3-0-3
Prerequisites: CS 5424 or the equivalent, SE 6623
A study of formal specification in the software development process
including transformational development, structured algebraic
specification, and model-based (particular, Z) specification.

SE 6901-6903   Special Topics    variable credit-1 to 3 hours
Prerequisite: Consent of the department head. Special topics selected by the department.                                        
              Offered on demand basis.
                  
SE 7701-7703 Software Engineering Project    variable credit-1 to 3 hours
Prerequisite: Consent of both the department head and the project advisor
This project is designed for students wanting a professional focus to
their degree. The student works independently or as part of a designated
team under the supervision of a designated CS faculty member on a project
of practical significance in software engineering. The student will
generate a substantial final report and give a final defense of the
project. This course may be repeated, but only 3 hours may be applied
toward the degree.

CS 5123 Advanced Programming and Data Structures     3-0-3
Prerequisite: Credit for/or experience with the basic concepts of a
              higher-level programming language such as Pascal or C
This is an intensive course for graduate students with a limited
background in programming. Topics from the principles of programming
include: documentation, Pascal syntax and semantics, subprograms, arrays,
recursion, pointers, and data structure issues (lists, stacks, queues,
trees, sorting, searching) with a focus on concepts, data abstraction, and
algorithms. Programming projects are implemented in Pascal.
                       
 
CS 5153 Database Systems     3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work
              experience
This course includes an overview of various database models including
relational, object-oriented, hierarchical, and network.  It covers the
planning, analysis, design, development, and implementation of database
systems.  This is a project course where students analyze, design, and
implement a database system using a typical relational database product
such as Oracle or Paradox.

CS 5183 Object-Oriented Programming in C++   3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work
              experience
An intensive applications programming course in the C++ language focusing
on object-oriented aspects.  Topics covered include object structures,
classes, virtual functions, C++ interaction with the operating system,
problem domains, solution domains, and the C++ development environment.
The course includes both an individual research project and a group
development project.

CS 5223 Computer Architecture        3-0-3
Prerequisite: Credit for/or experience with the basic concepts of a
higher-level programming language such as Pascal or C
This is an intensive course for graduate students with a limited
background in computer architecture. Topics from the principles of
computer organization and architecture include:  number systems, digital
logic, and assembly and machine language with a focus on concepts.
Laboratory assignments are required.

CS 5243 Operating Systems    3-0-3
Prerequisites: CS 5123 and CS 5223, or the equivalent from undergraduate
degree or work experience
This is an intensive course for graduate students with a limited
background in operating systems concepts. Topics from the principles of
operating systems include: process management, real and virtual memory
management, job scheduling, management of peripherals, multiprocessing,
and file systems.


CS 5424 Mathematical Structures for Computer Science   4-0-4
Prerequisites: CS 5123 or the equivalent and an undergraduate course in
               calculus
This is an intensive course for graduate students with a limited
background in discrete mathematics. Topics include: set theory, relations
and functions, principles of counting, introductory graph theory, formal
logic, recursion, and finite state machines.

CS 6023 Research Methods and Presentations   3-0-3
Materials and methods of scholarly research in computer science. Includes
study of standard research paradigms with illustrative cases of each and
the use of research methods and presentations in industrial and business
settings.

CS 6153 Advanced Database Systems    3-0-3
Prerequisite: CS 5153 or the equivalent from undergraduate degree or work
              experience
An advanced course in database systems emphasizing design issues and
implementation tradeoffs.  It covers the theory, algorithms, and methods
that underlie distributed database management systems.  Client-server
architecture is discussed, and students use an application development
tool such as PowerBuilder.

CS 6243 Advanced Concepts in Operating Systems       3-0-3
Prerequisite: CS 5243 or the equivalent from undergraduate degree or work
              experience
Topics from the theory of operating systems including: memory management
options and management of high-performance architectures that address
concurrent, parallel, and distributed processing.

CS 6283 Real-Time Systems    3-0-3
Prerequisites: CS 5243 or the equivalent from undergraduate degree or
               Work experience
The software-development life cycle as it applies to real-time systems
Lab involve the use of a real-time operating system and an associated
development environment.  System performance issues are also discussed.
Major project included.

CS 6323 Human Factors        3-0-3
The psychological, social, and technical aspects of interaction between
humans and computers. Includes usability considerations, cognitive and
perceptual issues, human information processing, and software development
techniques for producing appropriate systems. Major project included.

CS 6353 Computer Graphics and Multimedia     3-0-3
Prerequisites: CS 5123 and CS 5223, or the equivalent from undergraduate
               degree or work experience
A study of the hardware and software of computer graphics and multimedia
systems from the programmer's perspective. Includes a survey of display
and other media technologies, special architectures for support of
graphics and multimedia systems, algorithms and data structures for
manipulation of graphical and other media objects, and consideration of
user interface design. Major project included.

CS 6453 Simulation and Modeling      3-0-3
Prerequisites: Familiarity with linear algebra and statistics and ability
               to program in a high-level language
The application of various modeling techniques to the understanding of
computer system performance. Includes analytic modeling, queuing theory,
continuous and discrete simulation methods, and the use of some software
tool such as Simscript to implement a major project..


CS 6523 Artificial Intelligence      3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work
              experience
A survey of the major issues in A.I. system development and the
methodologies associated with neural networks, expert systems, knowledge
bases, and logic programming. Case studies will be used to illustrate
material in the readings.

Application Deadlines:

Complete applications for upcoming quarters should be submitted according
to the following schedule:

November 1 for the Spring Semester
April    1 for the Summer Semester
July     1 for the Fall   Semester

A complete application consists of the application form, immunization
form, official transcripts from all colleges and universities attended,
three letters of reference, statement of purpose, GRE results, and
documentation of two full years of full-time work experience in software
development and/or maintenance.  With permission, results of other
graduate aptitude examinations (such as the GMAT) that have already been
taken may be used in place of the GRE. International applicants must also
submit a financial affidavit, educational summary, and TOEFL results.

If you have any questions, please call (678) 915-7406.  Thanks again for
your interest in our Master of Science in Software Engineering program.
                           
Key Contacts:

Sheryl L. Duggins
SE Graduate Program Coordinator and Associate Professor of Computer Science
Department of Computer Science
Southern Polytechnic State University
email: sduggins@spsu.edu

Jorge Diaz-Herrera
Head and Professor of Computer Science
Department of Computer Science
Southern Polytechnic State University
email: jdiaz@spsu.edu
Bonita Yeshurun
Administrative Assistant
Department of Computer Science
Southern Polytechnic State University
email:byeshuru@spsu.edu