SE-199 Independent Study in Software EngineeringCredits: 3
Term Offered: Summer Term
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-205 Requirements Engineering and SpecificationsCredits: 3
Prerequisite(s): CS-104 and CS-175
Term Offered: All Terms
Course Type(s): None
Elicitation, analysis, specification, validation, and management of user requirements; process, notations, methods and tools, requirements standards, system requirements specifications document (SRS).
SE-207 Software Design and ArchitectureCredits: 3
Prerequisite(s): CS-104 and CS-176; and EN-101 and EN-102 or permission of the instructor
Term Offered: Spring Term
Course Type(s): WT
Design process notations, methods, paradigms, and tools. System architecture tradeoff analysis; component and subcomponent specification. Generic (domain) design; architectural styles, frameworks, and patterns. Architecture standards; design tools.
SE-289 Internship in Software EngineeringCredits: 3
Term Offered: Summer Term
Course Type(s): EX1
Supervised practical experience in Software Engineering. Repeatable for credit. Junior standing, departmental approval, and placement are required to take this course.
SE-299 Independent Study in Software EngineeringCredits: 3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-301 Android Application DevelopmentCredits: 3
Prerequisite(s): CS-205 and CS-205L
Course Type(s): None
This course will teach students software methodologies for Android App Development. This will include Android Development Studio, Kotlin programming language, and interfaces to external services required to develop simple to moderately complex Android mobile apps. Also listed as CS-301.
SE-306 Formal Methods in Software EngineeringCredits: 3
Prerequisite(s): MA-120 or MA-130, and MA-220, passed with a grade of C or higher.
Term Offered: All Terms
Course Type(s): None
Covers a variety of formal methods and applies them to software-specification development. Assumes a firm grounding in mathematical logic, knowledge of proof techniques, and skill in the translation of problems expressed in English into predicate logic.
SE-312 Software Verification, Validation, and MaintenanceCredits: 3
Prerequisite(s): CS-104 and CS-176
Term Offered: All Terms
Course Type(s): None
Covers inspections of requirements, design and code, as well as testing, the handling of change requests, software evolution, code comprehension, and change management.
SE-337 Enterprise Mobile iOS Apps Design and DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Presents methodologies to build enterprise mobile apps on iPad tablets and iPhone smartphones using iOS. The course will cover technologies to use in the design and development of apps on mobile devices and integration of these apps with corporate data sources, sensor devices and cloud computing services. Also listed as CS-337.
SE-352 Embedded and Real-Time SoftwareCredits: 3
Prerequisite(s): CS-176, CS-176L, and SE-205 all passed with a grade of C or higher.
Term Offered: Spring Term
Course Type(s): None
Familiarizes students with the fundamental issues related to embedded and real-time software systems and gives them an opportunity to become familiar with a commercially available system for developing and testing embedded and real-time software. Topics include: definition of embedded systems, process concurrency, interprocess communications, synchronization, and process scheduling.
SE-353 Comparative LanguagesCredits: 3
Prerequisite(s): CS-176
Course Type(s): None
Begins with a history of the development of programming languages that provides the background necessary to understand programming-language design and evaluation. This is followed by an introduction to the basic programming language constructs and then critically comparing their implementation in some of the most common languages. Included is a discussion of the advantages and disadvantages of modern programming languages for a variety of applications. Some of the languages discussed are LISP, C, Small Talk, C++, Java, Ada, PL/1, and Prolog.
SE-357 Engineering Full-Stack Software ApplicationsCredits: 3
Prerequisite(s): CS-176 and CS-176L
Term Offered: All Terms
Course Type(s): None
A practical introduction to the principles, methods, and tools required to create high-quality software applications for the distributed, client-server context of the Web. Emphasis is on architectural designs, and language and data access methods that are common in Web-based systems. Also listed as CS-357.
SE-358 Software FrameworksCredits: 3
Prerequisite(s): EN-101, EN-102, CS-205 and SE-207 both passed with a grade of C or higher; and SE-357 or CS-357, or permission of the instructor.
Term Offered: Spring Term
Course Type(s): WT
An introduction to Design Patterns and modern Software Frameworks, programming languages, data access methods and asynchronous Application Programming Interfaces (APIs). This is a writing intensive course. Restricted to Computer Science or Software Engineering students only. Also listed as CS-358. SE-357 or CS-357 or permission of the instructor.
SE-360 Introduction to Game DevelopmentCredits: 3
Prerequisite(s): CS-205 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
An introduction to the creation of computer/video games and the different elements of games, including computer graphics, animation, artificial intelligence, algorithms, data structures, networking, software development cycles and human-computer interaction. Also listed as CS-360.
SE-370 Program Development Under UnixCredits: 3
Prerequisite(s): CS-176 passed with a grade of C or higher
Term Offered: Fall Term
Course Type(s): None
Introduction to the use of the UNIX operating system and its utilities for incremental and distributed program development, maintenance, and debugging. The course covers the UNIX shell, utilities, and program development tools that are used for large projects involving multiple developers on multiple machines. Three hours per week.
SE-398 Special Topics in Software EngineeringCredits: 3
Course Type(s): None
A 300-level intensive study of a particular subject or problem in software engineering to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
SE-399 Independent Study in Software EngineeringCredits: 1-3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
SE-402 Human Computer InteractionCredits: 3
Term Offered: Spring Term
Course Type(s): IM
Covers basic human psychology, computer technology, and the interface between them. The key topics of HCI are examined, grounded in the context of usability and the design lifecycle.
SE-403 Software Process ImprovementCredits: 3
Prerequisite(s): CS-205
Term Offered: Spring Term
Course Type(s): None
Students will be introduced to the various aspects related to software processes. It will focus on the definition and modeling of a software process, as well as on methods for process assessment and improvement. The concepts will be illustrated through process-improvement case studies, followed by hands-on experience with the improvement of the personal software-development process.
SE-418 Software Project ManagementCredits: 3
Prerequisite(s): CS-176; and EN-101 and EN-102 or permission of the instructor
Term Offered: All Terms
Course Type(s): WT
Project management and its application to software-development projects. Emphasis will be on planning, organizing, monitoring, and controlling. Students will learn how to develop work breakdown structures, estimate task durations, assign resources, specify network precedence, and determine a project's critical path. Methods for scheduling in the face of resource constraints will be included, as well as function point counting, algorithmic models for estimating total project cost, and software tools for project planning and monitoring.
SE-450 Cyber SecurityCredits: 3
Prerequisite(s): CS-205
Term Offered: Fall Term
Course Type(s): None
Cover fundamental theory and practice of cyber security. Review cryptographic tools used to provide security, such as shared key encryption; public key encryption, key exchange, authentication, digital signature, and intrusion detection. Learn implementation of secure mechanisms in object-oriented programming languages. Also listed as CS-450.
SE-451 Applied Computer SecurityCredits: 3
Prerequisite(s): CS-450 or SE-450
Term Offered: Spring Term
Course Type(s): None
This course will introduce students to multiple aspects of computer security and practice into a series of well-defined security topics such as network security and hacking tools. Also, the student will introduce different topics of digital forensics. Also listed as CS-451.
SE-485A Software PracticumCredits: 3
Prerequisite(s): CS-205, SE-205, SE-207, SE-312, SE-357 and SE-358 All passed with a grade of C or higher.
Term Offered: Fall Term
Course Type(s): EX5, RD
Team work on substantial software projects submitted by corporate sponsors. Interim progress reports required, with a final formal defense and presentation to corporate staff, faculty, and other students in the course. At the end of SE-485A, students must submit their software engineering portfolio for review by the Software Engineering faculty.
SE-485B Software PracticumCredits: 3
Prerequisite(s): SE-485A
Co-requisite(s): SE-402
Term Offered: Spring Term
Course Type(s): EX5, RD
Team work on substantial software projects submitted by corporate sponsors. Interim progress reports required, with a final formal defense and presentation to corporate staff, faculty, and other students in the course. At the end of SE-485B, students must submit their software engineering portfolio for review by the Software Engineering faculty.
SE-498 Special Topics in Software EngineeringCredits: 3
Term Offered: Fall Term
Course Type(s): None
A 400-level intensive study of a particular subject or problem in software engineering to be announced prior to registration. May be conducted on either a lecture-discussion or a seminar basis. Three or four hours per week. If a prerequisite is required it will be announced in the course schedule.
SE-499 Independent Study in Software EngineeringCredits: 1-3
Term Offered: All Terms
Course Type(s): None
Independent Study of a particular subject or problem in software engineering under the guidance of a software engineering faculty member. Prior permission of the directing professor and department chair is required to take this course.
Print this page.
The PDF will include all information unique to this page.
Download the Complete 2024-2025 Undergraduate PDF Catalogs.
Download the Complete 2024-2025 Graduate PDF Catalogs.