SOFTWARE 2730 Introduction to Software Engineering 3 Credits

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.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Fall/Spring

SOFTWARE 3330 Intermediate Software Engineering 3 Credits

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.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 2730
Typically Offered: Spring

SOFTWARE 3430 Object Oriented Analysis and Design 3 Credits

Requirements engineering, analysis, and specification using the object-oriented paradigm. Object-oriented architectural and detailed design. Use of an OOAD modeling language such as UML. Investigation of OOAD patterns. Moderate size, group project.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430; C: SOFTWARE 2730
Typically Offered: Fall

SOFTWARE 3730 Software Quality 3 Credits

Study of the topics related to producing quality software, including software quality assurance, quality metrics, configuration management, verification validation, reviews, inspections, audits, and software process improvement models. Individual and team projects.
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 2730
Typically Offered: Fall

SOFTWARE 3860 Software Maintenance and Reengineering 3 Credits

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 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. Students gain experience via semester-long, team-based project(s) in software maintenance and reengineering.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630, SOFTWARE 2730 and SOFTWARE 3430
Typically Offered: Spring

SOFTWARE 3950 Software Engineering Cooperative Education 4 Credits

Work experience in industry under the direction of the College of Engineering, Mathematics and Science Cooperative Education and Internship Program. During co-op the student is expected to be away from his/her studies at UW-Platteville and work for an industry for a semester and summer. Credits do not fulfill graduation requirements.
Components: Field Studies
Typically Offered: Fall/Spring

SOFTWARE 3970 Software Engineering Internship 1 Credit

Work experience in industry under the direction of the College of Engineering, Mathematics and Science Cooperative Education and Internship Program. NOTE: This program is separate and distinct from the cooperative education program and is principally designed to cover the summer work experience. Internship is designed to provide experiential learning experience to the student during the summer period. Credits do not fulfill graduation requirements.
Components: Field Studies
Prereqs/Coreqs: P: Junior standing
Typically Offered: Summer

SOFTWARE 4110 Software Engineering Seminar 1 Credit

The course consists of lectures/discussions presented by both software engineering faculty and students enrolled in the class.
Components: Seminar
Prereqs/Coreqs: P: Software Engineering major and junior/senior standing
Typically Offered: Fall/Spring

SOFTWARE 4130 Real-Time Embedded Systems Programming 3 Credits

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.
Components: Discussion, Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2630 and SOFTWARE 3430 and (ELECTENG 3780 or COMPUTER 3230)
Typically Offered: Spring

SOFTWARE 4330 Software Engineering Project I 3 Credits

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 agile development; computer aided software engineering tools; analysis and design methods; and risk management. An introduction to formal methods for specification and design.
Components: Laboratory, Class
Prereqs/Coreqs: P: MATH 2730 and SOFTWARE 3330 and SOFTWARE 3430
Typically Offered: Fall

SOFTWARE 4730 Software Engineering Project II 3 Credits

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 agile development, computer aided software engineering tools, review, testing and maintenance. The course will also introduce current research issues in software engineering.
Components: Discussion, Laboratory, Class
Prereqs/Coreqs: P: SOFTWARE 3730 and SOFTWARE 4330
Typically Offered: Spring

SOFTWARE 4980 Current Topics in Software Engineering 1-4 Credits

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: Class
Typically Offered: Occasional

SOFTWARE 4990 Independent Study 1-3 Credits

Advanced study in area of specialization selected by student and approved by faculty member.
Components: Independent Study
Typically Offered: Fall/Spring