VIU Online Education Degree

Articles

Master of Science in Software Engineering

Program Highlights

The online Master of Science in Software Engineering (MSE) program prepares students to become software engineering leaders. The program teaches students to apply computer science, engineering, and mathematical principles to design, develop, and test software. The core of the program is centered on learning to make professional judgments by honing essential critical thinking skills.

The online MSE program builds these thinking skills through a solid understanding of principles, theoretical methods and tools and an analysis of fundamental software development issues and processes. Topics include engineering, project management, quality assurance, and database management systems. Instructors with both industry and academic backgrounds provide a practical perspective help students to explore real-world problems and opportunities with software intensive systems. Students in the program learn methods to evaluate, adopt, and take advantage of emerging technologies and work closely with fellow software professionals, completing applicable class assignments in teams.

Possible career paths include: software engineer, solutions architect, programmer, technical systems analyst, software quality assurance engineer, applications coordinator, software architect, software and applications developer.

Degree at Glance

The online Master of Science in Software Engineering program consists of seven (7) core courses and five (5) elective courses. The elective courses provide the opportunity for students to develop further competencies covered in the core courses, based on their areas of interest.

Area # of Courses Credit Hours
Core courses 7 21
Elective courses 5 15
Total 12 36
MS IN SOFTWARE ENGINEERING: Core Courses (7 Courses – 21 Credit Hours)
*Core courses provide students with the skills and knowledge that all professionals need to succeed. Each candidate must complete the following seven (7) core courses.
Course Code Course Name Credit Hours
CMP 551

Research Methods


Prerequisite: None
This course provides knowledge of research methodologies used in management information systems, information systems, information technology, computer science, and other disciplines. The course includes experimental design, surveys, case studies, and fieldwork. It introduces students to applied research methodologies. The use of analytical tools, literature searches, and the application of VIU documentation style will result in a formal written proposal that may serve as the basis for each student's special project.
3
CMP 553

Analysis, Modeling, and Design


Prerequisite: None 

This course provides an overview of the systems development life cycle. It introduces tools and methods for the analysis and design of information systems and the management and organizational skills needed for their implementation. Information analysis in entity-relationship modeling and process modeling in data flow diagrams will be covered as the key skills in structured system analysis and design.
3
CMP 560

Software Engineering


Prerequisite: None
The objective of this course is to familiarize students with software application development processes and underlying concepts. Topics covered include Object Oriented Analysis & Design, Unified Modeling Language, Software Development Life Cycle, Models and Methodologies, Quality Assurance & Improvement, and the basics of tools used for application development such as Requirement Management Tools, Version Control, Modeling, and Defect Tracking.
3
CMP 610

Managing Information System Development


Prerequisite: CMP 552 or CMP 553
This course overviews the processes, methods, and techniques to plan, analyze, and design complex Information Systems, within selected existing frameworks. It involves planning, gathering requirements, modeling business needs, creating blueprints for building the system, and managing and organizing resources in these challenging, difficult, complex and expensive activities.
3
CMP 650

Software Design and Construction


Prerequisite: CMP 56000
Internship / CPT Qualified
This course is an in-depth study of software design and construction. The topics covered in this course include: software design fundamentals; key issues in software design such as concurrency, control and handling of events, distribution of components, error and exception handling and fault tolerance, interaction and presentation, data persistence; architectural structures and viewpoints, architectural styles (macro architectural patterns), design patterns (micro architectural patterns), human computer interface design, families of programs and frameworks; software design quality analysis and evaluation; software structural descriptions (static) and behavioral descriptions (dynamic); software design strategies and methods: general strategies, function-oriented (structured) design, object-oriented design, heuristic methods, formal methods, Component-Based Design (CBD) and SOA; software construction fundamentals: minimizing complexity, anticipating change, constructing for verification, standards in construction; managing construction, construction methods, construction planning, construction measurement; and practical considerations: construction design, coding, construction testing, construction quality and integration.
3
CMP 660
3
CMP 669

Software Engineering Project


Prerequisite: CMP 560, CMP 610, and CMP 650 Software Architectures
Internship / CPT Qualified
This course provides experience in applying software - engineering techniques by giving the students an opportunity to produce software when working in teams under the schedule constraints commonly experienced in industry. Students utilize a software engineering methodology in a team environment in a real - world application. They are involved in all the phases of software development, including project planning, requirements analysis, 208 VIU Academic Catalog 2013 – 201 4 design, coding, testing, configuration management, quality assurance, documentation, and delivery.
3
Total Credit Hours Required 21
MS IN SOFTWARE ENGINEERING: Elective Courses (5 Courses – 15 Credit Hours)
* Students are required to choose five (5) courses from the elective courses below.

Course Code

Course Name

Credit Hours
CMP 556

Database Management Systems I


Prerequisite: CMP 350
This course provides an introduction to relational models, normalization, query facilities, transactions, indexing, security issues, relational algebra, SQL database design stages, distributed databases, data warehousing, data and database administration, the JSON data inter-change format, and Internet database environments. Students will learn about various DBMS software products and multi-user database environments and how they are controlled.
3
CMP 558

Network and Information Security


Prerequisite: CMP 550 or CMP 562
This course is an introduction to the key security concepts required for the design, use, and implementation of secure voice and data communications networks, including the Internet. The security topics covered include defense models, authentication and authorization controls including biometrics, firewalls, packet filtering, virtual private networks (VPNs), security policy development, introduction to wireless network security, cloud computing security, disaster planning, backups, and risks mitigation strategies.
3
CMP 611

Global Information Systems Development


Prerequisite: CMP 552 or CMP 553
Internship / CPT Qualified
This course focuses on the organization of development projects in the global service marketplace, based on key considerations and best practices in outsourced and offshore development. Students learn the most important issues and practices for both clients and service providers. Topics include legal, economic, cultural and intellectual property issues; 24-hour development; strategic division of labor; quality and process standards, and global human resources.
3
CMP 621

Artificial Intelligence


Prerequisite: None
This course provides overview of the main thrusts in artificial intelligence, starting with the historically symbolic, logic-based approaches to knowledge representation, planning, reasoning and learning, leading into more recent directions of statistics-based probabilistic approaches (such as Bayesian approaches, belief nets, probabilistic reasoning, etc.). This course also touches on more recent developments in natural language processing, visual processing, robotics, machine learning, and philosophical foundations. This course covers search, constraint satisfaction, knowledge representation, probabilistic models, machine learning, neural networks, vision, robotics, and natural language understanding.
3
CMP 627

Data Mining


Prerequisite: CMP 556
Internship / CPT Qualified
This course is an introductory course on data mining. It covers concepts, algorithms, and applications in data warehousing and OLAP, mining frequent patterns and association rules, classification and predication, and cluster analysis, implementations and applications of mining sequential and structured data, stream data, text data, Web data, spatiotemporal data, biomedical data and other forms of complex data.
3
CMP 640

Database Management Systems I


Prerequisite: CMP 556
Internship / CPT Qualified
This course is an introduction to decision support and Business Intelligence. These topics are combined with practical examples and methods from the real world. The topics covered in this course include: decision making, systems, modeling, and support, decision support systems concepts, methodologies, and technologies, modeling and analysis, business intelligence, data warehousing, data mining for business intelligence, business performance management, and text and web mining, collaboration, communication, group support systems, knowledge management, artificial intelligence and expert systems, and management support systems.
3
CMP 661

Software Testing


Prerequisite: CMP 561 and CMP 650
Internship / CPT Qualified
This course examines software testing issues in software engineering. The topics covered include program testing theory, unit testing, control flow testing, data flow testing, domain testing, system integration testing, system testing categories, functional testing, test generation from a Finite State Machine (FSM), system test design, system test planning and automation, system text execution, acceptance testing, and test team organization, and the IEEE standards for software testing and documentation.
3
CMP 662

Software Maintenance & Configuration Management


Prerequisite: CMP 650
Internship / CPT Qualified
This course is an in-depth study of software maintenance & configuration management issues. Topics covered include software maintenance fundamentals; key issues in software maintenance: technical, management issues, maintenance cost estimation and software maintenance measurement; the maintenance process; techniques for maintenance; management of the configuration management (CM) process; configuration identification; configuration control; configuration status accounting and software release management and delivery.
3
CMP 663

Web Applications Development


Prerequisite: CMP 553 or CMP 561
Internship / CPT Qualified

This course overviews the processes and techniques for developing software for web applications. The concepts of client - server computing in e - commerce theories of usable graphical user interfaces and models for web - based information retrieval and processing are covered. Students study approaches for evaluating and using various common software tools and languages.
3
CMP 664

Mobile Applications Design and Development


Prerequisite: CMP 553 or CMP 561
Internship / CPT Qualified
This course looks at the quickly developing landscape of mobile applications. It focuses on Web - based mobile applications, and thus covers issues of Web service design, mobile platforms, and the specific constraints and requirements of user interface design for limited devices. The course combines a conceptual overview, design issues, and practical development issues
3
CMP 665

Virtualization Technologies


Prerequisite: CMP 558 and CMP 641
Internship / CPT Qualified
This course is a study of the virtualization concepts and technologies. The topics covered in this course include virtualization concepts, creating and building virtual machines, deploying virtual workstation software, building guest operating systems, constructing a test environment, partitioning servers, managing virtual servers remotely, data center virtualization, implementing remote management tools, securing virtual machine deployments, and reducing the attack surface. The course emphasizes a hands - on approach to virtualization.
3
CMP 673

Special Topics in Software Engineering


Prerequisite: Academic Advisor’s Approval
Internship / CPT Qualified
This course will cover topics of current interest selected by the faculty. Subjects will be announced before each semester.
3
CMP 680

Organizational and Social Dimensions of Computing


Prerequisite: None
This course discusses the organizational impact and the social implications, rights and duties related to the actions of computing professionals. It investigates the context in which professionals work, the laws and how they are created, human aspects of running a company, software contracts and liability, intellectual property rights, and the legislation that affects the way in which computers are used or misused. Topics include social, legal, financial, organizational and ethical issues in the context of the IT industry; the role of professional codes of conduct and ethics; and key legislation.
3
CMP 591

Graduate Internship Level I


Prerequisite: All Core Courses and Academic Advisor's Approval
This course represents an opportunity for students receive academic credit through supervised practical training and earn industry experience in an actual work environment. The internship course guides the learning contract established in the beginning of the term, on which students have to report at the end of term. Students are expected to work at least 135 hours per semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished.
3
CMP 691

Graduate Internship Level II


Prerequisite: All Core Courses and Academic Advisor’s Approval.
This course offers hands-on experience to students enrolled in MIS or MCS degrees in a domain close to their main career path intentions. Students are encouraged to pursue projects that would allow them to apply engineering design concepts gained in the classroom; going through all stages of system development, from analysis and design to implementation and testing. This three (3) credit hour project internship is for students who are expected to work a minimum of 135 hours during the semester. Students are required to attend two meetings/seminars with their faculty advisor to determine learning objectives and assess how well learning objectives are being accomplished
3
CMP 696

Independent Study I


Prerequisite: Academic Advisor's Approval
This course offers opportunity and challenge of self-directive, independent study; develops the individual's ability as an independent student; and enables the student to pursue needed study in a field in which appropriate courses are not being offered during a given term.
3
CMP 697

Independent Study II


Prerequisite: Academic Advisor’s Approval

This course offers opportunity and challenge of self-directive, independent study; develops the individual's ability as an independent student; and enables the student to pursue needed study in a field in which appropriate courses are not being offered during a given term.
3
CMP 698

Master's Thesis I


Prerequisite: All Core Courses and Academic Advisor’s Approval
Students may choose this thesis option or take two elective courses. The thesis work can comprise basic research or a practical project. Students are encouraged to start their thesis work as early as possible. Usually after completing two semesters of course work, the student will be asked to work with a faculty advisor to choose a suitable master's thesis topic and prepare a thesis proposal. The master’s thesis project will be conducted over a period of two semesters.
3
CMP 699

Master's Thesis II


Prerequisite: CMP 698
CMP 699 is a continuation of CMP 698: Master Thesis I. Students can take this thesis option after completion. The thesis work can comprise basic research or a practical project.
3
CAR 600

Career Planning and Development


Prerequisite: None
In-depth exploration and assessment of career values, occupational interests, skills, personality style, work environment preferences; concentration and career exploration; exposure to career and occupational information resources. Students learn and practice job search strategies and tools, including resumes and interviewing skills; decision-making, goal-setting and action planning; and self-marketing techniques for effective career management.
3
© 2016 VIU Online Education.     Contact Us -   Site Map -  Privacy & Policy
VIU is certified to operate in Virginia by SCHEV. Accredited Member, ACICS.