Master of Software Engineering

Computer Science Department

North Dakota State University

Do you want to update or upgrade your credentials?

Do you want a program you can take anywhere at any time?

Do you want to gain current skills and knowledge in software engineering?

The Master of Software Engineering degree can be completed in as little as sixteen months or as much as seven years. All activities are done through distance education. You never have to travel to our campus.

Projects and most larger assignments can be customized to fit your specific needs. If you already do software development, you may be able to use parts of your job activities for these course requirements.

Any time during the first six weeks of a semester, any course can be satisfied through an examination, if you think you already know the material.

Prerequisites:

  1. Bachelor’s level (B.S., B.A., Sc.B., etc) degree from an accredited institution;
  2. Skill in a higher level programming language such as Java, C# or C++. You should be able to design and implement a program consisting of several interacting classes that might total approximately 100 executable statements;
  3. International Students require a minimum TOEFL of 550 (paper-based) or 79 (Internet-based) or an IELTS of 6

Requirements:

  1. Admission to the NDSU Graduate School for this program. Details of the admissions process may be found at: https: //apply.embark.com/grad/ndsu/15/
  2. Completion of these twelve courses with grades of A or B (CSci 793 is taken twice to complete a two semester project):
  1. CSci 713 Software Development Processes 3

This course is designed as a breadth course on the software engineering process. Basic concepts are reviewed and reassured to create a basis for higher concepts and techniques.

  1. 714 Software Project Planning and Estimation 3

This course is designed to introduce the student to concepts and techniques of how to plan for a software project. This includes time and effort estimation, planning and teaming the project, and managing the development activities. Prereq: CSCI 713.

  1. 715 Software Requirements Definition and Analysis 3

This course is designed to make the student able to identify and capture requirements for a software system and be able to document and assess the requirements. Prereq: CSCI 713.

  1. 716 Software Design 3

This course covers both architectural design and module design. Students receive practice using a set of patterns to produce software designs with several different types of architecture. Substantial presentation and practice with the UML modeling language is provided. Prereq: CSCI 713.

  1. 717 Software Construction 3

This course covers the fundamentals of software construction including programming and evaluation of the source code. Students receive a good grounding in and extensive practice with the comprehensive libraries associated with a modern programming language. Prereq: CSCI 713.

  1. 718 Software Testing and Debugging 3

This course covers the goals, practices, evaluation and limitations of software testing and software debugging. Students receive practice in developing and using test plans and various testing and debugging techniques. Prereq: CSCI 713.

  1. 724 Survey of Artificial Intelligence 3

Survey of major areas of AI including theorem proving, heuristic search, problem solving, computer analysis of scenes, robotics, natural language understanding, and

  1. knowledge-based systems. Prereq: CSCI 372.or graduate standing
  2. 746 Development of Distributed Systems 3

This course is an advanced course in software engineering aiming at strategies and solutions of distributed systems. It assumes the knowledge of software engineering and particularly design and implementation of software systems, then builds on these concepts to how distributed systems are designed and implemented. Prereq: CSCI 713.

  1. 747 Software Complexity Metrics 3

This course covers complexity metrics for the entire software lifecycle. Students gain experience in using requirements metrics, design metrics, program metrics, test metrics, and planning metrics. The effectiveness and limitations of metrics in all these areas are emphasized. Prereq: CSCI 718.

  1. 765 Introduction to Database Systems 3

Basic database concepts, models, management facilities, data structures, storage structures, data definition languages, data manipulation languages, normalization, operator implementation algorithms, transactions, correctness, reliability, distribution, performance analysis. Prereq: CSCI 366 or graduate standing.

  1. 793 Individual Study: Software Development Project 3

Each student develops a software project either alone or as part of a team. If the student works as part of a team, the student’s contribution to the project must be significant and easily identified. Prereq: CSci 715, 716, and 718.

  1. Successful completion of an Internet-based sixteen hour module on Computer Ethics.
  2. Maximum of four courses may be attempted in any one semester. If a course is started in a particular semester, it must be dropped or completed within that semester.

Current fees may be found at: