VBA Assessment 1

VBA Assessment 1 will take place in Week 6 (5 & 8 March) in your usual lab time. You will not be allowed any resources – but the library of code (p.148) and these formulae will appear on the assessment:


The following is the proposed layout of the assessment:

Q. 1: Numerical Solution of Initial Value Problem [80%]

Examples of initial value problems that might be arise include:

  • Damping

\displaystyle \frac{dv}{dt}=-\frac{\lambda}{m}v(t);           v(0)=u

  • The motion of a free-falling body subject to quadratic drag:

\displaystyle \frac{dv}{dt}=g-\frac{c}{m}v(t)^2;           v(0)=u

  • Newton Cooling

\displaystyle \frac{d\theta}{dt}=-k\cdot (\theta(t)-\theta_R);           \theta(0)=\theta_0

  • The charge on a capacitor

\displaystyle \frac{dq}{dt}=\frac{E}{R}-\frac{1}{RC}q(t);           q(0)=0

Students have a choice of how to answer this problem:

  • The full, 80 Marks are going for a VBA Heun’s Method implementation (like Lab 3).
  • An Euler Method implementation (like Lab 2), gets a maximum of 60 Marks.

You will be asked to write a program that takes as input all the problem parameters, perhaps some initial conditions, a step-size, and a final time, and implements Heun’s Method (or possibly Euler’s Method): similar to Exercise 1 on p. 122 (except possibly implementing Heun’s Method) and also Exercise 1 on p.128 (except without the “conditional” derivative).

If you can write programs for each of the four initial value problems above you will be in absolutely great shape for this assessment.

Q. 2: Using your Program [20%]

You will then be asked to use your program to answer a number of questions about your model. For example, assuming Heun’s Method is used, consider the initial value problem (3.7) on p. 119.

  1. Given, v_0=0.2, m=3, \lambda=1.5, h=0.01, approximate v(0.3).
  2. Given, v_0=0.4, m=30, \lambda=1.5, h=0.1, investigate the behaviour of v(t) for large t.
  3. Given v_0=0.2, m=0.1, \lambda=1.5, h=0.5, T=10, run the Heun program. Comment on the behaviour of v(t). Run the same program except with h=0.05. Comment on the behaviour of v(t).
  4. Given, v_0=0, m=3, \lambda=1.5, h=0.1, T=2, run the Heun program. Comment on the behaviour of v(t).

Week 4

We finished off a Three Term Taylor Method example and spoke again about Heun’s Method.

We also introduced second order differential equations and saw how to attack them numerically. In particular we looked at a real pendulum.

In VBA we worked on Lab 3. Those of us who did not finish the lab are advised to finish it outside class time, and are free to email me on their work if they are unsure if they are correct or not.

Week 5

In the morning class we will finish looking at second order differential equations.

In the afternoon we will begin a quick study of Runge-Kutta Methods.

In VBA we have MCQ III and look at Lab 4, on Second Order Differential Equations.

Local vs Global Error



The following is a proposed assessment schedule:

  1. Week 6, 20% First VBA Assessment, Based (roughly) on Weeks 1-4
  2. Week 7, 20 % In-Class Written Test, Based (roughly) on Weeks 1-5
  3. Week 11, 20% Second VBA Assessment, Based (roughly) on Weeks 6-9
  4. Week 12, 40% Written Assessment(s), Based on Weeks 1-11


Study should consist of

  • doing exercises from the notes
  • completing VBA exercises

Student Resources

Please see the Student Resources tab on the top of this page for information on the Academic Learning Centre, etc.

Ungraded Concept MCQ League Table

To add a bit of interest to the Ungraded Concept MCQs, I will keep a league table.

Unless you are excelling, you are identified by the last five digits of your student number. AW is the number of attendance warnings received.


Please ask questions in the lab about questions you have gotten wrong.