Effective 8/07 SOFTWARE ENGINEERING Chair: Mohan Gill Office: Ullrich 208 Telephone: (608) 342-1625 Program Coordinator: Joe Clifton Office: Ullrich 214 Telephone: (608) 342-1558 FIRST YEAR First Semester Dept. No. Course Math Engl GE CS Econ PE 2640 1130 1000 1430 2130 1000 Calculus & Analytic Geom I Freshman Composition I Engineering Success Skills Programming in C++ Principles of Macroeconomics Fitness Assessment & Mgt Second Semester Credits Dept. No. Course Credits 4 3 1 3 3 1 15 Math Engl GE SE PE 2740 1230 1030 2430 1xxx Calculus & Analytic Geom II Freshman Composition II Intro to Engineering Projects Obj.-Oriented Prog & Data Str I Phy Ed Activity Lab Science 4 3 1 3 1 4 16 SECOND YEAR First Semester Math Math SE SE 2730 2840 2630 2730 Second 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 CS EE Phys Phys Phil 3030 3630 3230 1210 2530 2531 2540 Artificial intelligence OR Database Design & Implement Comp Architec/Oper Systems Circuit Modeling I General Physics I General Physics I Lab Science, Technology & Ethics 3 3 3 3 1 3 16 THIRD YEAR First Semester SE SE CS EE BSAD SPCH 3430 3730 3830 3770 2330 1010 Object-Oriented Analysis & Des Software Quality Data Comm & Comp Network Logic & Digital Design Leadership & Management Public Speaking Second Semester 3 3 3 3 3 2 17 SE SE EE Phys 3330 3860 3780 2640 Intermediate Software Engineering Software Maint & Reengineering Intro to Microprocessors General Physics II Hum or Soc Sciences Elective 3 3 3 4 3 16 FOURTH YEAR First Semester SE CS Math EE 4330 3520 4030 4720 Software Engineering Project 1 Program Lang Structures Statistical Methods w/Apps Micro Arch & Interfacing Hum or Soc Sc Elective Second Semester 3 3 3 4 3 16 SE SE SE Math Math 4130 4730 4110 3230 3630 Real-Time Embedded Sys Prog Software Engineering Project II SE Seminar Linear Algebra OR Differential Equations 1 Hum or Soc Science Elective 3 3 1 3 6 16 TOTAL CREDITS: ……………………………128 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, Computer Science, and Electrical Engineering 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 Software Engineering or Electrical Engineering course at most once. 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, 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 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 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. Effective Fall 2007 SOFTWARE ENGINEERING (128 Credits) Name: _______________________________________________ Date: ___________________________________________________ GR GR CR COURSE REMARKS Mathematics—21 Credits ____ ____ ____ ____ ____ ____ 4 4 4 3 3 3 Math 2640, Calculus & Analytic Geom. I ___________________ Math 2740, Calculus & Analytic Geom. II ___________________ Math 2840, Calculus & Analytic Geom. III __________________ Math 2730, Discrete Mathematics _________________________ Math 4030, Statistical Methods ___________________________ Math 3230, Linear Algebra OR ___________________________ Math 3630, Differential Equations _________________________ Basic Sciences—12 Credits ____ 4 Laboratory Science _____________________________________ ____ 3 Phys 2530, General Physics I _____________________________ ____ 1 Phys 2510, General Physics I Lab __________________________ ____ 4 Phys 2640, General Physics II _____________________________ Other Courses—15 Credits ____ 1 GE 1000, Engineering Success Skills________________________ ____ 1 GE 1030, Intro to Engineering Projects ______________________ ____ 3 ENGL 1130, Freshman Comp. I ____________________________ ____ 3 ENGL 1230, Freshman Comp. II ___________________________ ____ 3 BSAD 2330, Leadership and Management ____________________ ____ 2 Speech (Spch 1010/1250/2250/3250) ________________________ ____ 1 PE 1000, Fitness Assessment ______________________________ ____ 1 PE 1xxx, Phy. Ed. Activity ________________________________ Humanities & Social Sciences—21/30 Credits ____ 3 Humanities: Phil 2540, Science, Technology & Ethics ___________ ____ 3 Fine Arts Elective ________________________________________ ____ 3 Historical Perspective Elective ______________________________ ____ 3 2nd Hum., FA, HP in Same Discipline ________________________ ____ 3 Social Science: Econ 2130, Macroeconomics __________________ ____ 3 Social Science Elective ____________________________________ ____ 3 2nd Social. Sc. In Same Discipline ___________________________ ____ (3) International Education or International Exchange ______________ ____ (3) Ethnic Studies ___________________________________________ ____ (3) Gender Studies __________________________________________ CR COURSE REMARKS Software Engineering—Required Courses—31 Credits ____ 3 SE 2430, Object-Oriented Programming & Data Structures I _________ ____ 3 SE 2630, Object-Oriented Programming & Data Structures II ________ ____ 3 SE 2730, Introduction to Software Engineering ____________________ ____ 3 SE 3330, Intermediate Software Engineering ______________________ ____ 3 SE 3430, Object-Oriented Analysis and Design ____________________ ____ 3 SE 3730, Software Quality ____________________________________ ____ 3 SE 3860, Software Maintenance & Reengineering __________________ ____ 1 SE 4110, Software Engineering Seminar _________________________ ____ 3 SE 4130, Real-time Embedded Systems Programming ______________ ____ 3 SE 4330, Software Engineering Project I _________________________ ____ 3 SE 4730, Software Engineering Project II ________________________ Electrical Engineering—Required Courses—13 Credits ____ 3 EE 1210, Circuit Modeling I ___________________________________ ____ 3 EE 3770, Logic and Digital Design _____________________________ ____ 3 EE 3780, Introduction to Microprocessors ________________________ ____ 4 EE 4720, Micro. Architecture & Interfacing _______________________ Computer Science—Required Courses—15 Credits ____ 3 CS 1430, Programming in C++ _________________________________ ____ 3 CS 3230, Computer Architecture/Operating Systems ________________ ____ 3 CS 3520, Programming Language Structures ______________________ ____ 3 CS 3030, Artificial Intelligence OR _____________________________ CS 3630, Database Design and Implementation ____________________ ____ 3 CS 3830, Data Communication & Computer Networking ____________ Advising Record Date & Initial Date & Initial __________________________ __________________________ __________________________ ___________________________ __________________________ ___________________________