Skip to content
Majors / Computer Science / Specialization

Software Development

Building the software people actually use: how the web works, how to design an interface people understand, and how real teams test, ship and run code.

A specialization of Computer Science. It assumes the first two years of the major and gives the last two a focus.

For: computer science students choosing a direction, self-taught programmers who want the bigger picture, and designers and product people who work with developers.

Shaped by the ACM/IEEE Computer Science Curricula 2023 (software development and human-computer interaction areas), Harvard's CS50 Web Programming, the University of Helsinki's Full Stack Open and the Nielsen Norman Group's usability principles.

7readings
1.5 hoursof reading
2stages
6 reads · 1 deep dive
Not started

Study it in depth, for free

These pieces give you the intuition. To learn the major properly, these are the courses and texts universities use, free to read or audit, and the standard textbooks if you want to own one. Links checked November 2026.

The whole major, free: CS50's Web Programming with Python and JavaScript for Year 3, then MIT's Software Construction and the Software Engineering at Google book for Year 4; the broader Open Source Society University path covers the computer-science core this specialization sits on.

Free courses and texts

  1. Software Studio · MIT OCW 6.170 · designing and building a web application as a team; Year 3 how software lasts
  2. CS50's Web Programming with Python and JavaScript · Harvard CS50 · HTML, CSS, Git, Django, SQL, JavaScript, testing and CI/CD, deploying; Years 3-4
  3. Learn web development · MDN Web Docs (Mozilla) · the reference curriculum for HTML, CSS, JavaScript and browser behaviour; Year 3 how the web works
  4. User Interface Design and Implementation · MIT OCW 6.831 · usability, prototyping and evaluating interfaces; Year 3 designing interfaces
  5. 10 Usability Heuristics for User Interface Design · Nielsen Norman Group · the classic usability rules in one page; Year 3
  6. Introduction to Web Accessibility · W3C Web Accessibility Initiative · accessibility for people who use screen readers, keyboards and captions; Year 3
  7. Database Systems · MIT OCW 6.830 · how databases store data and answer queries; Year 3 where the data lives
  8. Full Stack Open · University of Helsinki · React, Node.js, GraphQL, TypeScript, testing and deployment; Years 3-4
  9. Pro Git · Scott Chacon and Ben Straub, free online book · version control from first commit to branching teams; Year 4
  10. Computer System Engineering · MIT OCW 6.033 · networks, operating systems, reliability and large systems; Year 4 browser to server
  11. Computer Systems Security · MIT OCW 6.858 · threats and defences in real systems; Year 4 safety

The standard textbooks

  • Software Engineering (Ian Sommerville) · the standard university text on process, requirements, design and testing; Years 3-4
  • The Design of Everyday Things (Don Norman) · why interfaces confuse people and how to fix it; Year 3
  • Don't Make Me Think (Steve Krug) · short, practical web usability, good for self-learners; Year 3
  • Designing Data-Intensive Applications (Martin Kleppmann) · databases, distributed systems and data pipelines; Years 3-4
  • Continuous Delivery (Jez Humble and David Farley) · testing, build pipelines and releasing safely; Year 4
  • Security Engineering (Ross Anderson) · how systems fail and how to defend them; the author offers it free online at cl.cam.ac.uk/~rja14/book.html; Year 4
Next path →

AI Development

Building with artificial intelligence: how neural networks and large language models work, how to turn them into products that hold up, and the safety and governance questions that come with them.