Software Engineering (SE)
 
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: CS 6023 and 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 6643 Issues in Information Management 3-0-3
This course addresses current issues relating to computers, ethics, and social values. Topics include computer ethics, computer crime, abuse, social responsibility, risk analysis, computer law and cultural impact. Library and internet research components are included, and a major research paper is required.
 
SE 6663 Data Center Management  3-0-3
Issues in setting up and running a multi-user computer or data system. Includes RFP generation, vendor selection, project planning and control methods, backup and disaster recovery plans, site preparation, and job scheduling. Case studies will illustrate the subject materials.
 
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, CS 5183 or the equivalent
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: SE 6623, CS 5183 or the equivalent
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 Software Engineering of Real-Time Systems 3-0-3
Prerequisite: SE 6623, CS 5243 or the equivalent
This course explores the software development life cycle as it applies specifically to real-time systems. Emphasis is on various methodologies for functional and performance requirements, design, test and verification, and maintenance. A look at representative CASE tools is also included. Team projects are required.
 
SE 6883 Formal Methods in Software Engineering 3-0-3
Prerequisites: CS 5424 or the 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 demand basis.
 
SE 7701-7703 Software Engineering Project  variable credit-1 to 3 hours
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.