Harvard University
- Massachusetts Hall Cambridge, MA 02138
- (617) 495-1000
- Visit website
- Retention rate: 98%
- Programs offered: 38
Source:IPEDSCollege Scorecard
BestOnlineCollege.org is an advertising-supported website. Many of the school and program listings that appear on this site are from partners who compensate us, and this compensation may affect how, where, and in what order listings appear (such as featured placements). This compensation does not influence our editorial content, evaluations, or rankings, which are determined independently using publicly available data. We do not review or feature every school or program available in the marketplace. Our goal is to provide accurate, unbiased information so you can make informed decisions. Read our full Advertiser Disclosure.
Key takeaway: Software development degrees train you to build working software – not to study computation in the abstract. Both levels are well established online: a BS in Software Development or Software Engineering at the undergraduate level, and an MS in Software Engineering at the graduate level. The curriculum runs from programming fundamentals and data structures through software architecture, testing, and agile and DevOps practice, and almost always ends in a team capstone. There is no separate accreditor for “software development” as a title, but ABET accredits software engineering and computing programs, and institutional accreditation is the baseline check. Compare accredited programs below.
The distinction that matters most when you are choosing is software development versus computer science. A computer science degree is built around the theory of computation – algorithms, complexity, formal languages, systems. A software development degree is built around the practice of producing and maintaining software that other people depend on: requirements, design, version control, code review, testing, release, and the discipline of working on a codebase you did not write alone. Both lead to developer jobs. They emphasize different things on the way there. Accredited online programs generally deliver the same curriculum and degree titles as campus programs; browse the best accredited online colleges to compare schools that offer them.
These accredited schools offer online programs. Request information to compare programs, costs, and formats.
Every school list on this site is ordered by the BOC Score, computed from the most recent school-level data published by the U.S. Department of Education (College Scorecard and IPEDS). To qualify, a school must be currently operating and accredited by an agency recognized by the U.S. Department of Education. Each eligible school is then scored on five measures, percentile-ranked against schools at the same credential level:
Schools without enough outcome data appear after ranked schools, without a score. Advertising never affects these rankings. Read the full methodology.
Source:IPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Source:Accreditor: Northwest Commission on Colleges and UniversitiesIPEDSCollege Scorecard
Source:IPEDSCollege Scorecard
Software development graduates work in software companies, financial services, healthcare systems, government agencies, manufacturing, retail, and consulting – effectively anywhere software is written or maintained. The occupations below are commonly associated with software development coursework. Median annual wages come from the Bureau of Labor Statistics Occupational Employment and Wage Statistics program.
Software developer is the central occupation for this degree and had a median annual wage of $135,980 (Bureau of Labor Statistics, May 2025 OEWS); it is typically entered with a bachelor’s degree. Software quality assurance analysts and testers, at a median annual wage of $104,300 (Bureau of Labor Statistics, May 2025 OEWS), work on test design, automation, and release verification, and the role is a common entry point for graduates who like breaking systems as much as building them. Computer programmers, at a median annual wage of $100,390 (Bureau of Labor Statistics, May 2025 OEWS), write and maintain code against specifications produced by others; the title is used less than it once was, and much of the work now sits inside developer roles. Computer systems analysts, at a median annual wage of $105,850 (Bureau of Labor Statistics, May 2025 OEWS), sit between business requirements and technical implementation and suit graduates who want the analysis and design side more than daily coding. Individual outcomes vary by employer, geography, and experience.
Looking for programs near you? Browse software development programs by state.
A software development degree trains you to design, build, test, and maintain software systems. Undergraduate versions are usually awarded as a BS in Software Development or a BS in Software Engineering; graduate versions are usually an MS in Software Engineering. Coursework covers programming, data structures, software architecture and design, testing and quality assurance, version control and collaborative development, and agile and DevOps practice, typically finishing with a team-based capstone.
Computer science is the theory-forward degree: algorithms and complexity, discrete mathematics, formal languages, operating systems and compilers, with programming as the vehicle for studying them. Software development is the practice-forward degree: the same programming foundation, then requirements, architecture, testing, maintenance, and team process. Computer science asks what is computable and at what cost; software development asks how a team ships and sustains a system. See the computer science program guide for the theory-heavy path.
Most employers hiring developers accept both, and screen on demonstrated ability rather than the degree title. Computer science is the more conventional signal and carries an advantage for roles that lean algorithmic – systems, infrastructure, research-adjacent work. Software development carries an advantage in interviews that probe testing, design, and how you work in a codebase with other people. In both cases a portfolio of real projects does more work than the title.
ABET accredits software engineering programs through its Engineering Accreditation Commission and computing programs through its Computing Accreditation Commission. Not every good program holds it, and programs titled “software development” often do not. Institutional accreditation from a recognized accreditor such as HLC or SACSCOC is the baseline check; verify it through the U.S. Department of Education database.
Yes. This is one of the better-suited fields for online delivery, because the work product is code and the professional tools – version control, code review, issue tracking, continuous integration, chat – are the same tools distributed software teams already use. The part that requires the most attention when comparing programs is how team projects and code review are handled at a distance.
Software development curricula generally move through three layers, and unlike some technical fields the third layer is the point rather than an afterthought.
The first layer is programming and data structures. You learn at least one language well enough to build non-trivial programs in it, then the data structures and algorithms that determine whether those programs perform acceptably – arrays and lists, hash tables, trees, graphs, sorting and searching, and enough complexity analysis to reason about the tradeoffs. Programs that stop at syntax and framework tutorials produce graduates who can follow a tutorial. This layer is where a software development degree and a computer science degree overlap most; the difference is depth of formal treatment, not presence.
The second layer is systems context. Databases and data modeling, so you can design a schema rather than inherit one. Operating systems and networking fundamentals, enough to understand what happens between your code and the machine. Web and application architecture, including client-server structure, APIs, and how state moves through a system. Increasingly, security fundamentals – input validation, authentication, common vulnerability classes – because writing insecure code is one of the more expensive mistakes a developer can make. For a security-focused degree rather than a security module, see cybersecurity.
The third layer is engineering practice, and it is what distinguishes this degree. Requirements analysis and specification. Software architecture and design patterns. Version control and branching strategy. Code review. Testing at multiple levels – unit, integration, system – and test automation. Continuous integration and deployment. Agile methods, sprint planning, and the daily mechanics of working on a team. Maintenance and refactoring of existing code, which is what most professional development actually is. Programs generally close with a capstone in which a team takes a project from requirements through delivery.
At the bachelor’s level, expect roughly 120 credits with the major core concentrated in the last two years. At the master’s level, expect roughly 30 to 36 credits, typically assuming programming experience on entry and focusing on architecture, quality, process, and a substantial project.
The work splits into a few recognizable shapes. Application and product development builds features against user-facing requirements, and is where most graduates start. Platform and infrastructure work builds the systems other developers depend on – build pipelines, deployment tooling, internal services – and rewards the systems and DevOps side of the curriculum. Quality engineering designs test strategy and automation rather than clicking through a checklist, and is a genuine engineering specialty rather than a lesser one. Analysis and design roles, often titled systems analyst, translate between what a business needs and what gets built.
Titles are inconsistent across employers. “Software engineer,” “software developer,” and “programmer” often describe the same work at different companies, and the responsibilities section of a job posting tells you far more than the title does. For general labor-market context on the occupations software development graduates commonly enter, see the Bureau of Labor Statistics Occupational Outlook Handbook.
Software development or a related field? Choose software development for applied engineering practice and the fastest route to building production software. Consider computer science if you want theoretical depth and maximum flexibility across computing roles, computer engineering if you want hardware and embedded systems alongside software, cybersecurity if defending systems interests you more than building features, machine learning if you want the modeling and statistics core, or the broader technology program guide if you are still deciding.
Compare programs by topic: