Sermon on Software Engineering
Software is Hard
Working Together
Every Software Project Needs:
Constant Contact with Users
Bioinformatics Users
Every User Needs
Wise Management
Solid Architecture
PPT Slide
Top Down Design
The Skeleton
The Importance of Interfaces
Consistency and Conventions
Pragmatic Programming
Bottom Up Implementation
Write for Readability
Keep It Local
Code Defensively
Debugging: the Easy Stuff
Debugging: the Hard Stuff
Debugging Dynamic Memory
Modifying Existing Code
When to Start Over
Thorough Testing
Challenges of Bioinformatics
Coping with Noisy Input Data
Coping with Input Variety
Gigabases of Data
Optimizing Run Time
Coping with Computer Clusters
Getting Your Space at UCSC
Checking out the Code
Getting Started with Browser & Database
Email: kent@biology.ucsc.edu
Home Page: www.cse.ucsc.edu/~kent
Other information: Software Engineering