8.1.1 Social and Ethical Issues
This topic identifies social and ethical issues that arise in the development and use of software. Students should be made aware of these issues early in the course so that they can act in a socially responsible and ethical way throughout the course. Although these issues are taught specifically as part of this topic, they should also be reconsidered as each new topic is discussed. Thus, for example, interface design issues, duplication of code or ideas and language used in documentation should all be considered again at relevant parts in the course.
8.1.2 Hardware and Software
Hardware and software are mutually dependent components of a computer system. To fully appreciate their role in a computer system they should be examined in conjunction with data, processes and personnel. This topic provides students with a holistic understanding of a computer system and its role in software development.
8.1.3 Software Development Approaches
There are a number of different approaches that can be taken when developing software. Five are prescribed for study in this course. There are many ways in which software is commercially developed, from an ad-hoc approach to the more formalised structured approach. The approach or combination of approaches used depends on the nature of the problem to be solved, the resources available and the experience of those involved.