MCT 620 Distributed Systems (3.00)
Investigates design and implementation of internet based distributed applications including APIs, frameworks, standard internet protocol stack, client/server architectures, network programming, Java, I/O, multithreaded programming, Sockets, thin client/web server support, Servlets, JSP, EJBs and web services.
MCT 621 Artificial Intelligence (3.00)
Introduces the concepts and techniques of Artificial Intelligence (AI) including use of the Prolog language, knowledge representation, machine learning, expert systems, uncertainty, neural networks, and real world application of AI techniques.
Pre-requisite: TAKE MCT*609;
MCT 622 Real-Time Systems (3.00)
Explores embedded real-time systems including foundations, designing and developing software, implementation, and performance issues. Focuses on dependable software, design concepts, real-time operating systems (RTOSs), language selection, benefits, testing, static/dynamic analysis methods, tools, debugging, and documentation.
Pre-requisite: MCT*610 MCT*611
MCT 623 Graphics Programming (3.00)
Introduces theoretical concepts of modern graphics programming including compromises and trade-offs. Hands-on experience will be gained in two graphics programming environments: Virtual Reality Modeling Language (VRML) and Open Graphics Library (OpenGL).
MSCC 610 Information Technology Concepts (3.00)
Introduces information systems concepts, architectures, and technologies. Emphasizes information systems resources needed to meet organizational mission and objectives. Focuses on information systems from business viewpoint including processes, value proposition, and different types of information systems.
MSCC 630 Enterprise Architecture (3.00)
Examines information needed to create adaptive strategies for successfully implementing enterprise architectures. Focuses on strategies that are based on experiences within organizations across multiple industry verticals.
Pre-requisite: TAKE MSCC*697;
MSCC 693 Graduate Capstone (3.00)
Case-based scenario that emphasizes real-world application of Information Technology knowledge and skills. Simulates a real-world information technology organization where students enhance skills learned in previous courses. Employing critical analysis, students fulfill the final project requirement.
Pre-requisite: TAKE MSCC*630
MSCC 697 Information Technology Research Methods (3.00)
Concentrates on project management, proposal preparation, research and thesis writing. Deliverable include abstract proposal outline and research plan. Students research and develop project proposals that are then approved by the faculty.
Pre-requisite: TAKE MSCC*610;
MSCC 698 Graduate Thesis (3.00)
Students complete a masters thesis that is a substantial body of original scholarly work in the area of information technology.
MSSE 600 Object-Oriented Software Engineering (3.00)
Introduces the Software Engineering Body of Knowledge and the Unified Modeling Language used to communicate the design of object-oriented software systems. Presents an Agile software development process that is enabled with the use of a layered software architecture.
Pre-requisite: TAKE MSCC*610;
Cross listing(s): MSCS 600.
MSSE 610 Software Requirements and Processes (3.00)
Examines acquisition, analysis, specification, validation, and management of software requirements. Explores formal software processes, including the definition, implementation, measurement, management, change, and improvement of the software engineering process.
Cross listing(s): MSCS 610.
MSSE 630 Software Design (3.00)
Describes architecture, components, interfaces, and other characteristics of modern software systems. Topics include enterprise software architecture, design pattern concepts, software frameworks, and middleware technologies.
Cross listing(s): MSCS 630.
MSSE 640 Software Quality and Test (3.00)
Introduces the software quality assurance process and the means to monitor, control, and evaluate software quality. Presents software testing techniques, tools, and processes. Covers both plan-driven and Agile techniques for software quality and test.
Cross listing(s): MSCS 640.
MSSE 642 Software Assurance (3.00)
Provides a detailed explanation of software assurances practices, methods, and tools required throughout the software development life-cycle. Applies life-cycle knowledge in exploring common programming errors and evaluates common software testing tools.
Pre-requisite: TAKE MSSE*600 OR MSIA*670;
MSSE 650 iOS Software Development (3.00)
Introduces iOS software development, using the Objective-C programming language and the Cocoa Touch framework for the iPhone and iPad mobile devices. Includes development of a project using XCode, in preparation for deployment.
Cross listing(s): MSCS 650.
MSSE 652 Enterprise iOS Software Development (3.00)
Introduces advanced features of iOS software development including techniques for integrating web services and the use of other API's for app development. Includes development of a distributed software project using XCode and other developmental tools.
Pre-requisite: TAKE MSSE*650;
Cross listing(s): MSCS 652.
MSSE 655 Android Software Development (3.00)
Introduces Android software development, using the Java programming language, Android Developer Tools (ADT)and Android Studio for Android mobile devices. Includes software development of a project in preparation for deployment to Android devices.
MSSE 657 Enterprise Android Softwre Dev (3.00)
Introduces advanced features of Android software development, including techniques for integrating web services and the use of other API's for app development. Includes development of a distrubuted software project.
Pre-requisite: TAKE MSSE*655;
MSSE 670 Java Software Development (3.00)
Introduces use-case driven iterative software development techniques using a layered software architecture using the Java programming language. Topics include unit testing, the use of various software patterns, and refactoring code. Requires students to document and develop a project using layered software architecture.
Cross listing(s): MSCS 670.
MSSE 672 Advanced Java Software Development (3.00)
Introduces advanced features of the Java software development environment along with auxiliary software development tools. Topics include Eclipse, the Ant build tool, the use of Java exceptions and logging, collections and generics, JDBC and object-relational mapping with Hibernate, XML processing, client-server programming, and multithreaded applications.
Pre-requisite: TAKE MSSE*670;
Cross listing(s): MSCS 672.
MSSE 674 Enterprise Java Software Development (3.00)
Continues the advanced use of the Java 2 Platform. Topics include web applications and Java 2 Enterprise Edition. Emphasizes the use of Java Servlets and Java Server Pages (JSPs) to develop web application using a layered software architecture. Other topics include Custom Tag libraries, Apache Struts, request and response filters, and security.
Pre-requisite: TAKE MSSE*672;
Cross listing(s): MSCS 674.
MSSE 676 Advanced Enterprise Java Software Dev (3.00)
Continues development of Java EE applications with Enterprise Web Service Technologies. Topics include:Java for XML Web Services, Java for RESTful Web Services, Context and Dependency Injection, Java Persistence API, Enterprise JavaBeans, and Application Security.
Pre-requisite: TAKE MSSE*674;
Cross listing(s): MSCS 676.
MSSE 680 C# Software Development (3.00)
Introduces use-case driven iterative software development techniques with a layered software architecture using the C# programming language. Topics include unit testing, the use of various software patterns, and refactoring code. Requires students to document and develop a software project using layered software architecture.
Cross listing(s): MSCS 680.
MSSE 682 Enterprise C# Software Development (3.00)
Focuses on programming on the.Net Frameworks and C#. Topics include Windows Forms Development, project deployment, data access with ADO.NET and XML, Web programming using ASP.NET and Web Forms, Web Services, and SQL Server and other RDBMS.
Pre-requisite: TAKE MSSE*680;
MSSE 692 Software Engineering Practicum I (3.00)
Begins development of a distributed software system using the principles of Service Oriented Architectures. Encourages use of a cloud provider like Amazon Web Services, Windows Azure, or the Google App Engine.
Pre-requisite: TAKE MSCC*630;
MSSE 696 Software Engineering Practicum II (3.00)
Completes development of the software system begun in MSSE 692. Concludes with a presentation and paper to mock stakeholders, such as senior management or investors.
Pre-requisite: TAKE MSSE*692;