Software Engineering Bachelor of Science Degree

Software Engineering
Bachelor of Science Degree
- RIT /
- Rochester Institute of Technology /
- Academics /
- Software Engineering BS
In RIT’s software engineering degree, you’ll gain hands-on experience in a collaborative community while learning to design, deploy, and manage software applications.
Overview for Software Engineering BS
Why Pursue a Software Engineering Degree at RIT?
Hands-on Experience: 40 weeks of required cooperative education and internship means nearly a year of hands-on, full-time paid career experience.
Senior Project: In this two-course senior design project, you will synthesize and apply the knowledge and experience you have gained to solve a current challenge in the software industry.
Access to High-Tech Laboratories: Facilities include three student instructional studio labs, a specialized embedded systems lab, and a collaboration lab.
Growing Industry Demand: According to U.S. Bureau of Labor Statistics, employment of software developers is projected to grow 17 percent from 2023 to 2033, much faster than the average (4%) for all occupations.
Building with AI: SE is fundamentally about building things—and AI is transforming how we build. At RIT, you’ll have access to AI experts in the classroom and AI woven throughout the curriculum.
Accelerated Bachelor’s/Master’s Available: Earn both your bachelor’s and your master’s in less time and with a cost savings, giving you a competitive advantage in your field.
STEM-OPT Visa Eligible: The STEM Optional Practical Training (OPT) program allows full-time, on-campus international students on an F-1 student visa to stay and work in the U.S. for up to three years after graduation.
What is Software Engineering?
Software engineering uses principles of both engineering design and computer science to develop, test, deploy, maintain, and repair software applications and computer systems. As software becomes more common in everything from airplanes to appliances, there is an increasing demand for engineering professionals who can use programming languages, frameworks, and methodologies to build high-quality, cost-effective software systems.
RIT’s Bachelor’s Degree in Software Engineering
The BS degree in software engineering combines traditional computer science and engineering with specialized software engineering courses. You will learn principles, methods, and techniques for the construction of complex and evolving software systems. The degree in software engineering 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, you will be prepared for a career in software engineering and long-term professional growth in a range of software development organizations.
Software Engineering Courses
We offer challenging software engineering courses that prepare you for the demands and challenges of the software industry. The bachelor's degree in software engineering consists of both core and elective courses that focus on the software engineering lifecycle. In addition, you must complete a senior project on a team of four or five students.
The bachelor of software engineering includes four key elements: engineering design, software product development, teamwork, and communication. The curriculum ensures that your coursework is balanced between software design principles and software process practices.
In every software engineering course, teamwork is emphasized with a significant part of the final grade being based on team project activities. By the time you start your senior project, you will have worked with 20 to 25 different student teams in your software engineering courses.
You will also develop your communication skills by preparing engineering documentation, such as requirements documents, design documents, project plans, burndown charts, and software test plans. At the end of each project cycle, you will do an oral presentation and receive critique from the instructor and other students in the class.
The software engineering degree focuses on developing skills to:
- Model and analyze proposed and existing software systems, especially through the use of discrete mathematics and statistics.
- Apply quality principles to the definition of software systems and processes.
- Analyze and design complex software systems using contemporary principles such as cohesion and coupling, abstraction and encapsulation, design patterns, frameworks, and architectural styles.
- Apply contemporary software engineering methods to planning, management, and development of software systems.
- Accurately communicate technical material related to all phases of the software life cycle via concise and correct documents, graphics and oral presentations.
- Work in small teams to develop a software system. This includes the ability to assume distinct operational roles (e.g., configuration management, quality assurance) in addition to design and implementation.
- Assess the social, environmental, and cultural factors arising from existing software systems as well as potential risks of proposed systems with a clear understanding of the ethical and professional responsibilities necessary for different software product lines.
- Relate principles of software engineering to at least one application domain where those principles can be applied.
- Explore new topics in software engineering or related application domains with limited oversight and input from faculty or mentors.
- Rapidly learn, assess, and adapt to new languages, environments, and paradigms for software development.
With the skills obtained in the software engineering degree, you will be able to design and build quality software solutions that meet the customer's requirements and are delivered on time, without defects, and within budget.
Software Engineering Elective Courses
In the software engineering degree, an important component of the curriculum is the complementary course work in related disciplines. As with other engineering fields, mathematics and the natural sciences are fundamental. In addition, you must complete courses in related fields of engineering, business, or science. Two engineering electives, plus a three-course sequence in an application domain, enable you to connect software engineering principles to application areas.
The curriculum is flexible in allowing you to choose elective courses that most interest you and align with the software engineering major. A sampling includes:
Field Sample Elective Courses*
Software Engineering Design Software Modeling, Software Architecture, Mathematical Models of Software
Software Engineering Process Software Testing, Process Engineering, Collaborative Software Development
Engineering Cryptography and Authentication, Internet of Things Security, Game Design and Development II
Professional Financial Accounting, Business Law I, Entrepreneurship, Principles of Marketing
Math/Science General Biology, Soil Science, Multivariable Calculus, Differential Equations
* A full list of software engineering elective courses is listed in the curriculum section.
Enhance Your Software Engineering Degree with a Minor and Immersion
Adding a minor in a complementary area of study deepens your expertise in the core areas of software engineering, and more. With dozens of minors and immersions to choose from, you’ll have your choice of topics to study. While you may choose any minor or immersion as part of your studies, select minors serve to boost the bachelor's degree in software engineering. These include:
- Math
- Applied Statistics
- Economics
- Music
- Creative Writing
- Computer Science
- Business Administration
Software Engineering Degree Senior Design Project
This two-course senior design project will help you synthesize and apply the knowledge and experience you 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 software engineering senior project teams.
In the first course, you will determine the requirements and architectural design of the project. In the second course, you will work on the tactical issues of development and deployment 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.
Further Your Career in Software Engineering
Today’s careers require advanced degrees grounded in real-world experience. RIT’s Combined Accelerated Bachelor’s/Master’s Degrees enable you to earn both a bachelor’s and a master’s degree in as little as five years of study, all while gaining the valuable hands-on experience that comes from co-ops, internships, research, study abroad, and more.
- Software Engineering BS/MS: With a BS in software engineering, you will be prepared for success in industry as you learn to deliver impactful software on time and on budget. Co-ops and senior projects provide valuable real world, hands-on experience that prepare you to hit the ground running in industry. By adding the software engineering MS, you will gain advanced skills. In addition, you may also conduct graduate-level research in key areas including data science for software engineering, artificial intelligence applications in software engineering, and software modeling.
- Software Engineering BS/Cybersecurity MS: The BS/MS pathway in software engineering and cybersecurity gives students a well-rounded background in the development and deployment of software complemented by specialization in cybersecurity. With their BS in software engineering students will be prepared for success in industry as they learn to deliver impactful software on time and on budget. Building on this, the MS in cybersecurity program delves into advanced topics such as enterprise-level security strategies and trusted computing, as well as research topics like Internet-of-Things (IoT) security and covert communications. Through hands-on experiences in labs and with partner companies, students will develop a dynamic skill sets attractive to industry.
- Software Engineering BS/Computer Science MS: The BS/MS pathway in software engineering and computer science gives you a well-rounded background in the development and deployment of software complemented by specializations in advanced fields. With the BS in software engineering, you will be prepared for success in industry as you learn to deliver impactful software on time and on budget. With the MS in computer science you will dive deeper into computer graphics and visualization, data management, and AI while participating in research and co-ops that enable you to gain hands-on experience in industry. This apporach will make you highly sought after for employment after graduation. Some students may also pursue advanced education by earning a Ph.D.
- +1 MBA: Students who enroll in a qualifying undergraduate degree have the opportunity to add an MBA to their bachelor’s degree after their first year of study, depending on their program. Learn how the +1 MBA can accelerate your learning and position you for success.
-
Meet us on campus
Learn about academics, co-op and internships, financial aid, and more at one of our on-campus open houses.
October 13 | October 25 | November 8
Careers and Cooperative Education
Typical Job Titles
Application Engineer | Associate Software Engineer | Embedded Software Engineer |
Full Stack Developer | Global Technology Analyst | iOS Developer |
Quality Assurance Engineer | Software Test Engineer | System Infrastructure Engineer |
Web Developer |
Industries
-
Internet and Software
-
Electronic and Computer Hardware
-
Health Care
-
Utilities and Renewable Energy
Cooperative Education
What’s different about an RIT education? It’s the career experience you gain by completing cooperative education and internships with top companies in every single industry. You’ll earn more than a degree. You’ll gain real-world career experience that sets you apart. It’s exposure–early and often–to a variety of professional work environments, career paths, and industries.
Co-ops and internships take your knowledge and turn it into know-how. Your computing co-ops will provide hands-on experience that enables you to apply your computing knowledge in professional settings while you make valuable connections between classwork and real-world applications.
Students in the software engineering degree are required to complete three blocks (40 weeks) of cooperative education experience.
Featured Work and Profiles
-
SE Students Use AI to Help Local Business Expand Across North America
While kids are out having fun, RIT software engineers are hard at work building the tech that helps families identify events and activities in their area.
Read More about SE Students Use AI to Help Local Business Expand Across North America -
Pursue Your Passion in Software Engineering at RIT
Explore the software engineering BS experience at RIT in this video highlight.
Read More about Pursue Your Passion in Software Engineering at RIT -
From Computing Exploration to Microsoft
Quincy Myles Jr. ’25 Meet Quincy Myles Jr., a fifth-year software engineering student pursuing a plus-one MBA.
Read More about From Computing Exploration to Microsoft
Curriculum for 2025-2026 for Software Engineering BS
Current Students: See Curriculum Requirements
Loading data...
Admissions and Financial Aid
This program is STEM designated when studying on campus and full time.
First-Year Admission
First-year applicants are expected to demonstrate a strong academic background that includes:
- 4 years of English
- 3 years of social studies and/or history
- 4 years of mathematics is required and must include algebra, geometry, algebra 2/trigonometry, and pre-calculus. Calculus is preferred.
- 2-3 years of science is required and must include chemistry or physics; both are preferred.
- Computing electives are preferred.
Transfer Admission
Transfer applicants should meet these minimum degree-specific requirements:
- A minimum of precalculus is required. Calculus is preferred.
- Chemistry or physics is required.
- Computing courses are preferred.
Financial Aid and Scholarships
100% of all incoming first-year and transfer students receive aid.
RIT’s personalized and comprehensive financial aid program includes scholarships, grants, loans, and campus employment programs. When all these are put to work, your actual cost may be much lower than the published estimated cost of attendance.
Learn more about financial aid and scholarships
Accreditation
Loading data...
Related News
-
August 12, 2025
Student incubator provides space for aspiring entrepreneurs
The Bernard Kozel StartUP Program @ Saunders is helping student teams turn innovative ideas into the beginnings of tangible businesses.
-
June 3, 2025
Senior project uses AI-powered tools to help local business expand across North America
A team of software engineering students is completing a senior project with KidsOutAndAbout.com, an event curation platform that helps families find local events.
-
April 26, 2025
Thousands celebrate technology and creativity at Imagine RIT
A record 434 exhibits were on display across the entire campus for Imagine RIT: Creativity and Innovation Festival, a signature, interactive event that showcases the imaginative and inventive spirit of college students.
Contact
- Andy Meneely
- Associate Professor
- Department of Software Engineering
- Golisano College of Computing and Information Sciences
- 585‑475‑7829
- andy.meneely@rit.edu
Department of Software Engineering