Course Code:
programmingexcellence
Duration:
7 hours
Prerequisites:
- Basic programming experience
Overview:
This course is intended for
- Beginner or intermediate programmers and developers
Format of the course
-
Part lecture, part discussion, hands-on practice
Course Outline:
Introduction to excellent programming
- Designing software that is maintainable
- Designing software that is reliable
- Designing software that is efficient
- Designing software that is usable
Design patterns
Anti-patterns
The software life cycle
- Conventional development model
- Agile development
- Iterative software development
- Choosing the right language for the job
- Functional languages
- Procedural languages
- Declarative languages
- Imperative languages
- Object oriented programming
- Programming frameworks
- Model View Controller (MVC)
Maintainability
- consistency
- cohesion
- simplicity
- dependencies
- Inversion of control (IoC)
- commenting
Reliability
Testing your software as you create it
Efficiency
- Refactoring
Usability
- How will the end user use the software?
- How will international users use your software?
- Internationalizing your software
Building and releasing software
Summary and conclusion