In the 2024-2025 Catalog

Software Engineering (SE)

Courses

SE 299  Special Topics in Software Engineering  1-6 Credit

Individual independent or directed studies of selected topics.

SE 300  Software Engineering Practices  3 Credits (3,0)

Fundamental principles and methodologies of large-scale software development. Theory and practice of software engineering and work as part of a team on a full life-cycle software project that includes planning, software specification, software design, coding, inspections, and testing. A closed laboratory is required; team building, planning, requirements analysis and specification, design, testing, and the use of tools.
Prerequisites: CS 225

SE 310  Analysis and Design of Software Systems  3 Credits (3,0)

This course focuses on the fundamental methods employed in the analysis and design of software systems. Analysis is the process of determining a complete and consistent set of system requirements. Design is the process of producing a system architecture, both logical and physical, and determining an appropriate way to construct the software. The result of these processes is a documented model of the desired system. The student will learn and practice methods appropriate for both object-oriented and procedural systems.
Prerequisites: SE 300

SE 320  Software Construction  3 Credits (3,0)

This course provides the student with advanced instruction in programming with an object-oriented programming language. The course objective is proficiency in use of a language widely used for general purpose software development. In addition, the student will be introduced to tools and processes appropriate for employing this language in a significant software development environment. Students attending this course must already be proficient in the use of one major programming language and have knowledge of basic software engineering practices.
Prerequisites: SE 300

SE 399  Special Topics in Software Engineering  1-6 Credit

Individual independent or directed studies of selected topics.

SE 410  Software Modeling  3 Credits (3,0)

This course focuses on the study of formal concepts and techniques used to model and analyze software artifacts (requirements, design, and code). The course includes a survey of mathematical modeling techniques used in software engineering. Course activities include reading, discussion, and exercises concerned with the use of formal mathematical models in software engineering. Examples include work on a formal specification project, study of concepts and technology of formal model checking, use of a formal modeling tool, and presentations on articles about recent work in application and research in formal methods.
Prerequisites: CS 222 and SE 300

SE 420  Software Quality Assurance  3 Credits (3,0)

This course exposes the student to the key concepts and practices in software testing and quality assurance. The objective of this course is to introduce students to the concepts of software quality through testing, inspection, and walkthrough. The process of software testing and different testing techniques and methodologies will be covered. This course also covers topics related to the management of a testing project. Finally, different software-testing tools and their advantages and disadvantages will be discussed.
Prerequisites: SE 300

SE 450  Software Team Project I  3 Credits (2,3)

This is the first course in the sequence of a two-course senior project (SE 450 and SE 451). The senior project sequence of courses is the continuation of SE 300. They provide for additional student activities with the management, analysis, design, implementation, and testing of a software system. Students work in teams and use a defined software process to develop or modify a software product. Project work is assessed using industrial software standards and review techniques. The senior project sequence is considered the capstone course for undergraduate students in software engineering. The first course in this sequence (SE 450) emphasizes the early stages of the software development life cycle (requirements, analysis, and design). The artifacts developed during this course will be used as the foundation for further development during the second course in the sequence (SE 451).
Prerequisites: SE 310 and SE 320

SE 451  Software Team Project II  3 Credits (1,6)

This is the second course in the senior project sequence (SE 450 and SE 451). This is the continuation of SE 450. This course provides for additional student activities with the management, analysis, design, implementation, and testing of a software system. Students work in teams and use a defined software process to develop or modify a software product. Project work is assessed using industrial software standards and review techniques. The senior project sequence is considered the capstone course for undergraduate students in software engineering. The second course in this sequence (SE 451) emphasizes the later stages of the software development life cycle (design, implementation, testing, and maintenance). The artifacts developed during the first course (SE 450) will be used as the foundation for further development during this course (SE 451).
Prerequisites: SE 410 and SE 450

SE 499  Special Topics in Software Engineering  1-6 Credit

Individual independent or directed studies of selected topics.