Three printable worksheets that build from foundations to mastery — or build your own from any module’s questions.
Earliest start times · Latest start times · Scanning a network
In a building project, Activity A (foundations, 4 days) must finish before Activities B (framing, 3 days) and C (plumbing, 5 days) can start. B and C both feed into D (roofing, 2 days).
Before reading on — what is the earliest day roofing (D) can start? And: what is the latest day framing (B) can start without delaying the final completion date?
The Earliest Start Time (EST) at any node is the earliest moment (in days, weeks, etc.) that the work after that node can begin. You find it by running a forward scan — moving left to right through the network.
Network: Start → A(3) → B(4) → End; Start → C(5) → End (C also feeds into End).
Network: Two parallel paths from S to End.
Step 1 — EST(S) = 0
Step 2 — EST(A) = EST(S) + dur(SA) = 0 + 3 = 3
Step 3 — EST(C) = EST(S) + dur(SC) = 0 + 5 = 5
Step 4 — EST(B) = EST(A) + dur(AB) = 3 + 4 = 7
Step 5 — EST(End): Two paths arrive: via B → 7; via C → 5. Take max: EST(End) = 7
Minimum project duration = 7 days.
The Latest Start Time (LST) at any node is the latest the work after that node can begin without pushing out the project completion date. You find it by running a backward scan — moving right to left through the network.
Network: EST values found above: S=0, A=3, C=5, B=7, End=7.
Step 1 — LST(End) = EST(End) = 7
Step 2 — LST(B) = LST(End) − dur(B→End) = 7 − 4 = 3
Step 3 — LST(C) = LST(End) − dur(C→End) = 7 − 5 = 2
Wait — but we calculated EST(C) = 5. Check: LST = 2, EST = 5? That cannot be right because LST < EST is impossible in a valid network. Let me re-examine: C has duration 5 and goes directly to End (LST 7). LST(C) = 7 − 5 = 2.
Note: In this network C is NOT on the critical path (it has float = 2 − 0 = 2 days at the start node side; the actual float equals LST(node after C) − EST(node before C) − dur(C) = 7 − 0 − 5 = 2). This is fine — float means slack.
Step 4 — LST(A) = LST(B) − dur(A→B) = 3 − 4 = −1? No — check again. B has duration 4 coming from A. LST(B) is the LST of node B. LST(A) = LST(B) − dur(AB) = 3 − 3 = 0.
On network diagrams, each node is drawn as a split box:
Precedence table:
| Activity | Duration (days) | Depends on |
|---|---|---|
| A | 2 | — |
| B | 4 | A |
| C | 3 | A |
| D | 5 | B |
| E | 2 | C, D |
Forward scan (EST):
Backward scan (LST):
Node boxes:
| Node | EST | LST | On critical path? |
|---|---|---|---|
| 1 (Start) | 0 | 0 | Yes (EST=LST) |
| 2 (after A) | 2 | 2 | Yes (EST=LST) |
| 3 (after B) | 6 | 6 | Yes (EST=LST) |
| 4 (after C) | 5 | 9 | No (float = 4) |
| 5 (End) | 11 | 11 | Yes (EST=LST) |
Critical path: Start → A → B → D → End (total = 2+4+5 = 11 days). Activity C has 4 days float.
A project has the following activities:
| Activity | Duration | Depends on |
|---|---|---|
| P | 3 | — |
| Q | 6 | P |
| R | 4 | P |
| S | 2 | Q, R |
Using the network from Activity 1 (P=3, Q=6, R=4, S=2), now perform a complete backward scan. Fill in the LST for each node and identify which activities have float.
Q1. During a forward scan, when two paths arrive at the same node with path totals of 8 and 11, the EST of that node is:
Q2. The backward scan begins at the:
Q3. A node has LST = 7 and EST = 4. The float on the path through that node is:
Q4. Activity X has duration 5. The node before X has EST = 3 and the node after X has LST = 10. The float of activity X is:
Q5. Which statement about node boxes is correct?
SAQ 1. A project network has activities: A(5), B(3) after A, C(4) after A, D(2) after B and C. Perform a complete forward and backward scan. Show all EST and LST values in a table.
SAQ 2. Explain in your own words why we take the maximum in a forward scan but the minimum in a backward scan when multiple paths meet at a node.
Q1 → D (11) — Forward scan takes the maximum of incoming paths.
Q2 → C — Backward scan starts at the final node, setting LST equal to EST of that node.
Q3 → C (3) — Float = LST − EST = 7 − 4 = 3.
Q4 → B (2) — Float = LST(end node) − EST(start node) − duration = 10 − 3 − 5 = 2.
Q5 → D — EST = LST means zero float, so the node is on the critical path.
SAQ 1: Forward: Start=0, after A=5, after B=8, after C=9, End=max(8+2, 9+2)=max(10,11)=11. Backward: End=11, before D (from B side)=11−2=9, before D (from C side)=11−2=9. Before B: 9−3=6. Before C: 9−4=5. Before A: min(6−5, 5−5)=min(1,0)=0. Node table: Start(0,0)✓, after A(5,5)✓, after B(8,6)float2, after C(9,9)✓, End(11,11)✓. Critical path: Start→A→C→D→End = 5+4+2 = 11.
SAQ 2: Forward scan — at a merge node all predecessors must be complete before work can continue, so we wait for the last one: maximum ensures every required activity is done. Backward scan — at a fork node the activity must start early enough for the most urgent branch to meet its deadline: minimum ensures no deadline is missed.
Foundations (A=4 days) must finish before framing (B=3) and plumbing (C=5) start. Both B and C must finish before roofing (D=2) starts.
Forward scan: EST(start)=0, EST(after A)=4, EST(after B)=7, EST(after C)=9. EST(End) = max(7+2, 9+2) = max(9, 11) = 11. Roofing (D) can start on day 9 at earliest (after C finishes).
Backward scan: LST(End)=11. LST(before D)=9. LST(after A, B side)=9−3=6. LST(after A, C side)=9−5=4. LST(after A)=min(6,4)=4. LST(start)=4−4=0.
Framing (B) must start by day 6 (LST of node after A via B = 6). It can start as early as day 4 (EST) — giving 2 days of float.
You can now perform forward and backward scans on activity networks and record EST/LST values in node boxes.