Skip to content Skip to navigation

Software Engineering BS degree

Naveen Sharma, Chair
585-475-2472, naveen@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 software engineering major 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.

Plan of study

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. Two engineering electives, plus a three-course sequence in an application domain, enable students to connect software engineering principles to application areas. A required course in economics or finance bridges software engineering with the realities of the business environment.

Students also complete general education courses in the liberal arts to develop a sense of professionalism and social responsibility in the technical world.

Electives

Engineering electives

Students may choose engineering electives from software engineering, computer science, or majors in the Kate Gleason College of Engineering. Additional rules and restrictions are listed on the department website.

Application domain courses

An application domain is a set of three courses that expose students to an area in which software engineering is often applied. There are standard predefined application domains and students are free to suggest a customized domain. Example application domain areas include: artificial intelligence, bioinformatics, business applications, computational mathematics, computer engineering, computing security, economics, entrepreneurship, industrial and systems engineering, interactive entertainment, public policy, scientific and engineering computing, statistics, or usability.

Senior design project

A two-course senior design project helps students synthesize and apply the knowledge and experience they have gained in classes and on co-op assignments to an industry-sponsored project. Organizations with challenging technical problems frequently contact faculty seeking assistance in defining a solution. Many of these issues find their resolution 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 organization.

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 are required to 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 curriculum, students must complete their final co-op block prior to taking Software Engineering Project I (SWEN-561).

Accreditation

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

Curriculum

Software engineering, BS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CSCI-141, 142 Computer Science I, II 8
MATH-181, 182 LAS Perspective 7A, 7B: Project-based Calculus I, II 8
  LAS Perspective 1, 2 6
SWEN-101 Freshman Seminar 1
MATH-190 Discrete Mathematics for Computing 3
SWEN-250 Personal Software Engineering 3
  First Year Writing Seminar 3
ACSC-010 Year One: College Experience 0
  Wellness Education* 0
Second Year
PHYS-211, 212 LAS Perspective 5, 6: University Physics I, II 8
SWEN-220 Mathematical Models of Software 3
COMM-253 Communication (WI) 3
PHYS-211, 212 LAS Perspective 5, 6: University Physics I, II 8
SWEN-261 Introduction to Software Engineering 3
  LAS Perspective 3, 4 6
STAT-205 Applied Statistics 3
SWEN-256 Software Process and Project Management 3
SWEN-262 Engineering of Software Subsystems 3
  Cooperative Education (summer) co-op
Third Year
CSCI-261 Analysis of Algorithms 3
SWEN-444 Human-Centered Requirements and Design 3
  SWEN Process Elective 3
  Math/Science Elective 3
  LAS Immersion 1 3
  Cooperative Education (spring) co-op
Fourth Year
SWEN-440 Software Engineering System Requirements and Architecture (WI) 3
SWEN-331 Engineering Secure Software 3
CMPE-240 Engineering Fundamentals of Computer Systems 4
  Math/Science Elective 3
  LAS Immersion 2 3
  Cooperative Education (spring) co-op
Fifth Year
SWEN-561, 562 Software Engineering Project I, II 6
  Engineering Electives 6
  Professional Elective 3
  SWEN Design Elective 3
  LAS Immersion 3 3
  Free Electives 9
Total Semester Credit Hours 125

Please see 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. Students completing bachelor's degrees are required to complete two Wellness courses.

Accelerated dual degree options

Accelerated dual degree options are for undergraduate students with outstanding academic records. Upon acceptance, well-qualified undergraduate students can begin graduate study before completing their BS degree, shortening the time it takes to earn both degrees. Students should consult an academic adviser for more information.

Software engineering, BS/MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CSCI-141 Computer Science I 4
CSCI-142 Computer Science II 4
MATH-181, 182 LAS Perspective 7A, 7B: Project-based Calculus I, II 8
  LAS Perspective 1, 2 6
SWEN-101 Software Engineering Seminar 1
MATH-190 Discrete Mathematics for Computing 3
SWEN-250 Personal Software Engineering 3
  First Year Writing Seminar 3
ACSC-010 Year One: College Experience 0
  Wellness Education* 0
Second Year
PHYS-211, 212 LAS Perspective 5, 6: University Physics I, II 8
COMM-253 Communication (WI) 3
SWEN-256 Software Process and Project Management 3
SWEN-261 Introduction to Software Engineering 3
  LAS Perspective 3, 4 6
STAT-205 Applied Statistics 3
SWEN-220 Math Models of Software Engineering 3
SWEN-262 Engineering of Software Subsystems 3
Third Year
SWEN-440 Software System Requirements and Architecture (WI) 3
SWEN-444 Human-Centered Requirements and Design 3
CSCI-261 Analysis of Algorithms 3
  Math/Science Elective 3
  LAS Immersion 1 3
  LAS Perspective 4 3
  Cooperative Education  co-op
Fourth Year
CMPE-240 Engineering Fundamentals of Computer Systems 4
SWEN-331 Engineering Secure Software  3
SWEN-722 Process Engineering 3
  Application Domain Elective 3
  LAS Immersion 2 3
  Cooperative Education  co-op
Fifth Year
SWEN-561, 562 Software Engineering Project I, II 6
SWEN-749 Software Evolution and Reengineering 3
  SWEN Design Elective 3
  Professional Elective 3
  LAS Immersion 3 3
  Free Electives 9
SWEN-640 Research Methods 3
Sixth Year
SWEN-790 Thesis 6
SWEN-799 Software Engineering Independent Study 3
SWEN-755 Software Architectures and Product Lines 3
  Graduate Electives 9
Total Semester Credit Hours 146

Please see 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. Students completing bachelor's degrees are required to complete two Wellness courses.

Software engineering, BS degree/Computing security, MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
CSCI-141, 142 Computer Science I, II 8
MATH-181, 182 LAS Perspective 7A, 7B: Calculus I, II 8
SWEN-101 Freshman Seminar 1
MATH-190 Discrete Mathematics for Computing 3
SWEN-250 Personal Software Engineering 3
  LAS Perspective 1, 2 6
  First Year Writing Seminar 3
ACSC-010 Year One: College Experience 0
  Wellness Education* 0
Second Year
PHYS-211, 212 LAS Perspective 5, 6: University Physics I, II 8
COMM-253 Communication (WI) 3
SWEN-261 Introduction to Software Engineering 3
STAT-205 Applied Statistics 3
SWEN-256 Software Process and Project Management 3
SWEN-220 Math Models of Software Engineering 3
SWEN-262 Engineering of Software Subsystems 3
  LAS Perspective 3, 4 6
  Cooperative Education (summer) co-op
Third Year
CSCI-261 Analysis of Algorithms 3
SWEN-444 Human-Centered Requirements and Design 3
  SWEN Process Elective 3
  LAS Immersion 1 3
  Math/Science Elective 3
  Cooperative Education (spring) Co-op
Fourth Year
CMPE-240 Engineering Fundamentals of Computer Systems 4
SWEN-331 Engineering Secure Software 3
SWEN-440 Software System Requirements and Architecture (WI) 3
  Math/Science Elective 3
  LAS Immersion 2 3
  Cooperative Education (spring) Co-op
Fifth Year
SWEN-561, 562 Software Engineering Project I, II 6
CSEC-731 Web Server and Application Security Audits 3
CSEC-733 Information Security and Risk Management 3
CSEC-742 Computer System Security 3
  LAS Immersion 3 3
  SWEN Design Elective 3
  Engineering Electives 6
  Professional Elective 3
Sixth Year
CSEC-601 Research Methods and Proposal Development 3
CSEC-603 Enterprise Security 3
CSEC-604 Cryptography and Authentication 3
  CSEC Graduate Electives 6
CSEC-790 CSEC Thesis 6
Total Semester Credit Hours 146

Please see 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. Students completing bachelor’s degrees are required to complete two Wellness courses.

Engineering electives

  Any software engineering (SWEN) elective course
  Any course offered through the College of Engineering (exceptions apply)
CSCI-331 Introduction to Intelligent Systems
CSCI-344 Programming Language Concepts
CSCI-351 Data Communications and Networks I
CSCI-352 Operating Systems
CSCI-420 Principles of Data Mining
CSCI-431 Introduction to Computer Vision
CSCI-442 Language Processors
CSCI-451 Data Communications and Networks II
CSCI-454 Parallel Computing
CSCI-462 Cryptography
CSCI-510 Introduction to Computer Graphics

Software engineering design electives

SWEN-342 Engineering of Concurrent and Distributed Software Systems
SWEN-343 Engineering of Enterprise Software Systems
SWEN-344 Engineering of Web-based Software Systems
SWEN-563 Real Time and Embedded Systems
SWEN-564 Modeling of Real Time Systems
SWEN-565 Performance Engineering of Real Time and Embedded Systems
SWEN-567 Hardware Software Co-design for Cryptographic Applications
SWEN-549 Software Engineering Design Seminar

Software engineering process electives

SWEN-350 Software Process and Product Quality
SWEN-352 Software Testing
SWEN-356 Trends in Software Development Processes
SWEN-559 Software Engineering Process Seminar

Professional electives

BLEG-200 Business Law I
DECS-310 Operations Management
INTB-225 Global Business Environment
MGMT-215 Organizational Behavior
MGMT-350 Entrepreneurship
MGMT-420 Managing Innovation and Technology
MKTG-230 Principles of Marketing

Math/Science electives*

BIOL-101 General Biology I
BIOL-102 General Biology II
CHMG-141, 145 General and Analytical Chemistry I with Lab
CHMG-142, 146 General and Analytical Chemistry II with Lab
CSCI-262 Introduction to Computer Science Theory
ENVS-101 Concepts of Environmental Science
IMGS-111 Imaging Science Fundamentals
IMGS-112 Astronomical Imaging Fundamentals
ITDS-280 Designing of Scientific Experiments
MATH-219 Multivariable Calculus
MATH-231 Differential Equations
MATH-241 Linear Algebra
MATH-251 Probability and Statistics I
MATH-351 Graph Theory
MATH-367 Codes and Ciphers
PHYS-220 University Astronomy

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, this lab offers new students an environment where they can learn from those who have successfully fulfilled most of the major'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, seating for six, and generous whiteboard space, these rooms support the department’s commitment to teamwork, both inside and outside the classroom.




Effective fall 2013, RIT converted its academic calendar from quarters to semesters.
View this program's information from the retired quarter calendar

Quarter Curriculum - For Reference Only

Effective fall 2013, RIT converted 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.