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. 
Outcomes
A student:
P1.1 describes the functions of hardware and software 
P1.3 describes the interactions between the elements of a computer system
P2.1 describes developments in the levels of programming languages 
P2.2 describes the effects of program language developments on current practices
P3.1 identifies the issues relating to the use of software solutions
P6.1 describes the skills involved in software development. 


Students learn about:

Students learn to:

Elements of a computer system

  • hardware

  • software

  • data

  • procedures

  • personnel


Hardware

  • the function of hardware within a computer system, namely:

  • input

  • output

  • process

  • storage

  • control

  • how a variety of input devices, output devices, storage devices and CPU components achieve their purpose

  • the current trends and developments in computer hardware


Software

  • operating systems and utilities (see Course Specifications document)

  • off-the-shelf applications packages and custom-designed software

  • generations of programming languages, namely:

machine code: 1st generation

  • assembly language: 2nd generation

  • higher-level languages (imperative/procedural): 3rd generation

  • declarative (non-procedural) languages: 4th generation

  • the need for translation

  • compilation

  • interpretation

  • functions of operating systems

  • provide interface to hardware

  • provide interface to user

  • provide interface to software applications

  • control the concurrent running of software applications

  • manage system resources (see Course Specifications document)


  • current trends in the development of software and operating systems


The relationship between hardware and software

  • processing of software instructions by hardware

  • the fetch–execute cycle

  • the initiation and running of an application by the operating system

  • locate and load application

  • hand control to application

  • start fetch–execute cycle for the application

  • the existence of minimum hardware requirements to run some software






  • identify the elements of a computer system and their role in that system

  • describe the significance of and interaction between the elements comprising computer systems



  • describe how data is captured, stored, manipulated or displayed on a variety of hardware devices (see Course Specifications document)

  • competently use computer hardware, selecting appropriate hardware for specific tasks




  • identify the impact of using particular devices on the development and use of software








  • competently use a range of software

  • describe the development of the generations of programming languages


  • identify the effect of the generations of programming languages on software development practices

  • distinguish between methods of translation








  • identify typical tasks performed by operating systems








  • describe what happens during each of the steps of the fetch–execute cycle



  • identify the role of specific hardware used during each step of the fetch–execute cycle