- Who needs abstractions?
- Contrasted to design as a step in the software development process, a look at design as an abstract representation of the project.
- Focus on the Users
- Design considerations to make when users are involved.
- What if there are no users?
- Design considerations to make when users are not involved
- Advanced database design
- When to create a database in third-normal form, and when not to.
- The Good and Bad of Design Patterns
- When and how design patterns are useful and when they are not.
- Language choices
- Choose languages and operating systems wisely because you will have to live with them.
- Final Exam
- A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.