Software Engineering
 
SE 6343 User Interface Design and Implementation 3-0-3
Prerequisite: SE 6623
This practicum course covers the major frameworks, methods, and approaches to designing, engineering, implementing, and testing user interfaces. It covers user and usability requirements gathering, task analysis, user-interface design, coding of the user interface, and evaluation with respect to requirements and the users' tasks. Numerous illustrative design and coding projects are completed throughout the term.
 
SE 6623 Software Engineering I 3-0-3
Prerequisite: CS 5123 or the equivalent from undergraduate degree or work experience
This course covers the initial phases of the software-development life cycle. Topics include planning, requirements analysis, requirements specification, and design. A number of techniques for performing analysis and design are explored and applied in a major project.
 
SE 6633 Software Project Management 3-0-3
Prerequisites: SE 6623
Focus on organizational and technical roles in software engineering. Emphasis on: models of software life cycle, software maturity framework, strategies of implementing software, software process assessment, project planning principles and tools, software configuration management, managing software quality and usability, leadership principles, and legal issues. A required team project combines technical and managerial techniques of software design and development.
 
SE 6683 Management Information Systems 3-0-3
A study of the use of computer and information management systems in the management of organizations. Includes formal characterization of management structures, identification of information needs, and integrated tools for providing MIS support. Major project included.
 
SE 6723 Software Engineering II 3-0-3
Prerequisite: SE 6623
This course covers the entire software development life-cycle. Emphasis is placed on advanced topics including prototyping, verification and validation, formal methods, and quality management. A major component is a group project that utilizes a Computer Assisted Software Engineering (CASE) tool to assist in the design, development, and implementation of a system.
 
SE 6743 Object-Oriented Analysis and Design 3-0-3
Prerequisites: SE 6623
This course explores the object-oriented software development process including analysis, design, and programming. Emphasis is on the object-oriented paradigm.
 
SE 6763 Software Metrics and Quality Management 3-0-3
Prerequisite: SE 6623
This course covers quality assessment, cost estimation, configuration management, software performance measures, proof of correctness, validation and verification, and management of the total quality environment for software development.
 
SE 6783 Object-Oriented User Interfaces with Prototyping and Usability Engineering 3-0-3
Prerequisites: CS 5183 or equivalent, SE 6623
This course starts with the concept of an object-oriented (OO) user interface (UI), proceeds to an OO analysis for the UI, and follows the iterative steps of usability engineering to build, test, and refine multiple small-scale UI prototypes. Throughout the course, a medium-to-large scale system will be developed through teams using a combination of OO analysis, software engineering, and usability engineering techniques. The usability, quality, measurement, planning and management factors of software engineering are practiced throughout the course in the lab exercises and the team project. A fully equipped usability lab is utilized.
 
SE 6823 Embedded Systems Analysis and Design 3-0-3
The Analysis and Design course focuses on using modern methods, techniques, and tools for specification and design of embedded systems. Topics include analytical methods such as RMA, development methods such as HOOD, and notations like UML, Petri-nets, etc. Performance evaluation based on modeling and simulation techniques is also covered. This is a project-oriented course.
 
SE 6843 Embedded Systems Construction and Testing 3-0-3
The Construction and Testing course focuses on the use of current software building technology, testing, reliability analysis, and benchmarking. Topics include component-based development (CBD), CORBA, implementation technology such as RT/Java, Ada, RTOS, CASE tools (with emphasis on the use of measurement tools), and domain libraries. The course also covers issues on hardware-software co-design. This is a project-oriented course.
 
SE 6883 Formal Methods in Software Engineering 3-0-3
Prerequisites: CS 5424 or equivalent, SE 6623
A study of formal specification in the software development process including transformational development, structured algebraic specification, and model-based (particular, Z) specification.
 
SE 6901-6903 Special Topics
variable credit-1 to 3 hours
Prerequisite: Consent of the department head
Special topics selected by the department. Offered on a demand basis.
 
SE 7703 Software Engineering Project 3-0-3
Prerequisite: Consent of both the department head and the project advisor
This project is designed for students wanting a professional focus to their degree. The student works independently or as part of a designated team under the supervision of a designated CS faculty member on a project of practical significance in software engineering. The student will generate a substantial final report and give a final defense of the project. This course may be repeated, but only 3 hours may be applied toward the degree. MS general questions (in lieu of a comprehensive exam) are administered as part of this course; satisfactory performance is required on the questions to get credit for this course.