Semester Requirements
James Vallino, Chair
(585) 475-2991, J.Vallino@se.rit.edu
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
| Course | Sem. 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.
Click to view program requirements in the Quarter Calendar
Quarter Curriculum - For Reference Only
Effective fall 2013, RIT will convert its academic calendar from quarters to semesters. The following content has been made available as reference only. Currently matriculated students who began their academic programs in quarters should consult their academic adviser for guidance and course selection.
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 program 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 program 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 quarters 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 (quarters)
| Course | Qtr. Cr. Hrs. | |
|---|---|---|
| First Year | ||
| 4010-101 | Freshman Seminar | 1 |
| 4003-241 | Problem-Based Introduction to Computer Science | 4 |
| 4003-242 | Data Structure Problem Solving | 4 |
| 4003-243 | Object-Oriented Programming | 4 |
| 1016-281, 282, 283 | Calculus I, II, III | 12 |
| 1016-265, 366 | Discrete Mathematics I, II | 8 |
| Liberal Arts* | 8 | |
| Wellness Education† | 0 | |
| 1720-050 052 | First-Year Enrichment I, II | 2 |
| Second Year | ||
| 4010-350 | Personal Software Engineering | 4 |
| 4010-361 | Software Engineering | 4 |
| 4010-362 | Engineering of Software Subsystems | 4 |
| 0535-351 | Professional Communications | 4 |
| 1017-311 | University Physics I | 4 |
| Choose one of the following science sequences: | 8 | |
| 1017-312, 313 | University Physics II, III | |
| 1011-215, 216 205, 206 | Chemical Principles I, II, and Labs | |
| 1001-201, 202, 205, 206 | General Biology I, II, and Labs | |
| 1016-314 | Engineering and Statistics | 4 |
| 0306-340 | Engineering Fundamentals of Computer Systems | 4 |
| 4003-380 | Introduction to Computer Science Theory | 4 |
| Liberal Arts* | 8 | |
| Wellness Education† | 0 | |
| Third, Fourth, and Fifth Year | ||
| Math/Science Elective‡ | 4 | |
| 4010-456 | Software Process and Project Management | 4 |
| 4010-444 | Engineering Methods for Software Usability | 4 |
| 4010-441 | Principles of Concurrent Systems | 4 |
| 4010-540 | Principles of Software Architecture and Design | 4 |
| 4010-420 | Formal Methods of Specification and Design | 4 |
| 4010-555 | Software Requirements Engineering | 4 |
| 4010-561, 562 | Software Engineering Project I, II | 8 |
| Software Engineering Electives** | 12 | |
| Application Domain Electives§ | 12 | |
| Engineering Electives†† | 12 | |
| Free Electives | 12 | |
| Liberal Arts* | 20 | |
| Cooperative Education (four quarters required) | Co-op | |
| Total Quarter Credit Hours | 195 | |
* Please see Liberal Arts General Education Requirements for more information.
† Please see Wellness Education Requirement for more information.
‡ Software engineering majors are required to take one four-credit math/science elective from the following list: College Chemistry (1011-208), General Biology (1011-201), Matrix Algebra (1016-331), Combinatorial Mathematics (1016-365), Differential Equations (1016-306) or Theory of Graphs and Networks (1016-467)
§ Each student must complete a three-course sequence in an application domain related to software engineering. Current domains include industrial and systems engineering, bioinformatics, business applications, computational mathematics, computer security, economics, interactive entertainment, public policy, remote sensing, usability, computer engineering, artificial intelligence, scientific and engineering computing, imaging and publishing technology.
** Students must choose three of the following courses: Principles of Distributed Software Systems (4010-442), Principles of Information Systems Design (4010-443), Software Process and Product Quality (4010-450), Software Testing (4010-452), or Agile Software Development (4010-556).
†† Each student must complete three separate or related engineering electives. Choices can be made from software engineering, industrial and systems engineering, computer engineering, and other pre-approved computer science courses. Prerequisites apply.
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.