The curriculum for the online Master of Science in Computer and Information Science emphasizes the development, quality assurance, and testing of software systems; software development project management; and ethical issues in creating software products . It requires the successful completion of 36 credit hours, of which 24 are core courses and 12 are electives.
Before graduate coursework can begin, students must have a four-year bachelor’s degree from an accredited institution with at least a 2.5 grade point average. For more information about admissions requirements and prerequisites, please visit our frequently asked questions page.
Core Courses (24 credit hours)
CIS4233 Database Design, Implementation, Optimization, and Performance (3 credit hours)
This course covers basic database theory, including models, representations, views, relational calculus, SQL, normalizations, and indexing/ transactions/ concurrency/ recovery. The students will be introduced to the most recent advances in database technologies and concepts such as NoSQL, Hadoop, Object-oriented database, etc.
CIS4240 Software Analysis and Requirements (3 credit hours)
Defining the requirements is the first, and most critical, step in software system development. Requirements engineering is one of the least understood and most difficult phases in the development of software products, especially because requirements are often unclear in the minds of many or stakeholders. This course deals with the identification of stakeholders, the elicitation and verification of requirements from them, and the translation into detailed requirements for a new or to-be-extended software product. It deals further with the analysis and modeling of requirements, the first steps in the direction of software design. Formal and innovative methods for requirements specification including iterative and several Agile methodologies are also discussed.
CIS4245 Software Design and Architecture (3 credit hours)
The purpose of this course is to provide students with a solid foundation in modern concepts and best practices of software product creation. It is expected that students will learn how to analyze and design large-scale software applications and apply different architecture styles and patterns to software design. Case studies and projects are assigned as a practical component of the course.
CIS4261 Advanced Object-Oriented Technology (3 credit hours)
Students explore the concepts, fundamental syntax, and thought processes behind true object-oriented technology. The concepts of architectural patterns and their application to software are practiced.
CIS4341 Quality Assurance and Testing (3 credit hours)
This course covers the theory and application of the capability maturity model, including process assessment, modeling, and improvement techniques. Lifecycle issues related to development and maintenance, quality, safety, and security assurance, project management, and automated support environments are also reviewed. Students participate in group projects and case studies.
CIS4385 Software Project Management (3 credit hours)
Students learn how to plan and control the development activities and tasks of a project, including schedule and cost estimation, development of a master program plan, defining task interrelationships and tracking and measuring the progress of a project.
CIS4885-CIS 4886 Capstone Software Project I & II (6 credit hours)
In this two-term single project sequence, students explore and use specific software engineering phases, software management and development tools, and quality assurance procedures in order to develop a complex software project.
Electives (12 credit hours)
CIS4210 Computation and Optimization Algorithms (3 credit hours)
This course focuses on new tools for software engineering that inform the systematic, disciplined, quantifiable processes of developing, operating, and maintaining software. Students will study foundations for the successful integration of evolutionary computation into software engineering techniques ranging from genetic algorithms to swarm optimization theory to ant colony optimization, demonstrating their uses and capabilities. These techniques are applied to aspects of software engineering such as testing, quality assessment, reliability assessment, and fault prediction models, among others, to provide researchers, scholars and students with the knowledge needed to expand this burgeoning application.
CIS4275 XML Web Services and SOAP (3 credit hours)
Web services revolutionize the way businesses interact by enabling interoperability between applications on different hardware and software platforms. The Java APIs for XML Web Services (JAX-WS) deliver a set of powerful tools to develop a Service-Oriented Architecture (SOA). This hands-on course provides students with the skills to design and build Web services using Java. Students develop services and clients using the latest standards-based technologies and deploy secure Web services that integrate proven security strategies.
CIS4278 Web Application Development (3 credit hours)
CIS4345 Software Testing and Verification (3 units)
This course covers the theoretical and practical aspects of testing software, including the entire range of test activities, from analyzing a requirements document for test conditions through executing test cases and writing a test report. Students study the types of testing that should be done, who should do it, and why it should be done at all, and develop skills for organizing and implementing the software testing phase for any small or medium-size software project.
CIS4355 Mobile Device Programming (3 credit hours)
Students explore the effects of mobile computing on software design and development. The course uses current research projects in the field of mobile computing to highlight the key aspects that complicate software engineering. Emphasis is on these concerns in the context of application development.
CIS4365 Secure Software Engineering (3 credit hours)
This course covers best practices for designing secure systems, with particular emphasis on software engineering. Various criteria for designing secure systems are reviewed and then applied to real systems. Students study techniques for analyzing system properties, verifying program correctness, and applying existing protocols. Other topics include the limits of software protection techniques, such as code obfuscation, tamper-proofing and water-marking, the analysis of software based attacks (and defenses), timing attacks and leakage of information, type safety, and capability systems.
CIS4375 Software Engineering for Cloud Computing (3 credit hours)
Students study the architecture, implementation and evolution methodologies for Cloud Computing. Topics covered include infrastructure-as-a-service (IaaS) such as Amazon Web Services, or AWS; platform-as-a-service (PaaS) including Google App Engine or Azure; software-as-a-service (SaaS) e.g., salesforce.com; or in frameworks that enable the above like Apache Hadoop or Microsoft’s Dryad.
CIS4388 Professional, Ethical and Legal Issues for Software Engineers (3 credit hours)
Students explore professional, legal and ethical issues pertaining to software engineering, including a professional codes of ethics, social justice issues and their impact, intellectual property laws, computer privacy, and human-computer interaction. The course also includes a review of relevant regulatory documents and their applications in analyzing case studies.
To learn more about the curriculum and available online computer science courses in the Master of Science in Computer and Information Science program at Notre Dame de Namur University, call 855-275-1088 to speak with an admissions advisor or request more information.