Category Archives: sec-3adv-2026

Answers to Notes & Assignments

1. Measurement & Units

Answers to Assignment 1

2. Optics

Answers to Optics NOTES

Answers to Assignment 2.1 Reflection

Answers to Assignment 2.2 Refraction

Answers to Assignment 2.3 Lenses

3. Kinematics

Answers to Kinematics NOTES

Answers to Assignments 3.1 – 3.3

4. Forces & Dynamics

Answers to Dynamics NOTES

Answers to Assignment S3A04_Dynamics

5. Turning Effects

Answers to Moments NOTES

Answers to Assigments 5.1 & 5.2

6. Work, Energy & Power

Answers to Work, Energy & Power NOTES

Answers to Assignment S3A06 Work, Energy & Power

7. Pressure

Answers to Pressure NOTES

Answers to Assignment S3A07_Pressure

 

Advanced Physics Notes & Worksheets

Projectile Motion

Notes: AP1 Kinematics – Projectile Motion Notes (ANSWERS HERE)

Assignment: AP AS1 – Kinematics – Non-linear motion

 

Circular Motion

Notes: AP2 – Motion in a Circle Notes

Assignment: AP2 – Motion in Circle Assignment

 

Gravitational Fields

Notes: AP3 – Gravitational Fields Notes

Assignment: AP3 – Gravitational Fields

 

Linear Momentum

Notes: AP4 – Linear Momentum Notes

Assignment: AP4 – Linear Momentum

 

 

Ball Rolling Down 5–Metre Ramp

UPDATE: See the following page I created:

Motion Analysis Rolling Down A Ramp

 

 

“https://youtu.be/MwSYBzq7TUw?si=7QVp86mzyXZugM1o”

 

 

Those interested in the code used to run the Micro:Bit, here it is:

let startTime = 0
let elapsed = 0
let lastTime = -1
let state = 0 // 0 READY, 1 TIMING, 2 DONE

pins.setPull(DigitalPin.P0, PinPullMode.PullUp)
pins.setPull(DigitalPin.P1, PinPullMode.PullUp)

function showTimeMs(msTotal: number) {
let s = Math.idiv(msTotal, 1000)
let ms = msTotal % 1000

// pad milliseconds to 3 digits
let msStr = "" + ms
if (ms < 10) {
msStr = "00" + msStr
} else if (ms < 100) {
msStr = "0" + msStr
}

basic.showString("" + s + "." + msStr + "s")
}

basic.showString("READY")

basic.forever(function () {

// START
if (state == 0 && pins.digitalReadPin(DigitalPin.P0) == 0) {
startTime = input.runningTime()
state = 1
basic.showString("GO")
basic.pause(150) // debounce
}

// STOP
if (state == 1 && pins.digitalReadPin(DigitalPin.P1) == 0) {
elapsed = input.runningTime() - startTime
lastTime = elapsed
state = 2
showTimeMs(elapsed)
basic.pause(150) // debounce
}
})

// RESET (Button A)
input.onButtonPressed(Button.A, function () {
state = 0
basic.clearScreen()
basic.showString("READY")
})

// RECALL LAST TIME (Button B)
input.onButtonPressed(Button.B, function () {
basic.clearScreen()
if (lastTime >= 0) {
showTimeMs(lastTime)
} else {
basic.showString("NONE")
}
})

Do let me know if you think the code can be updated.