Effective 8/09 SOFTWARE ENGINEERING Chair: Mohan Gill Office: Ullrich 208 Telephone: (608) 342-1625 Dept. No. Course 2640 1130 1000 1430 2130 2230 1000 First Semester Calc & Analytic Geom I Freshman Composition I Engineering Success Skills Programming in C++ Princ. of Macroeconomics OR Princ. of Microeconomics Fitness Assessment & Mgt Program Coordinator: Joe Clifton Office: Ullrich 214 Telephone: (608) 342-1558 Credits Dept. No. Course Credits FIRST YEAR Math Engl GE CS Econ Econ PE 4 3 1 3 3 Math Engl GE SE PE Second Semester 2740 Calculus & Analytic Geom II 1230 Freshman Composition II 1030 Intro to Engineering Projects 2430 Obj.-Oriented Prog & Data Str I 1xxx Phy Ed Activity Lab Science (e.g. BIOL 2340) 1 15 4 3 1 3 1 4 16 SECOND YEAR Math Math SE SE 2730 2840 2630 2730 First Semester Discrete Mathematics 3 Calculus & Analytic Geom III 4 Obj-Oriented Prog & Data Str II 3 Intro to Software Engineering 3 Hum or Soc Sciences Elective 3 16 CS CS Phys 3230 Phil 2540 2240 Second Semester Comp Architec/Oper Systems Elective General Physics I Application Domain Science, Technology & Ethics 3 3 4 3-4 3 16-17 THIRD YEAR SE SE CS Math BSAD SPCH 3430 3730 3830 4030 2330 1010 First Semester Object-Oriented Analysis & Des 3 Software Quality 3 Data Comm & Comp Network 3 Statistical Methods w/Apps 3 Leadership & Management 3 Public Speaking 2 17 SE SE Math Math Phys 3330 3860 3230 3630 2340 Second Semester Intermediate Software Engineering Software Maint & Reengineering Linear Algebra OR Differential Equations 1 General Physics II Application Domain OR Hum or Soc Science Elective 3 3 3 4 3-4 16-17 FOURTH YEAR SE CS 4330 3520 First Semester Software Engineering Project 1 3 Program Lang Structures 3 Application Domain 3-6 Hum or Soc Sc Elective 3-6 15-16 SE SE SE 4130 4730 4110 Second Semester Real-Time Embedded Sys Prog Software Engineering Project II SE Seminar Application Domain Hum. Or Soc. Science Elective TOTAL CREDITS: ………………………… 3 3 1 3-4 6 16-17 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 GE 1000 GE 1030 CS 1430 Math 2640 Math 2730 Math 2740 Freshman Composition Introduction to Engineering Introduction to Engineering Projects Programming in C++ Calculus & Analytic Geometry I Discrete Mathematics Calculus & Analytic Geometry II 3 cr 1 cr 1 cr 3 cr 4 cr 3 cr 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 2240 in order to proceed to Physics 2340. However, a D in Physics 2340 would satisfy the SE requirement for that course. Likewise, a D would satisfy the SE requirement for CS courses for which there is an option: CS 3030, CS 3630, and CS 3920. 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. (Fall, Spring) 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. (Fall,Spring) 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. (Fall) 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. (Fall, Spring) 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. (Summer) 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. (Spring) $ 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. (Fall) 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. (Fall) 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, teambased 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 (Spring) 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. (Fall, Spring) 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. (Summer) 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. (Spring) 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. (Spring) $ 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. (Fall) $ 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. (Spring) $ 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. (Fall, Spring) $=Some courses require the purchase of expendable supplies by the students. SOFTWARE ENGINEERING Name ________________________________________ GR CR COURSE Mathematics—21 Credits ____ ____ ____ ____ ____ ____ 4 4 4 3 3 3 Math 2640, Calc. I______________________ Math 2740, Calc. II__________________ Math 2840, Calc. III__________________ Math 2730, Dis.Math_________________ Math 4030, Stats_____________________ Math 3230, Linear Algebra OR Math 3630, DiffEq___________________ Basic Sciences—12 Credits ____ 4 Laboratory Science___________________ ____ 4 Phys 2240, Phys I____________________ ____ 4 Phys 2340, Phys II___________________ Other Courses—15 Credits ____ 1 GE 1000,Eng.Skills__________________ ____ 1 GE 1030, Intro Eng Proj______________ ____ 3 ENGL 1130, Fr Comp. I ______________ ____ 3 ENGL 1230, Fr Comp. II _____________ ____ 3 BSAD 2330, Ldr & Mgt_______________ ____ 2 Spch 1010/1250/2250/3250____________ ____ 1 PE 1000, Fitness ____________________ ____ 1 PE 1xxx, Phy. Ed.____________________ Humanities & Social Sciences—21/30 Credits ____ 3 Humanities: Phil 2540, Science, Tech & Ethics _______________________________ ____ 3 Fine Arts Elective____________________ ____ 3 Hist Persp Elect _____________________ ____ 3 2nd Hum, FA,HP Same Disc ___________ ____ 3 SocSci: ECON 2130 Macro OR ECON 2230 Micro___________________ ____ 3 SocSci Elect.(NOT Econ)_____________ ____ 3 2nd SocSci. Same Disc.________________ ____ (3) Intn’l Ed/ Intn’l Exch________________ ____ (3) Ethnic Studies ______________________ ____ (3) Gender Studies _____________________ Effective Fall 2009 (127-130 credits) GR CR COURSE Software Engineering Required Courses -31 Crdts ____ 3 SE 2430, Obj-Oriented Prog & Data Strt I ____ 3 SE 2630, Obj-Oriented Prog & Data Strt II ____ 3 SE 2730, Intro to Software Engineering ____ 3 SE 3330, Intermediate Software Engrg ____ 3 SE 3430, Object-Oriented Analy & Desgn ____ 3 SE 3730, Software Quality ____ 3 SE 3860, Software Maint & Reengineering ____ 1 SE 4110, Software Engineering Seminar ____ 3 SE 4130, Real-time Embed Sys Prog ____ 3 SE 4330, Software Engineering Project I ____ 3 SE 4730, Software Engineering Project II Computer Science Required Courses - 15 Credits ____ 3 CS 1430, Programming in C++ ____ 3 CS 3230, Computer Arch/Op Syst ____ 3 CS 3520, Prog Language Structures ____ 3 CS 3030, Artificial Intelligence OR CS 3630, Database Design & Impl. OR CS 3920, Computer Graphics OR EE 4720, Microcomp Arch & Interfacing ____ 3 CS 3830, Data Com & Comp Netwrking Date _____________________________ Application Domain Seq. (12–15 credits): Select one of the following application domain sequences Digital: 12 credits ____ 1 EE 1020 Elect. Eng Projects & Tools _____ 3 EE 1210 Circuit Modeling I _____ 4 EE 3770 Logic and Digital Design _____ 4 EE 3780 Introduction to Microprocessors Controls Track 1: 15 credits _____ _____ _____ _____ 3 4 4 1 EE 1210 Circuit Modeling I EE 2210 Circuit Modeling II EE 2220 Signals and Systems EE 3300 / MECHNCHL 4310 Automatic Controls Laboratory _____ 3 EE 3310 Automatic Controls Controls Track 2: 15 credits * _____ _____ _____ _____ _____ 3 3 3 3 1 GENENG 2130 Eng Mechanics-Statics GENENG 2230 Eng Mechanics-Dynamics GENENG 2930 Appl of Electrical Engineering MECHNCHL 3030 Dynamical Systems MECHNCHL 4310 / EE 3300 Automatic Controls Laboratory _____ 2 MECHNCHL 4320 Automatic Controls * Assumes Math 3630 is taken as the Math elective Advising Record ___________________________ _______ ___________________________ _______ Engineering Management: 15 credits ** _____ _____ _____ _____ _____ 3 3 3 3 3 IE 3430 Human Factors Engineering IE 3530 Operations Research I IE 4430 Total Quality Management IE 4730 Engineering Management IE 4750 Prin and Applic of Project Mgmt Or _____ 3 IE 4780 Prin & Des of Eng Mgmt Info Systems ___________________________ _______ ___________________________ _______ ___________________________ _______ ** Assumes Biology 2340 is taken as the Natural Science elective and Math 4030 is scheduled early in the curriculum sequence. Application Domains