-
SOFTWARE 2430
3 credits
Object-Oriented Programming and Data Structures I
- An introduction to object-oriented programming. Emphasis on building and testing classes using software engineering techniques. Includes study of a standard class library and use of inheritance and polymorphism for building subclasses and extensibility. Coverage of the stack and queue classical data structures. Discussion of searching, sorting and hashing techniques. Introduction to linked lists. (Fall, Spring)
- Components: Laboratory, Lecture
- Cross Offering: COMPUTER 2430
- Prereqs/Coreqs: P: COMPUTER 1430
-
SOFTWARE 2630
3 credits
Object-Oriented Programming and Data Structures II
- Continuation of the object-oriented programming and data structure topics from COMPUTER/SOFTWARE 2430. Coverage of pointers, templates, linked lists, trees, recursion, graphs and algorithm analysis. Use of software engineering techniques such as inspections, test plans and configuration management within a group-based project environment. (Fall, Spring)
- Components: Laboratory, Lecture
- Cross Offering: COMPUTER 2630
- Prereqs/Coreqs: P: SOFTWARE/COMPUTER 2430
-
SOFTWARE 2730
3 credits
Introduction to Software Engineering
- An introduction to software engineering principles, including discussions of development methodologies, requirements analysis, project planning, software design, software construction, software management, software quality and CASE tools. Students gain experience, via a team project, in the life cycle development of software systems. (Fall)
- Components: Lecture
- Prereqs/Coreqs: C: SOFTWARE/COMPUTER 2430
-
SOFTWARE 2950
2 credits
Software Engineering Cooperative Education
- Work experience in industry under the direction and jurisdiction of the college. (Fall, Spring)
- Components: Field Studies
- Prereqs/Coreqs: P: Sophomore standing
-
SOFTWARE 2960
2 credits
Software Engineering Cooperative Education
- Work experience in industry under the direction and jurisdiction of the college. (Fall, Spring)
- Components: Field Studies
- Prereqs/Coreqs: P: Sophomore standing
-
SOFTWARE 2970
1 credit
Software Engineering Internship
- Work experience in industry under the direction of the Cooperative Education Office of the College of EMS. NOTE: This program is separate and distinct from the Cooperative Education Program and is principally designed to cover the summer vacation period.
- Components: Field Studies
- Prereqs/Coreqs: P: Sophomore standing
-
SOFTWARE 3330
3 credits
Intermediate Software Engineering
- A more detailed discussion of several software engineering topics included in previous courses including requirements engineering, software modeling, user-interface design, development processes and process improvement. Moderate size GUI-based group project. (Spring)
- Components: Lecture
- Prereqs/Coreqs: P: SOFTWARE 2630 and SOFTWARE 2730
-
SOFTWARE 3430
3 credits
Object Oriented Analysis and Design
- Requirements engineering, analysis and specification using the object-oriented paradigm. Object-oriented architectural and detailed design. Use of an OOA&D modeling language such as UML. Investigation of OOA&D patterns. Moderate size group project. (Fall)
- Components: Lecture
- Cross Offering: COMPUTER 3430
- Prereqs/Coreqs: P: SOFTWARE 2730 and COMPUTER/SOFTWARE 2430
-
SOFTWARE 3730
3 credits
Software Quality
- Study of the topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification and validation, reviews, inspections, audits, and software process improvement models. Individual and team projects. (Fall)
- Components: Laboratory, Lecture
- Prereqs/Coreqs: P: SOFTWARE 2630 and SOFTWARE 2730
-
SOFTWARE 3860
3 credits
Software Maintenance and Reengineering
- Study of the topics related to maintaining large-scale software systems. Study of software engineering topics such as estimation, software quality assurance, metrics, configuration management, verification and validation, inspections, and personal and team software process as they relate to software maintenance projects. Coverage of traditional analysis and design methods such as structured analysis and design. Two, semester-long, team-based projects: reengineering a small system to be object-oriented and making changes to a moderate-sized existing software project. (Spring)
- Components: Lecture
- Prereqs/Coreqs: P: SOFTWARE 2630 and SOFTWARE 3430
-
SOFTWARE 3950
2 credits
Software Engineering Cooperative Education
- Work experience in industry under the direction and jurisdiction of the college. (Fall, Spring)
- Components: Field Studies
- Prereqs/Coreqs: P: Junior standing
-
SOFTWARE 3960
2 credits
Software Engineering Cooperative Education
- Work experience in industry under the direction and jurisdiction of the college. (Fall, Spring)
- Components: Field Studies
- Prereqs/Coreqs: P: Junior standing
-
SOFTWARE 3970
1 credit
Software Engineering Internship
- Work experience in industry under the direction of the Cooperative Education Office. NOTE: This program is separate and distinct from the Cooperative Education Program and is principally designed to cover the summer vacation period. (Summer)
- Components: Field Studies
- Prereqs/Coreqs: P: Junior standing
-
SOFTWARE 4110
1 credit
Software Engineering Seminar
- The course consists of lectures/discussions presented by both software engineering faculty and students enrolled in the class. (Spring)
- Components: Seminar
- Prereqs/Coreqs: P: Software Engineering major and junior/senior standing
-
SOFTWARE 4130
3 credits
Real-Time Embedded Systems Programming
- An exploration of programming techniques and constructs used to develop reliable software systems capable of responding in real time to environmental changes. An overview of the platforms, tools, and processes used in developing software for embedded systems. Hands-on lab projects experimenting with real-time embedded systems programming details. (Spring)
- Components: Discussion, Laboratory, Lecture
- Prereqs/Coreqs: P: COMPUTER/SOFTWARE 2630 and COMPUTER/SOFTWARE 3430 and ELECTENG 3780.
-
SOFTWARE 4330
3 credits
Software Engineering Project I
- Emphasis in applying software engineering knowledge learned in this course and previous courses to a large, team-based, capstone project that spans two semesters. In-depth study of several software engineering topics introduced in earlier courses, such as requirements engineering; analysis and design methods; planning and estimation; project management; and metrics. An introduction to formal methods for specification and design. (Fall)
- Components: Discussion, Laboratory, Lecture
- Prereqs/Coreqs: P: SOFTWARE 3330 and SOFTWARE 3430
-
SOFTWARE 4730
3 credits
Software Engineering Project II
- The project started in SOFTWARE 4330 is continued and carried to completion. In-depth study of several software engineering topics introduced in earlier courses, such as software construction tools and issues; unit development, review, testing, and maintenance; software reuse; and metrics. An introduction to current research issues in software engineering. (Spring)
- Components: Discussion, Laboratory, Lecture
- Prereqs/Coreqs: P: SOFTWARE 3730 and SOFTWARE 4330
-
SOFTWARE 4980
1 - 4 credits
Current Topics in Software Engineering
- In-depth study of a current topic of interest to the software engineering profession. The topic to be covered will be identified in the course title.
- Components: Lecture
-
SOFTWARE 4990
1 - 3 credits
Independent Study
- Advanced study in area of specialization selected by student and approved by faculty member. (Fall, Spring)
- Components: Independent Study