Introduces the fundamentals of analysing a problem then implementing a solution as a computer software system. Students are introduced to the software life cycle.
Emphasis is placed on programming and testing.
Requirements analysis and software design are introduced. The subject forms a basic introduction to data abstraction and object-oriented analysis and design. An overview is also given of the basic hardware and software components of a computer system, including operating systems, compilers, memory and control logic. The social implications of computing are also discussed. Software implementation techniques and standards will be introduced with the aim of developing programming skills.