Toggle navigation
CSE 403
Home
Calendar
Syllabus
Project
Readings
Resources
Quick Links
Past editions of 403
Past projects
Past exams
Resources
Books
The Pragmatic Programmer: From Journeyman to Master
, by Andrew Hunt and David Thomas.
Code Complete, 2nd ed.
, by Steve McConnell.
Rapid Development
, by Steve McConnell.
Design Patterns: Elements of Reusable Object-Oriented Software, by Gamma, Helm, Johnson, Vlissides.
Design Patterns Explained: A New Perspective on Object-Oriented Design
, by Alan Shalloway and James Trott.
Articles and Web Sites
Project Ideas and Presentations
Ideas for startups (Graham)
Examples of past projects:
Spring '15 Project Proposals
Software Development Process and Practice
Joel Spolsky Site.
Tips, checklists, and opinions (not universally agreed on) on software engineering practices based on experience.
Steve McConnell Site.
Resources and articles on software projects and practices.
Chapter 1, Agile Practices
, by Robert C. Martin
Good Enough Quality: Beyond the Buzzword
by James Bach
Specifications
Construx software requirements resources
.
Painless Functional Specs
, by Joel Spolsky
Alistair Cockburn web site - Use Cases
Architecture and Design
Software Architecture
, by David Garlan.
On the Criteria to Be Used When Decomposing a System into Modules
, by David Parnas.
Code Complete, Chapter 5: Design in Construction
, by Steve McConnell
UML
Practical UML
, Randy Miller
UML's Sequence Diagrams
, Donald Bell
UML Sequence Diagrams
Martin Fowler
Design Patterns
Design Patterns
Survey of common patterns, with code examples, from SourceMaking
A Survey of Common Design Patterns
by James Maioriello
What are Design Patterns and Do I Need Them
by James Maioriello
User Interfaces
User Interface Hall of Shame
Web Pages that Suck
Testing
Daily build/smoke test
If You Didn't Test It, It Doesn't Work
, by Bob Colwell. (
UW access
)
How Do You Spell Testing? - A Mnemonic to Jump-Start Testing
, by James Bach.
Refactoring
Refactoring catalog
by Martin Fowler
Refactoring Sourcemaking Site
Extreme Programming
Is design dead?
by Martin Fowler
All I really need to know about pair programming I learned in kindergarten
by Laurie Williams: Good introduction to why you would use pair programming.
Production Programming in the Classroom
Charlie Reis, an author, was a grad student here at UW. The paper talks about experience using DrJava, open source, and extreme programming in the classroom.
Estimation
SLOCCount tool
to count lines of code