SE Book — Table of Contents
Welcome to the SE Book
The SE Book brings together material for students in software engineering courses, including CS 35L and CS 130.
Search the SE Book
Results filter in real time as you type. Matches are case-insensitive.
- Requirements Section
- User Stories Requirements
- Design Patterns Section
- Strategy Design Patterns
- Observer Design Patterns
- Command Design Patterns
- Factory Method Design Patterns
- Abstract Factory Design Patterns
- Builder Design Patterns
- Composite Design Patterns
- State Design Patterns
- Adapter Design Patterns
- Singleton Design Patterns
- Mediator Design Patterns
- Visitor Design Patterns
- Facade Design Patterns
- Model-View-Controller (MVC) Design Patterns
- Design Principles Section
- Separation of Concerns Design Principles
- Information Hiding Design Principles
- SOLID Design Principles
- Design with Reuse Design Principles
- Software Architecture Section
- Quality Attributes Software Architecture
- Interoperability Software Architecture › Quality Attributes
- Testability Software Architecture › Quality Attributes
- Architectural Tactics Software Architecture
- Architectural Styles Software Architecture
- Layered Style Software Architecture › Architectural Styles
- Pipes and Filters Software Architecture › Architectural Styles
- Publish Subscribe Software Architecture › Architectural Styles
- Software Process Section
- Scrum Software Process
- Extreme Programming (XP) Software Process
- Testing Section
- Test Quality Testing
- Writing Good Tests Testing
- Testing Foundations Tutorial Testing
- Test-Driven Development (TDD) Testing
- TDD Tutorial Testing
- Test Doubles Testing
- Test Doubles Tutorial Testing
- UML Section
- UML Editor UML
- Use Case Diagrams UML
- Class Diagrams UML
- Sequence Diagrams UML
- State Machine Diagrams UML
- Component Diagrams UML
- Development Practices Section
- Beacons Development Practices
- Code Comprehension Development Practices
- Debugging Development Practices
- Python Debugging Tutorial Development Practices
- Gen Ai Development Practices
- Modern Code Review Development Practices
- Prompt Engineering Development Practices
- Code Smells Development Practices
- Refactoring Development Practices
- Code Smells & Refactoring Tutorial Development Practices
- Top Down Code Comprehension Development Practices
- Tools Section
- Shell Scripting Tools
- Shell Scripting Tutorial Tools
- Regular Expressions Tools
- RegEx Tutorial: Basics Tools
- RegEx Tutorial: Advanced Tools
- Python Tools
- Python Tutorial Tools
- Node.js Tools
- Node.js Tutorial Tools
- React Tools
- React Tutorial Tools
- Git Tools
- Git Tutorial Tools
- Java Tools
- Java Tutorial Tools
- C Programming Tools
- C for C++ Programmers Tutorial Tools
- Make Tools
- Makefile Tutorial Tools
- Playwright Tutorial Tools
- Systems Section
- Networking Systems
- Data Management Systems
- Security and Authentication Systems
- SE Gym Section
- Bookmarks Section
No results found.
Interactive Tutorials
The SE Book includes a broad set of interactive tutorials that run directly in your browser, with no installation required. Depending on the topic, you can practice Linux shell scripting in a real Linux VM, explore live UML visualizations of your code, step through programs with a time-travel debugger, inspect Git history through an interactive graph, and work through advanced testing concepts. Browse the full list of tutorials.
Work in Progress
Many topics are still a work in progress. Please consider only the pages linked in your specific course page and already covered in the lecture as “canon”.
Practice
To reinforce the concepts from this book, practice regularly in the SE Gym.