CS34 : Computer Software

A synopsis of the different types of computer software.

We are learning ...
  • About software
So that we can ...
  • Define the terms hardware and software and understand the relationship between them
  • Describe the uses, advantage and disadvantages of high and low level programming languages
    - Assembly language is used for embedded and hardware development
  • Use and characteristics of language translators
    - assemblers, compilers, interpreters
    - features; editor, error diagnostics, run-time environment
  • Describe the roles of typical system software
    - encryption
    - defragmentation
    - data compression
    - backup
    - anti-virus / anti-spyware / anti-malware
  • Examples of application software

# Get Ready.png

Activity 1
Hardware vs software 

Well, this really should be obvious by now ...
  • Hardware are the parts of a computer system that we can touch;
  • Software are the programs which run on the computer system - they aren't tangible.

Task 1.1 Open and closed source software
Where we learn the difference between open and closed source software

Watch the video

Get your headphones on and watch this video about the differences, advantages and disadvantages of open source (proprietary) and closed source software - don't take any notes whilst you are enjoying, just enjoy it ...

Open Source vs. Closed Source Software (2:28)

Make a mind map / thought shower

Now, rewatch the video and, using  SPACE  to pause and  SPACE  to resume, draw out a mindmap to show the differences, advantages and disadvantages of Open Source and Closed Source (proprietary) software.

Activity 2
Programming languages 

Programming languages were only developed to bridge the gap between the language of humans (letters, numbers, symbols, words, sentences) and the language of the computer (binary digits) ...

Language Barrier, from 'Bits and Bytes' (2:44)

Task 2.1 Assemblers, compilers, interpreters
Where we learn about the function of language translators

Study the diagram

Look carefully at the following diagram. This is also in your notes for the topic, so you *should* have seen it before ...


True or false?

In your notebooks / on paper, state and justify whether you think the following statements are TRUE or FALSE.
  1. Assemblers convert high level languages into machine code;
  2. The only first generation language is machine code;
  3. Assemblers use processor specific 'automatic dictionaries' to convert assembly into machine code;
  4. There are only three high level languages;
  5. Python is a second generation language;
  6. As the language gets further away from the hardware, it get's harder for humans to write;
  7. An interpreter or compiler is used to convert first generation languages into machine code;
Watch this video

It's only short so you might want to watch it with your teacher ...

Compilers and Interpreters, from 'Bits and Bytes' (3:43)

In your notebooks / on paper

In your notes / on paper, write down your own description of the difference between an interpreter and a compiler

Task 2.2 Integrated Development Environments (IDEs)
Where we learn about the different features of an IDE

Visit Wikipedia

Visit the Wikipedia article on the "features of IDEs" and read the benefits of using an Integrated Development Environment (IDE) when you are programming.

Flash cards

Now make some flashcards to help you remember the features and why they are useful.

Activity 3
System software 

System software is designed to keep your computer running smoothly. It does not generally perform any useful function to the end user ...

Task 3.1 Worksheet
Where we complete a worksheet to prove we know about different types of system software

Download the worksheet

Download the worksheet System Software and save it in a suitable place in your documents.

Complete the worksheet

Complete the worksheet using your favourite search engine to help you. You should click on the text and replace it with your findings written in your own words (i.e. not copied and pasted) and include the web address of the website that you found the information on.

Print the worksheet

Make sure that your name and class is on the worksheet and print it out for assessment.

No one said it had to be difficult!

Activity 4
Application software

Well, really, I'm struggling a little to find anything substantial for you to do to help you to learn about application software. To be fair, you've been using application software since the first time you switched on a computer do it's not really that difficult to be able to 
  • write down examples and
  • explain what you would use them for.
I guess the best way is a mix and match exercise?

Task 4.1 Mix and match
Where we learn about the different uses of application software

Download and print the card sort

If your teacher has not already given you a set, download the Application Cards sheet, print double sided and cut up into individual cards.

Shuffle and sort

Now shuffle the cards and try to match them up ...
  • Application icon;
  • Application name;
  • Features;
  • Use in the real world!
Keep practising until you don't get it wrong!

Assessment Task (Homework)

Mr Mills made a very important comment ... "Without (application) software, the computer would be no use at all - just a very expensive paperweight". Evaluate the extent to which you agree or disagree with this statement? Use the following Roadmap from The Everlearner to help you.

Click to engage

Grading rubric
MASTER :  You have used the Everlearner Roadmap to evaluate the extent to which you agree or disagree with the statement. You have given a balanced argument and have thought deeply about the implications of software on the usefulness or otherwise of a computer system.
APPRENTICE : You have discussed why computer systems need software and what might happen if they didn't have it but you've not really though deeply enough about the consequences.
NOVICE : You seem to have just written a list. Oh, well.

# Flash cards.png
Click to load key word list to help you make your own flash cards

Hungry for more?

Not really totally relevant to this topic but what a great time to let you watch the full 12 episodes of the amazing mid 1980's, Canadian TV show Bits and Bytes. It's amazing how well Luba and Billy explain basic computing concepts.

This is an embedded playlist so if you click on the ...

... icon, you can choose a different video to watch if you like.