Effective 8/08 SOFTWARE ENGINEERING

Chair: Mohan Gill Program Coordinator: Joe Clifton Office: Ullrich 208 Office: Ullrich 214 Telephone: (608) 342-1625 Telephone: (608) 342-1558

FIRST YEAR First Semester Second Semester

Dept. No. Course Credits Dept. No. Course Credits

Math 2640 Calculus & Analytic Geom I 4 Math 2740 Calculus & Analytic Geom II 4 Engl 1130 Freshman Composition I 3 Engl 1230 Freshman Composition II 3 GE 1000 Engineering Success Skills 1 GE 1030 Intro to Engineering Projects 1 CS 1430 Programming in C++ 3 SE 2430 Obj.-Oriented Prog & Data Str I 3 Econ 2130 Principles of Macroeconomics OR 3 PE 1xxx Phy Ed Activity 1 Econ 2230 Principles of Microeconomics Lab Science (e.g. BIOL 2340) 4 PE 1000 Fitness Assessment & Mgt 1 16 15

SECOND YEAR

First Semester Second Semester

Math 2730 Discrete Mathematics 3 CS 3230 Comp Architec/Oper Systems 3 Math 2840 Calculus & Analytic Geom III 4 CS Elective 3 SE 2630 Obj-Oriented Prog & Data Str II 3 Phys 2530 General Physics I 3 SE 2730 Intro to Software Engineering 3 Phys 2531 General Physics I Lab 1 Hum or Soc Sciences Elective 3 Application Domain 3-4 16 Phil 2540 Science, Technology & Ethics 3 16-17

THIRD YEAR First Semester Second Semester

SE 3430 Object-Oriented Analysis & Des 3 SE 3330 Intermediate Software Engineering 3 SE 3730 Software Quality 3 SE 3860 Software Maint & Reengineering 3 CS 3830 Data Comm & Comp Network 3 Math 3230 Linear Algebra OR 3 Math 4030 Statistical Methods w/Apps 3 Math 3630 Differential Equations 1 BSAD 2330 Leadership & Management 3 Phys 2640 General Physics II 4 SPCH 1010 Public Speaking 2 Application Domain OR 3-4 17 Hum or Soc Science Elective 16-17

FOURTH YEAR

First Semester Second Semester

SE 4330 Software Engineering Project 1 3 SE 4130 Real-Time Embedded Sys Prog 3 CS 3520 Program Lang Structures 3 SE 4730 Software Engineering Project II 3 Application Domain 3-6 SE 4110 SE Seminar 1 Hum or Soc Sc Elective 3-6 Application Domain 3-4 15-16 Hum or Soc Science Elective 6 16-17

TOTAL CREDITS:…………………………127-130 GENERAL ENGINEERING (GE) REQUIREMENTS FOR SOFTWARE ENGINEERING

1. To complete the General Engineering requirements and enter Software Engineering, each student must complete the following seven core courses:

Engl 1130 Freshman Composition 3 cr GE 1000 Introduction to Engineering 1 cr GE 1030 Introduction to Engineering Projects 1 cr CS 1430 Programming in C++ 3 cr Math 2640 Calculus & Analytic Geometry I 4 cr Math 2730 Discrete Mathematics 3 cr Math 2740 Calculus & Analytic Geometry II 4 cr

2. Students who complete their core courses must earn a 2.30 in those core courses to gain entry into the Software Engineering Program.

3. Each student must earn a grade of ‘C’ or better in Math 2640 and Math 2740.

4. A student must successfully complete the GE program requirements before accumulating 60 or more credits at UWP. Each repetition of a given course will be counted toward the 60 credit limit. With the exception of the seven GE core courses, credits earned at UWP prior to admission to GE will not be counted toward the 60 credit limit.

5. GE students may take no more than nine credits of engineering courses numbered at the 2000 level or higher.

GRADE REQUIREMENTS FOR SOFTWARE ENGINEERING (SE)

1. SE majors must earn a C or better in all required Software Engineering and Computer Science courses.

2. SE majors must earn a D or better in all co-requisites, unless otherwise stipulated by the offering department. For example, a C or better is required in Physics 2530 in order to proceed to Physics 2640. However, a D in Physics 2640 would satisfy the SE requirement for that course.

3. An SE major may repeat any given Engineering course only one time.

4. SE majors must also satisfy academic standards set by the University and the College of EMS. COURSES OF INSTRUCTION – SOFTWARE ENGINEERING

SE 2430 3 credits Object-Oriented Programming & 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. P: COSC 1430.

SE 2630 3 credits Object-Oriented Programming & Data Structures II Continuation of the object-oriented programming and data structure topics from SE 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. P: SE 2430.

SE 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. C: SE 2430.

SE 2950/2960 2 credits Software Engineering Cooperative Education Work experience in industry under the direction and jurisdiction of the College. P: Sophomore standing and consent of cooperative education coordinator.

SE 2970 1 credit Software Engineering Internship Work experience in industry under the direction of the Cooperative Education Office of the College. Note: This program is separate and distinct from the Cooperative Education Program and is principally designed to cover the summer vacation period.

SE 3330 3 credits Intermediate Software Engineering A more detailed discussion of several software engineering topics introduced in previous courses including requirements engineering, software modeling, user-interface design, development processes, and process improvement. Moderate size, GUI-based group project. P: SE 2630 and SE 2730. S

SE 3430 3 credits Object-Oriented Analysis & 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. P: SE 2730 and SE 2430.

SE 3730 3 credits Software Quality 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. P: SE 2630 and SE 2730. SE 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 & validation, inspections, and personal and team software process as they related 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. P: SE 2630 and SE 3430

SE 3950/3960 2 credits Software Engineering Cooperative Education Work experience in industry under the direction and jurisdiction of the College. P: Junior standing and consent of cooperative education coordinator.

SE 3970 1 credit Software Engineering Internship Work experience in industry under the direction of the Cooperative Education Office of the College. Note: This program is separate and distinct from the Cooperative Education Program and is principally designed to cover the summer vacation period.

SE 4110 1 credit Software Engineering Seminar The course consists of lectures/discussions presented by both software engineering faculty and students enrolled in the class. P: Software engineering major and junior/senior standing.

SE 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. P: SE 2630, SE 3430, and CS 3230 or EE 3780.

SE 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. P: SE 3330 and SE 3430. $

SE 4730 3 credits Software Engineering Project II The project started in SE 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. P: SE 3730 and SE 4330. $

SE 4980 1-4 credits Current Topics in Engineering In-depth study of a current topic of interest to the engineering profession. The topic to be covered will be identified in the course title. P: Consent of instructor.

SE 4990 1-3 credits Independent Study Advanced study in area of specialization selected by student and approved by faculty member. P: Consent of department chairperson. $=Some courses require the purchase of expendable supplies by the students. Name ______UNIVERSITY OF WISCONSIN-PLATTEVILLE Date Entered UWP ______SOFTWARE ENGINEERING Fall 2008

GR CR COURSE GR CR COURSE Software Engineering Required Courses -31 Crdts Mathematics—21 Credits ____ 3 SE 2430, Obj-Oriented Prog & Data Strt I ____ 4 Math 2640, Calc & Analy Geom. I ____ 3 SE 2630, Obj-Oriented Prog & Data Strt II ____ 4 Math 2740, Calc & Analy Geom. II ____ 3 SE 2730, Intro to Software Engineering ____ 4 Math 2840, Calc & Anal Geom. III ____ 3 SE 3330, Intermediate Software Engrg ____ 3 Math 2730, Discrete Mathematics ____ 3 SE 3430, Object-Oriented Analy & Desgn ____ 3 Math 4030, Statistical Methods ____ 3 SE 3730, Software Quality ____ 3 Math 3230, Linear Algebra OR ____ 3 SE 3860, Software Maint & Reengineering Math 3630, Differential Equations ____ 1 SE 4110, Software Engineering Seminar ____ 3 SE 4130, Real-time Embed Sys Prog Application Domain Seq. (12–15 credits): Basic Sciences—12 Credits ____ 3 SE 4330, Software Engineering Project I ____ 4 Laboratory Science ____ 3 SE 4730, Software Engineering Project II ____ 3 Phys 2530, General Physics I ____ 1 Phys 2510, General Physics I Lab Select one of the following application domain sequences ____ 4 Phys 2640, General Physics II Computer Science Required Courses - 15 Credi ts ____ 3 CS 1430, Programming in C++ Other Courses—15 Credits ____ 3 CS 3230, Computer Arch/Op Syst ____ 1 GE 1000, Engineering Success Skills ____ 3 CS 3520, Prog Language Structures ____ 1 GE 1030, Intro to Engineering Proj ____ 3 CS 3030, Artificial Intelligence OR ____ 3 ENGL 1130, Freshman Comp. I CS 3630, Database Design & Impl. OR ____ 3 ENGL 1230, Freshman Comp. II CS 3920, Computer Graphics OR ____ 3 BSAD 2330, Leadership and Mgmt EE 4720, Microcomp Arch & Interfacing Digital: 12 credits ____ 2 Speech (Spch 1010/1250/2250/3250) ____ 3 CS 3830, Data Com & Comp Netwrking ____ 1 PE 1000, Fitness Assessment ____ 1 PE 1xxx, Phy. Ed. Activity ____ 1 EE 1020 Elect. Eng Projects & Tools Humanities & Social Sciences—21/30 Credits Advising Record ____ 3 Humanities: Phil 2540, Science, Technology & Ethics _____ 3 EE 1210 Circuit Modeling I ____ 3 Fine Arts Elective ______3 Historical Persp Elective ______3 2nd Hum., FA, HP in Same Discipline ______3 Social Science: ECON 2130 MacroEcon _____ 4 EE 3770 Logic and Digital Design Or ECON 2230 MicroEconomics ______3 Social Science Elective (NOT Econ)______3 2nd Social. Sc. In Same Discipline ______4 EE 3780 Introduction to Microprocessors ____ (3) Intn’l Ed. or Intn’l Exchange ______(3) Ethnic Studies ______(3) Gender Studies ______3 GENENG 2130 Eng Mechanics-Statics _____ 3 IE 3430 Human Factors Engineering

Controls Track 1: 15 credits _____ 3 GENENG 2230 Eng Mechanics-Dynamics _____ 3 IE 3530 Operations Research I

_____ 3 EE 1210 Circuit Modeling I _____ 3 GENENG 2930 Appl of Electrical Engineering _____ 3 IE 4430 Total Quality Management

_____ 4 EE 2210 Circuit Modeling II _____ 3 MECHNCHL 3030 Dynamical Systems _____ 3 IE 4730 Engineering Management

_____ 4 EE 2220 Signals and Systems _____ 1 MECHNCHL 4310 / EE 3300 Automatic _____ 3 IE 4750 Prin and Applic of Project Mgmt Controls Laboratory

_____ 1 EE 3300 / MECHNCHL 4310 Automatic Or Controls Laboratory _____ 2 MECHNCHL 4320 Automatic Controls

_____ 3 IE 4780 Prin & Des of Eng Mgmt Info Systems _____ 3 EE 3310 Automatic Controls

* Assumes Math 3630 is taken as the Math elective

Controls Track 2: 15 credits *

** Assumes Biology 2340 is taken as the Natural Science elective Engineering Management: 15 credits ** and Math 4030 is scheduled early in the curriculum sequence.