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.
Year 3 · Building for people
-
01ReadInteractiveQuiz13 min
Software Engineering: How Teams Change Code for Years
How teams turn an idea into software that lasts.
-
02ReadInteractiveQuiz13 min
Web Development: What Happens Between a Tap and a Page
How the web works and how a website is built, from HTML and CSS to servers and APIs.
-
03ReadInteractiveQuiz13 min
UI & UX Design: Why Some Screens Just Work
Designing interfaces people understand: research, layout, usability and accessibility.
-
04ReadInteractiveQuiz11 min
Databases: Why Your Data Survives a Power Cut
Where the data lives, and how to ask for it.
Year 4 · Shipping it
-
05Deep diveInteractiveQuiz16 min
Shipping Software: Testing, DevOps & the Cloud: Making Release Day Boring
Testing, version control, continuous delivery and running software in the cloud.
-
06ReadInteractiveQuiz12 min
Computer Networks: Why Latency, Not Bandwidth, Rules
What happens between the browser and the server.
-
07ReadInteractiveQuiz12 min
Computer Security: Thinking Like an Attacker
Keeping the software and its users safe.
You have read every subject on this route: the intuition a graduate keeps. Pick your next major; the ones that share subjects with this one will go faster.
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
- Software Studio · MIT OCW 6.170 · designing and building a web application as a team; Year 3 how software lasts
- CS50's Web Programming with Python and JavaScript · Harvard CS50 · HTML, CSS, Git, Django, SQL, JavaScript, testing and CI/CD, deploying; Years 3-4
- Learn web development · MDN Web Docs (Mozilla) · the reference curriculum for HTML, CSS, JavaScript and browser behaviour; Year 3 how the web works
- User Interface Design and Implementation · MIT OCW 6.831 · usability, prototyping and evaluating interfaces; Year 3 designing interfaces
- 10 Usability Heuristics for User Interface Design · Nielsen Norman Group · the classic usability rules in one page; Year 3
- Introduction to Web Accessibility · W3C Web Accessibility Initiative · accessibility for people who use screen readers, keyboards and captions; Year 3
- Database Systems · MIT OCW 6.830 · how databases store data and answer queries; Year 3 where the data lives
- Full Stack Open · University of Helsinki · React, Node.js, GraphQL, TypeScript, testing and deployment; Years 3-4
- Pro Git · Scott Chacon and Ben Straub, free online book · version control from first commit to branching teams; Year 4
- Computer System Engineering · MIT OCW 6.033 · networks, operating systems, reliability and large systems; Year 4 browser to server
- 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
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.