Site-wide links

Rochester Institute of Technology logo

These materials are copyright Rochester Institute of Technology.

www.rit.edu

Copyright, disclaimer, and contact information, available via the links in the footer of our site.

Part-time & Graduate Enrollment Services

actn-question-header
liveperson actn-apply actn-mail

Software Engineering BS

Program overview

As software becomes ever more common in everything from airplanes to appliances, there is an increasing demand for engineering professionals who can develop high-quality, cost-effective software systems. The BS in software engineering combines traditional computer science and engineering with specialized course work in software engineering.

Students learn principles, methods, and techniques for the construction of complex and evolving software systems. The major encompasses technical issues affecting software architecture, design, and implementation as well as process issues that address project management, planning, quality assurance, and product maintenance. Upon graduation, students are prepared for immediate employment and long-term professional growth in software development organizations.

Accreditation

The BS degree in software engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Curriculum

An important component of the curriculum is complementary course work in related disciplines. As with other engineering fields, mathematics and the natural sciences are fundamental. In addition, students must complete courses in related fields of engineering, business, or science. Three engineering electives, plus a three-course sequence in an application domain, provide the opportunity to connect software engineering principles to areas in which they may be applied. A required course in economics or finance bridges software engineering with the realities of the business environment.

The liberal arts component of the major consists of six core courses and a three-course concentration. A required ethics course helps students develop a sense of professionalism and social responsibility in the technical world.

Senior projects

Software engineering students take a two-course senior design sequence during their final year of study. The goal is for students to synthesize and apply the knowledge and experience they have gained in classes and on co-op assignments to a industry-sponsored project. Companies and other organizations with challenging technical problems frequently contact our software engineering faculty seeking assistance on a problem. Many of these issues find their solutions via the work of the senior project teams.

In the first course students organize themselves into teams, based on the number and complexity of the projects available. The bulk of the semester is devoted to requirements elicitation and architectural design, but also may include detailed design, prototyping, and even production, depending on the nature of the project. In addition, teams are responsible for assigning specific roles to team members and developing a project plan that includes scheduled, concrete milestones.

In the second course, students work on the tactical issues of development and deployment. Teams complete the construction and integration of their project, conduct testing, and demonstrate the final outcome to faculty and the sponsoring company.

Companies and organizations that have sponsored senior projects include Wegmans, Paychex, Moog, Northrup Grumman Security Systems, Intel Corp., Webster Financial Group, Oracle, Nokia, IBM Thomas Watson Research, PaeTec Communications, Alstom Signaling Inc., RIT Information and Technology Services, Harris Corporation (RF Communications Division), the Air Force Research Laboratory, Excellus Blue Cross Blue Shield, Telecom Consulting Group NE Corp. (TCN), and Videk.

Cooperative education

Students must complete 40 weeks of cooperative education prior to graduation. Students typically begin co-op in their third year of study, alternating semesters of study on campus with co-op blocks. To ensure that co-op is integrated with the academic program, students must complete their final co-op block prior to taking Software Engineering Project I.

Software engineering, BS degree, typical course sequence (semesters), effective fall 2013

CourseSem. Cr. Hrs.
First Year
CSCI-141 Computer Science I 4
MATH-181 LAS Perspective 7A: Project-based Calculus I 4
  LAS Foundation 1: First Year Seminar 3
  LAS Perspective 1 3
SWEN-101 Freshman Seminar 1
CSCI-142 Computer Science II 4
MATH-182 LAS Perspective 7B: Project-based Calculus II  4
MATH-190 Discrete Mathematics for Computing 3
SWEN-250 Personal SW Engineering 3
ENGL-150 LAS Foundation 2: Writing Seminar 3
  Wellness Education* 0
Second Year
PHYS-211 LAS Perspective 5: University Physics I 4
CSCI-262 Introduction to Computer Science Theory 3
COMM-251 Professional Communication for Software Engineers 3
SWEN-261 Introduction to Software Engineering 3
  LAS Perspective 2, 3 6
PHYS-212 LAS Perspective 6: University Physics II  4
STAT-205 Applied Statistics 3
SWEN-220 Math Models of Software Engineering 3
SWEN-262 Enginerring of Software Subsystems 3
Third Year
SWEN-256 Software Process and Project Management 3
SWEN-331 Secure Software System Development 3
  SWEN Design Elective 3
CMPE-340 Engineering Fundamentals of Computer Systems 4
  LAS Perspective 4 3
Fourth Year
SWEN-440 SW Sys. Reqts. & Arch. (WI) 3
SWEN-444 H.C. Reqts & Design 3
  SWEN Process Elective 3
  Math/science Elective 3
  Application Domain Elective 3
  LAS Immersion 1 3
Fifth Year
SWEN-561, 562 Software Engineering Project I, II 6
  Engineering Electives 6
  Application Domain Electives 6
  LAS Immersion 2, 3 6
  Free Electives 6
Total Semester Credit Hours 128

Please see New General Education Curriculum–Liberal Arts and Sciences (LAS) for more information.

(WI) Refers to a writing intensive course within the major.

* Please see Wellness Education Requirement for more information.

Additional information

Laboratories

Equipped with the latest technology, the software engineering department’s facilities include three student instructional studio labs, a specialized embedded systems lab, and a collaboration lab. In addition, freshmen are encouraged to take advantage of the department’s mentoring lab. Staffed by advanced software engineering students, the mentoring lab offers our newest students an environment where they can learn from those who have successfully fulfilled most of the program’s academic requirements.

Students enrolled in software engineering courses also can use any of the department’s eleven team rooms. Equipped with a computer and projector, network connections, a meeting table, comfortable seating for six, and generous whiteboard space, these rooms support the department’s commitment to teamwork, both inside and outside the classroom.

Senior software engineering students have unrestricted access to the department’s projects lab for the duration of their senior projects.