Below is a list of topics to be covered, not in the order of their presentation.
- Philosophical approach:
- Central problem is complexity
- Requirements are dynamic
- Maintenance is key activity
- Code as a communication medium
- Career building
- Agile methodologies:
- Scrum meetings
- Pair programming, code reviews
- Test-first programming
- Continuous integration
- Development support technologies:
- Repositories and configuration management
- Issue tracking
- Refactoring editors
- Backlogs
- Products vs. programs
- Requirements
- Size issues
- Audience and their expectations
- O-O code construction
- Quality
- Readability
- Defensive programming
- Best practices: classes, routines, types, variables, comments, etc.
- DRY & SRP
- Decoupling
- O-O software architecture
- Methodology
- Approaches and principles
- Patterns
- Professional ethics, responsibility, and craftsmanship
- Personal character
- Interaction
- Responsibility
- Style
|