Software Engineering

Courses

SE 181 Introduction to Software Engineering and Development 3.0 Credits

Introduces advanced software development fundamentals including memory management, typing and scoping, datastores, software testing, and security, as well as user-centric design and user experience. This course will be taught using a specified programming language of instruction.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 172 [Min Grade: C]

SE 201 Introduction to Software Engineering and Development 3.0 Credits

Introduces advanced software development fundamentals including memory management, typing and scoping, datastores and software testing. This course will be taught using a specified programming language of instruction.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 172 [Min Grade: C]

SE 210 Software Specification and Design I 3.0 Credits

Study of the principles, practices, and techniques used to gather system requirements and document them in a requirements specification. Includes techniques for requirements discovery such as user interviews and prototyping. Introduces approaches for organizing and expressing software requirements in a requirements specification.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 172 [Min Grade: C]

SE 211 Software Specification and Design II 3.0 Credits

Continues study of requirements with increasing emphasis on converting requirements into a software system design. Presents alternate approaches, techniques for evaluating specifications, specification and design tools, and use of specifications to develop system-level tests.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: SE 210 [Min Grade: C]

SE 310 Software Architecture I 3.0 Credits

Study of the principles and practices of object-oriented design with an emphasis on object relationships, loose coupling, and design patterns.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 265 [Min Grade: C] and CS 260 [Min Grade: C] and (SE 181 [Min Grade: C] or SE 201 [Min Grade: C])

SE 311 Software Architecture II 3.0 Credits

Continues discussion of software architecture with a focus on micro-level architecture including patterns, frameworks, and component-based software engineering, and commercial off-the-shelf software.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: SE 310 [Min Grade: C]

SE 320 Software Verification and Validation 3.0 Credits

Presents theory and practice of software testing. Covers structural testing including such topics as path testing, dataflow testing, logic based testing, syntax testing, program slicing, mutation testing, fault injection, program perturbation, and testing tools. Discusses techniques for test construction and test suite evaluation, and validation against requirements and design models. Also covers methods of inspection and review at various phases of the software lifecycle.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C] and (SE 181 [Min Grade: C] or SE 201 [Min Grade: C])

SE 410 Software Evolution 3.0 Credits

Covers issues related to change in software systems. Addresses principles and techniques of corrective software maintenance, software enhancements, and software product family. Introduces students to issues of change in large software systems including configuration control, change and product management.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C]

SE 420 Open Source Software Engineering 3.0 Credits

Explores tools, techniques, process, and culture of free and open source software (FOSS) projects. Addresses open source project evaluation, business models, and FOSS as a source of software engineering innovation. Includes student participation in an existing humanitarian FOSS project. Introduces concepts of computing for social good.

College/Department: College of Computing and Informatics
Repeat Status: Not repeatable for credit
Prerequisites: CS 260 [Min Grade: C]

SE I199 Independent Study in SE 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

SE I299 Independent Study in SE 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

SE I399 Independent Study in SE 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

SE I499 Independent Study in SE 0.0-12.0 Credits

Self-directed within the area of study requiring intermittent consultation with a designated instructor.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

SE T280 Special Topics in Software Engineering 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit

SE T480 Special Topics in Software Engineering 0.0-12.0 Credits

Topics decided upon by faculty will vary within the area of study.

College/Department: College of Computing and Informatics
Repeat Status: Can be repeated multiple times for credit