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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Repeat Status: Can be repeated multiple times for credit