Computer programming is the process of developing a user-friendly product that solves a user's data processing problem, by writing an efficient computer program .
There are 2 main aspects to learning to computer program:
In the next 8 weeks we investigate seeing the world as a computer programmer needs to and repetitvely practicing the structured approach to developing programs.
In the lecture you will participate in an activity which demonstrates how computer programmers see the world.
The activity involves a vending machine.

Imagine that you are a poor university student. You come up with a brilliant idea for making money. You cut a hole in the back of a vending machine and get inside. You disable all aspects of the machine except for the LED screen which displays prices, etc. You intend to operate the machine as if it was fully automated but keep the money customers put into the machine.
List the steps you would need to take to operate the machine. Imagine a customer approaching the machine. What do they need to see and do? How does the machine need to respond? Try and restrict your list to data and processing. You will almost certainly greatly underestimate the number of steps. What steps have you forgotten?
As an example the customer will enter the code of an item they wish to purchase. The machine should display the cost of the item. Where are you going to get the item cost from?
You will need to attend the lecture to assess how complete your list of steps is.
Written by Chris Cope.