Top
×

Course Details

×

Something went wrong...

×

Enter Credentials

Login:

Please enter your Computing Sciences username/password

Username:
Password:
×

Enter Required Information

Account Lookup:

Please enter your information

Last Name:
University Email Address:
University R Number:

Click to Login

Master of Science in Software Engineering


The Curriculum

The Master of Science in Software Engineering (MS SE) program requires 36 graduate credits, divided as follows:

Fundamentals - Four courses, 12 credits:

SE 500, 501, 504, and 507

Advanced courses - Six courses, 18 credits:

SE 510, 524, plus four elective courses

Thesis project - Two courses, 6 credits:

SE 598, 599


Capstone Experience

Each student is required to complete a thesis project which is normally done during his/her last year in the program. A faculty member works with the student as the project advisor and at least one other faculty member must read and approve the student's thesis report. A thesis project normally involves the development of a software system and it requires the use of tools, techniques, and theory learned from previous courses. The student is required to defend his/her thesis publicly. Six credits are awarded for the thesis project via the two-semester course sequence SE 598 and SE 599.


Course Descriptions

Looking for a printer friendly version? Click here

SE 500 - Mathematics for Software Engineering

Prerequisites:Admission to the program
Corequisites:None
Credits:3cr

This course introduces students to the formal mathematical tools and methods necessary for software engineering. Topics include equational logic, propositional calculus and its applications, techniques of proof, formal logic, quantification and predicate calculus, application of predicate calculus to programming, and mathematical induction.

SE 501 - Introduction to Software Development

Prerequisites:Admission to the program
Corequisites:None
Credits:3cr

This course serves as an introduction to the discipline of Software Engineering, involving both a study of theory and practice. Significant ideas and developments are emphasized along with an examination of terminologies, classifications, paradigms, and methodologies. The course also provides an opportunity to review essential computer science material (data structures, programming languages and environments, systems, and architectures) as appropriate within this context.

SE 504 - Formal Methods and Models

Prerequisites:SE 500
Corequisites:None
Credits:3cr

This course is concerned with the application of mathematical techniques and models to the problem of software development. Of particular concern are means by which to develop provably correct programs.

SE 507 - Requirements Analysis and Software Specification

Prerequisites:SE 500
Corequisites:None
Credits:3cr

Exploration of two inter-related subjects of software life-cycle-process; requirements and their specifications. Topics: Requirements analysis techniques, interview process, prototypes, types of requirements (functional, nonfunctional, reliability, quality, security, etc.), traceability, languages of specification (axiomatic, algebraic, finite state machine, abstract, operational, concurrency).

SE 510 - Principles and Applications of Software Design

Prerequisites:SE 507
Corequisites:None
Credits:3cr

This course covers the principles, methods, and techniques used in the design of software systems. It includes architectural and detailed design with an emphasis on the object-oriented paradigm. Topics include software design process; design principles; software architectures; frameworks; design patterns; and coding idioms; design notations and support tools.

SE 515 - Software Generation and Maintenance

Prerequisites:SE 501
Corequisites:None
Credits:3cr

Maintenance accounts for about 70% of the software system life cycle. Designing new maintainable software systems is as important as dealing with existing non-maintainable ones. Topics include: writing reusable software components, automatic code and application generators and their limitations, regression analysis, reverse engineering, etc.

SE 516 - Engineering of Software Systems

Prerequisites:None
Corequisites:None
Credits:3cr

There is a parallel between hardware system engineering and software systems engineering. Several issues are relevant to both and in many cases they interact with each other. Topics include: system requirements gathering and specification, system design, interfaces with hardware and software systems, human-computer interfaces, system testing and integration, documentation, quality assurance, and configuration management.

SE 521 - Database Systems

Prerequisites:SE 507
Corequisites:None
Credits:3cr

A study of both theoretical and practical aspects of database systems with an emphasis on relational database systems. Topics include DBMS architectures, entity-relationship and UML data modeling, relational data modeling, database design using entity-relationship data models, relational algebra and Structured Query Language (SQL), functional dependencies and normal forms, system catalogs, transaction processing, concurrency control, and selected advanced topics.

SE 524 - Software Project Management

Prerequisites:SE 510
Corequisites:None
Credits:3cr

Software system development; project development; budget and human factors. Relationship between quality assurance, communication management and project documentation. Ethical and security issues.

SE 532 - Interactive and Time Critical Systems Design

Prerequisites:SE 507 and SE 510
Corequisites:None
Credits:3cr

Real-time and embedded software systems development present a whole different set of variables to the software engineer. This course focuses on a number of design, development, and maintenance techniques for this type of system. Topics include data acquisition and generation, system design strategies, testing constraints, verification, etc.

SE 598 - Project Analysis & Design

Prerequisites:Having passed all required courses
Corequisites:None
Credits:3cr

SE 598 and 599 is a two-semester sequence in which students are expected to undertake a software thesis project which requires the use of tools, techniques and theory learned from previous courses. It will be strongly recommended that thesis projects be developed in teams.

SE 599 - Project Implementation and Evaluation

Prerequisites:Having passed all required courses
Corequisites:None
Credits:3cr

SE 598 and 599 is a two-semester sequence in which students are expected to undertake a software thesis project which requires the use of tools, techniques and theory learned from previous courses. It will be strongly recommended that thesis projects be developed in teams.




MS of Software Engineering



The University of Scranton's Master of Science degree in Software Engineering (MSSE) is designed to prepare professionals in the field of software development. The program provides instructions and hands-on experience in planning and analysis, design, implementation, and maintenance of computer software and documentation. You will gain experience with computer-aided software engineering (CASE) tools, object-oriented analysis and design, formal methods and models, software reuse techniques, and the role that elegant software engineering plays in the construction of integrated software solutions. Some of your work may be done in cooperation with local firms. The result is a comprehensive, practical foundation that prepares you for a successful career in the growing field of software development.





The University of Scranton is an active place when classes are in session. The department is located on the first floor of the Loyola Science Center (LSC). The departmental labs are also located in this area. When you visit, stop by the department office (LSC190). The secretary will find a faculty member to give you a tour of our facilities and answer your questions about the program. Appointments may be made by calling the department at (570) 941-7774. We can also be reached by fax at (570) 941-4250, or e-mail at cmps@cs.scranton.edu or se@cs.scranton.edu.





The Master of Science in Software Engineering (MS SE) program requires 36 graduate credits, divided as follows:

Fundamentals - Four courses, 12 credits

Advanced courses - Six courses, 18 credits

Thesis project - Two courses, 6 credits



Each student is required to complete a thesis project which is normally done during his/her last year in the program. A faculty member works with the student as the project advisor and at least one other faculty member must read and approve the student's thesis report. A thesis project normally involves the development of a software system and it requires the use of tools, techniques, and theory learned from previous courses. The student is required to defend his/her thesis publicly. Six credits are awarded for the thesis project via the two-semester course sequence SE 598 and SE 599.




An undergraduate student of the University may be admitted to the combined program of their undergraduate degree and the Master of Science in Software Engineering (MS SE) graduate degree. Students majoring in Computer Science and Applied Computing in the combined may be able to complete their undergraduate degree and the master's degree in a total of five years.

Interested students should contact the director of the Master of Science in Software Engineering graduate program and the department of their undergraduate major to determine what Software Engineering graduate courses may be used to satisfy their undergraduate degree requirements and the length of their studies in the program.