ZDNet independently tests and researches products to bring you our best recommendations and advice. When you buy through our links, we may earn a commission.Our process
'ZDNet Recommends': What exactly does it mean?
ZDNet's recommendations are based on many hours of testing, research, and comparison shopping. We gather data from the best available sources, including vendor and retailer listings as well as other relevant and independent reviews sites. And we pore over customer reviews to find out what matters to real people who already own and use the products and services we’re assessing.
When you click through from our site to a retailer and buy a product or service, we may earn affiliate commissions. This helps support our work, but does not affect what we cover or how, and it does not affect the price you pay. Neither ZDNet nor the author are compensated for these independent reviews. Indeed, we follow strict guidelines that ensure our editorial content is never influenced by advertisers.
ZDNet's editorial team writes on behalf of you, our reader. Our goal is to deliver the most accurate information and the most knowledgeable advice possible in order to help you make smarter buying decisions on tech gear and a wide array of products and services. Our editors thoroughly review and fact-check every article to ensure that our content meets the highest standards. If we have made an error or published misleading information, we will correct or clarify the article. If you see inaccuracies in our content, please report the mistake via this form.
Software engineering blends coding and computer programming essentials with the principles of engineering. A software engineering degree trains students in programming languages, software design and development, and information systems technology, while emphasizing how to design, build, and integrate software into systems and networks.
Software engineering programs also build communication, critical thinking, and analytical abilities. With a software engineering degree, students learn the skills to work in software development, network engineering, system security engineering, and software project management.
The Bureau of Labor Statistics projects a 13% growth in computer and information technology occupations to 2030. To find out how to get into this expanding field, check out these rankings of the best online software engineering degrees below.
The 15 best online bachelor's in software engineering degrees
We used ZDNet's ranking methodology to assess online software engineering degrees based on curricula, convenience, cost, and overall outcome. By exploring the best online software degrees, you can find the program that best meets your needs and overall goals.
About the program: FIU's online computer engineering degree includes 128 credit hours of coursework. Within the curriculum, students complete coursework in concentrations such as data system software and embedded system software.
About the program: Within OSU's 180-credit-hour online degree in computer science, students can pursue a specialization in applied computer science. Software engineering coursework is worked into the curriculum.
Acceptance rate: 82%
Graduation rate: 64%
Avg. annual net price: $20,016
Time to completion: Four years
SAT range: 1080-1320
Minimum GPA: 3.0
Enrollment periods per year: Four
Course delivery method: Asynchronous
4. St. Cloud State University
St. Cloud, Minnesota
About the program: SCSU's software engineering degree is the only one in the discipline offered in the Minnesota State system. The online option serves as a degree-completion program.
About the program: ASU's online bachelor's degree in software engineering emphasizes project-focused learning. Students complete a project each semester as part of the program.
Acceptance rate: 64%
Graduation rate: 54%
Avg. annual net price: $13,971
Time to completion: Four years
SAT range: Not publicly available
Minimum GPA: 2.5
Enrollment periods per year: Three
Course delivery method: Asynchronous
7. Southern New Hampshire University
Manchester, New Hampshire
About the program: SNHU's online computer science bachelor's degree with a concentration in software engineering emphasizes software design and development techniques alongside code security trends in systems architecture.
About the program: Husson's online bachelor's degree in integrated technology in software development includes software, business, and advanced mathematics courses alongside an information systems internship.
Acceptance rate: 85%
Graduation rate: 59%
Avg. annual net price: $18,286
Time to completion: Four years
SAT range: 960-1140
Time to completion: Four years
Minimum GPA: Not publicly available
Enrollment periods per year: Rolling
10. Limestone University
Gaffney, South Carolina
About the program: Limestone's online computer science degree in programming builds foundational knowledge of programming, systems administration, security, and architecture.
Anthony Girolamo leads the product and engineering organization at Flexe. His teams are responsible for the development of the Flexe Logistics Platform. Prior to joining Flexe, Anthony spent nine years at Amazon as a senior technical leader of Amazon Fulfillment Technologies and Supply Chain Optimization Technologies. He also held senior software engineering positions at Microsoft, and received both his BSE and MSE in computer science at the University of Michigan.
ZDNet: What are the most rewarding aspects of your career? What are the most challenging aspects of your career?
Anthony Girolamo: I currently lead product and engineering teams at Flexe, a Seattle based technology company that delivers omnichannel logistics programs for the world's largest retailers and brands. I value the opportunity to build something new from the ground up. Working at a startup is like having an open canvas to create and innovate, and that excites me even 20+ years into my career.
I continue to learn and face new challenges in the world of logistics. When I dipped my toe into the industry during my early days at Amazon, I underestimated the intricate process of moving goods from point A to point B. Every day holds the potential for countless disruptions –– from inventory delays to inclemate weather to labor shortages. Writing software to manage complex supply chain operations is difficult, but it's also an incredibly compelling engineering challenge to solve.
ZDNet: What was the most challenging, rigorous course you took in your software engineering program? What advice would you give to students who are about to start this course?
AG: "Introduction to Algorithms," which was named after a book by Thomas H. Cormen. During the course, I learned how to rigorously formulate my thoughts into simple step-by-step instructions, and then prove their correctness and run-time performance. It was humbling, challenging, and exciting.
I highly recommend that software engineering students form a solid study group. In addition to the practical benefits –– understanding the curriculum and working through problems as a team –– my study group grew into a circle of close friends. Turns out doing hard things is just more fun with great people.
Also, remember to be kind to yourself. It took me a long time to realize that I should focus inwards, not outwards, when benchmarking my progress. This course challenged my assumptions about what "good" and "success" can look like in the classroom. Appreciate the small improvements even if those around you seem to make "bigger" improvements.
ZDNet: What are the advantages of pursuing a software engineering degree specifically, among many other possible computer science degrees?
AG: At the risk of dating myself, there weren't as many options for software degrees when I started college. Previously the options were computer science, computer engineering (which was computer hardware focused), or electrical engineering.
The strongest software engineering programs focus equally on theoretical and practical aspects of software engineering. A solid understanding of run-time and space-time complexity, as well as concepts like NP-completeness, are helpful to see patterns in types of software problems, but they aren't likely something students will use in future jobs post-graduation.
Programs that focus on capstone group projects or internships/co-ops are also great because they expose students to real-world software engineering settings where they can work with teams to solve open-ended problems. When hiring software engineers, this type of experience stands out as a key differentiator for candidates.
ZDNet: How did you make the most of your software engineering degree program so that it prepared you for post-grad jobs?
AG: Focus on people and connections. When studying at the University of Michigan, I joined Eta Kappa Nu and I worked as a Graduate Student Instructor. Both opportunities helped me connect with different people who formed the basis of my professional network. I continue to keep in touch with many of those individuals nearly two decades later.
Learn to love learning. Technology changes fast. What you learn in a specific class will probably be legacy by the early days of your career. For example, my first programming languages were C and C++, which most students today don't learn first. However, many of the underlying principles remain. Regardless of domain, from distributed systems to machine learning to embedded devices, engineers often need data models, concurrency, networking, and input/output. Prepare to draw on the basic foundation of skills learned, but recognize that working in software engineering means career-long learning.
What to expect in an online bachelor's in software engineering degree program
Online software engineering degrees provide students with opportunities to work independently and with their classmates. Theoretical content and didactic coursework accompanies projects, practical learning activities, and group presentations. Active participation as part of a team prepares learners for careers in software design and development, while exams and assessments ensure comprehension of software engineering concepts and processes.
Earning a degree in software engineering requires understanding of technological principles and practices, but learners also need to be motivated, ambitious, and proactive. Creative thinking serves software engineering students and professionals well. Often, electives found within a software engineering program help learners tap into these abilities.
Software engineering courses
Software engineering programs vary in design and format, but many of the courses students take remain consistent across the board. Potential software engineering students can expect to learn about programming languages, software security, and the processes of software development.
Principles of programming
A course in the principles of programming familiarizes students with concepts consistent across programming languages. As students learn language paradigms, they gain insight into how to use and apply languages for procedural, functional, object-oriented, and scripting purposes.
Fundamentals of software design
Coursework in the fundamentals of software design gives students insight into the types of programs and software produced by software engineers. Learners explore the software development production cycle and how to manage the tools and technologies at each stage of the process.
Software assurance and security
Software assurance and security classes emphasize methods and techniques for designing, developing, and producing safe software. Learners learn about threats to software security, how to avoid vulnerabilities and attacks, and how to mitigate and troubleshoot security issues.
Introduction to programming languages
Software engineering degree levels
Software engineering degree types serve learners at different stages of their lives. An associate degree can lead to entry-level jobs or be a pathway to a bachelor's degree in software engineering.
Graduate degrees in software engineering benefit individuals who want to advance in computer and information technology roles. Learners with master's or doctorate degrees in software engineering can also pursue careers in academia and research.
Associate in software engineering
Length: Two years
Cost: $3,000 to $10,000
Post-grad careers: Computer programmer, software tester, computer support specialist
An associate degree in software engineering introduces students to the foundations of computer technology and engineering concepts. Alongside coursework in coding languages like Java and Python, learners learn how to design software for various computer platforms.
With an associate degree, individuals can work at entry-level positions in computer and information technology. The program also prepares learners to continue onto a bachelor's degree in software engineering or a related field.
Bachelor's in software engineering
Length: Four years
Cost: $20,000 to $100,000
Post-grad careers: Software developer, computer systems architect, network architect
Alongside classes in mathematics, natural science, English, and the humanities, students earning a bachelor's degree in software engineering explore topics such as computer programming languages, software security, and web application development.
As part of a bachelor's degree, learners take part in individual projects and activities, group work, and practical requirements. Many bachelor's degrees provide internship and field experience opportunities to help students explore potential career options.
Master's in software engineering
Length: Two years
Cost: $8,000 to $75,000
Post-grad careers: Software engineer, database administrator, information technology manager
As an advanced software engineering degree, a master's in the discipline enhances existing knowledge and skills. Ideal for individuals who want to become managers and leaders in the world of software design and development, a master's degree in software engineering includes roughly two years of coursework.
Students grow their understanding of principles and practices of software engineering and often have opportunities to specialize in a subset of the discipline. A software engineering master's degree also emphasizes research, potentially leading to a cumulative project or thesis requirement.
Doctorate in software engineering
Length: 4-7 years
Cost: $20,000 to $90,000
Post-grad careers: Chief information technology officer, university professor, senior software engineer
A doctorate in software engineering leads to roles in academia, research, and industry alike. Doctoral programs in software engineering ground students in advanced software design and development concepts and research methods.
Once learners complete requisite coursework, they complete comprehensive exams and undertake a research project that looks at a challenge or issue in the field of software engineering. This culminates in a dissertation.
Many personal and professional opportunities await for students entering the expanding field of software engineering. If you want to know more about how to become a software engineer, check out the programs above. The rankings take several factors into consideration to help you find the program that best meets your career goals.