Okay just a few questions regarding AOS2

Do I need to know about the distinction between a top-down and bottom-up approach to solution design?
with pseudocode, say I wanted the user to input a numeric score for each of their classes, then input a sentinel value (-1) to indicate that they wanted an average (i.e. they had entered all their scores). I can't find a way to do it without repeating a piece of code. I currently have:
start
initialise TotalScore, NoClasses to 0
input ClassScore
While ClassScore =/= -1
TotalScore <-- TotalScore + ClassScore
NoClasses += 1
input ClassScore
Repeat
AvScore = Totalscore/NoClasses
Print Avscore
stop
Is there a better way? Something like this doesn't require repeated code but damn for i 1 to 1 looks weird and would probably cause issues in code (excuse no capitals)
start
initialise totalscore, noclasses to 0
for i = 1 to 1
input classscore
if totalscore =/= -1 then
totalscore += classscore
noclasses += 1
i = 0
end if
next i
AvScore = Totalscore/NoClasses
Print Avscore
stop
Also, in psuedocode can I use the += or -= convention for adding/subtracting one value to/from another? And can I use something like 'exit loop' to just jump out of a loop?
With increasing efficiency of input, what exactly is an input mask? Is it something that you write over as you type input data or something that is inside the input field but then disappears when you give it focus, or something like the astericks when entering a password? Apparently '#' is an input mask (e.g. when indicating the required length of a credit card number) but VCEIT didn't specify whether using 'dd/mm/yy' was or not.
VCEIT also says that to evaluate efficiency, you should look for the time taken to communicate information. Is this referring to communication between the system and the user or between devices in the system. Also, is there a difference between processing time and the time for output to be produced?
In terms of features of programming languages, could anybody clarify the difference between an object's methods and properties. I couldn't work out if enabled is a property or a method. Also, can you force an event in-code e.g. forcing the procedure for btn1_click to activate even when the button hasn't been clicked?
Also, when referring to the 'thing' that reads through lines of code during the running of the program, am I referring to the program, the compiler, or something else?
I've read that there are 3 control structures in algorithms, with one being Selection. I think this is where a condition is tested and the outcome determines (selects) which part of code the program/compiler reads from then on. But does this include the conditions at the beginning/end of loops, or do they constitute part of the iterative structure?
With camel case, should the first letter of a variable like totalCost be capitalised? I've always had a lowercase first letter for variables since I learnt cheats for sims 2's debug-mode a a kid haha.
If anybody feels like answering any of these questions, It would be much appreciates, thanks
