Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
Published byModified over 5 years ago
Presentation on theme: "Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005."— Presentation transcript:
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005
2 Background There are currently about 32 schools in the U.S. with a degree titled Bachelor of Science in Software Engineering, including: –Three major state colleges (Auburn, Florida State, Mississippi State) –Five AITU schools (Clarkson, Drexel, Milwaukee School of Engineering, RIT and Rose-Hulman) The 2005-06 ABET/EAC Criteria for Software Engineering: –“The program must demonstrate that graduates have: the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer science and supporting disciplines to complex software systems; and the ability to work in one or more significant application domains.”
3 Background (continued) The original program was greatly influenced by –Guidelines for Software Engineering Education, 1999 (co-author: Don Bagert) –1989 SEI Report on Graduate Software Engineering Education (co-author: Mark Ardis) A more recent source has been the Software Engineering 2004 volume published by IEEE- CS and ACM –Software Engineering Education Knowledge (SEEK)
4 Vision To be the #1 baccalaureate software engineering program in the world by means of excellent instruction, continuous curriculum innovation, and software engineering education leadership.
5 Mission The purpose of the Bachelor of Science in Software Engineering will be to educate students for careers as software professionals. To achieve these goals, the program will provide students the basic knowledge and fundamental principles upon which software engineering is based, encourage critical thinking and innovative approaches to problem solving, and introduce the students to the ethical and professional issues with which they must be concerned.
6 Educational Objectives Software engineering graduates will have been –educated in the theory, principles, tools and processes involved in the engineering of complex software systems (including analysis, design, construction, maintenance, quality assurance and project management) and given opportunities to put that knowledge into practice. –endowed with a sound background in computer science and mathematics. –shown how to solve problems in a team environment through effective use of written and oral communication skills. –introduced to the current issues presently involved in effectively performing duties as a software practitioner in an ethical and professional manner for the benefit of society, and to the reasons why lifelong learning is needed in order to keep current as new issues emerge. –provided with instruction sufficient to develop software in at least one application domain.
7 Measurable Outcomes Graduates of the software engineering program will have demonstrated –the ability to apply software engineering theory, principles, tools and processes, as well as the theory and principles of computer science and mathematics, to the development and maintenance of complex software systems. –the ability to design and experiment with software prototypes. –the ability to select and use software metrics. –the ability to participate productively on software project teams involving students from both software engineering and other majors. –effective communication skills through oral and written reports and software documentation evaluated by both peers and faculty. –(continued on next slide)
8 Measurable Outcomes (continued) Graduates of the software engineering program will have demonstrated –the ability to elicit, analyze and specify software requirements through a productive working relationship with project stakeholders. –the ability to evaluate the business and impact of potential solutions to software engineering problems in a global society, using their knowledge of contemporary issues. –the ability to apply appropriate codes of ethics and professional conduct to the solution of software engineering problems. –the knowledge required to understand the need for and the ability to perform in lifelong learning. –the basic knowledge required in a software engineering application domain track.
9 Major Milestones of Program to Date August 2002: White paper written by SE faculty for CSSE fall retreat October 2002: Interdisciplinary Committee on SE submits report December 2002: CSSE faculty approve proposal for program March 2003: Proposal approved at Institute Faculty Meeting May 2003: Proposal approved by Board of Trustees (May) Fall 2003: First SE majors, new SE courses first taught May 2004: First BSSE graduate (Ian Price) Fall 2004: First freshmen admitted as SE majors (about 20) February and May 2005: Nine additional SE graduates
10 Breakdown of Curriculum Hours Engineering Topics: 76 (required by ABET: 72) –Software Engineering – 40 –Computer Science – 28 –CSSE Electives - 4 –Electrical and Computer Engineering: 4 Math and Basic Sciences: 51 (required by ABET: 48) –Mathematics - 35 –Lab Sciences – 16 General Education: 37 –Humanities and Social Science - 36 –College and Life Skills - 1 Other: 28 –Application Domain Track courses (can also be counted in other areas) –Free Electives Total of 192 hours (same as for CS)
11 Software Engineering Courses CSSE 371 Software Requirements and Specification CSSE 372 Software Project Management CSSE 373 Formal Methods for Specification and Design CSSE 374 Software Architecture and Design I CSSE 375 Software Construction and Evolution CSSE 376 Software Quality Assurance CSSE 377 Software Architecture and Design II CSSE 497 Senior Project I CSSE 498 Senior Project II CSSE 499 Senior Project III
12 Role of the Introductory Sequence Although they are considered as computer science courses, the Fundamentals of Software Development sequence (CSSE 120/220/230) teach elementary SE principles throughout This allows RHIT to be perhaps the only BSSE program in the country to not have an “introduction to software engineering” course
13 Application Domain Tracks Current domain tracks –Commercial Applications –Biomedical –Electrical Engineering –Ethics and Law of Business –Engineering Management –Fundamentals of Engineering –Geography –Physical Modeling –Scientific Computing Each track is 12-22 hours and contains at least 12 hours of non-CSSE courses
14 Differences Between SE and CS Curricula There are five SE courses are required for SE but not CS –CSSE 373 Formal Methods for Specification and Design –CSSE 374 Software Architecture and Design I –CSSE 375 Software Construction and Evolution –CSSE 376 Software Quality Assurance –CSSE 377 Software Architecture and Design II The senior project sequence must be taken in SE, while CS majors can take either project or thesis There are five CSSE electives in CS –One of them must be a theory course –None of them can be from among the CSSE 373 through 377 –There is only one CSSE elective for SE ECE 332 (Computer Architecture II) is required in CS but not in SE SE requires the application domain track, while CS does not CS has three ECE/MA electives, while SE has just one MA elective
15 Software Engineering as a Second Major Normally, a double major student must satisfy all degree requirements of the primary major and take all of the major subject courses in the second major (including their prerequisites). However, it is essential that all SE double majors satisfy ABET/EAC software engineering accreditation criteria So someone with SE as a second major must also satisfy the application domain track requirements, and math and lab science courses totaling at least 48 hours, including at least one course in probability and statistics