Explicitly teaching programming vocabulary and genre structure

The ability to read a computer program and infer the basic meaning and purpose are two outcomes of the Digital Technologies Curriculum. These skills require an understanding of programming languages.

There are three basic programming languages that students are likely to encounter in Digital Technologies:

  • Structured English
  • Visual programming
  • Language-based programming.

Understanding the strategy

The strategy below engages students in vocabulary learning and implementation with Structured English programming. It can be adapted to support students to develop the vocabulary for the two other programming languages, as well as functions that are used in spreadsheets.

  1. The teacher begins by explaining the types of programming languages that are used in industry:
    • Structured English – using basic language usually in written form
    • Visual programming – as used in Scratch software
    • Language-based programming – has its syntax, such as HTML or Python.
  2. Students are told they will be developing skills in Structured English programming in this lesson.
  3. The teacher presents key terms used in Structured English, explaining the meaning of each and emphasising the importance of capitalisation and lack of spaces in compound terms. For example:
    • BEGIN: term to start operation
    • END: term that ends the operation
    • IF:  term that indicates condition must be met for following operations to be performed
    • THEN: term that indicates the action to be performed if the condition is met
    • REPEAT: term that causes a set of actions to be repeated
    • DOUNTIL: term that causes a set of actions to be performed until named conditions are met (no space between DO and UNTIL)
  4. The teacher explains that terms in Standard English can be categorised as:
    • Operational: keywords that cause an action (e.g. BEGIN, END)
    • Conditional: keywords that indicate an action will only be performed if particular conditions are met (e.g. IF, THEN)
    • Iterative: keywords that will cause an action to be repeated (e.g. REPEAT, DOUNTIL)
  5. The teacher presents a model text to the class, explaining the text structure:
    • Each block is written on a separate line.
    • Blocks are indented to show hierarchy and relationships
      • For example, conditional blocks are indented under operational statements.
  6. Students are allocated time to read the text and identify Structured English terms and annotate the model text. Students can act out or perform the program, each student can be responsible for a different keyword.

Example of structured english code to make and eat breakfast

  • GET bread
    • IF no bread
      • GET cereal
      • GET milk
      • GET bowl
      • PUT cereal and milk into bowl
      • EAT cereal
    • ENDIF
  • PUT bread in toaster
  • DOWHILE bread is in toaster
    • GET butter
    • GET jam
    • GET plate
  • GET toast
  • PUT butter on toast
  • PUT jam on toast
  • EAT toast
  • END

Students can consolidate this knowledge through jointly constructing a program through a further role-playing activity. Groups of 4-6 students are given a household task to program using Structured English. Tasks could include, stacking a dishwasher; making a sandwich, and; making a cup of coffee. Students write this program and then perform this to the class. The class gives feedback on the efficacy of this program.

Once students have been explicitly taught multiple programming languages, the teacher can support students to translate between languages. The ability to translate between programming languages is vital as users move between a range of operating systems (e.g. Windows, MacOS, iOS, Android).

Curriculum links for the above examples: VCDTDI039, VCDTCD042, VCDTCD043, VCDTCD052.