One decision to try now
A carries order #13 to Home 13. B is returning through the passage between two towers on the slope. The passage rule allows one drone at a time.
Conflict · 5 seconds sharedBoth drones occupy the tower passage on [107, 112).
Before and after
| Measure | Both depart | Your choice |
|---|---|---|
| Overlap | 5 s | 5 s |
| A arrives | 157 s | 157 s |
| A hovers | 0 s | 0 s |
| A flight energy | 33.7 kJ | 33.7 kJ |
Seconds after 18:00. Shading marks overlap. The whole crossing must be free.
Starting case computed at build time. JavaScript recomputes each choice.
This checks two flight legs sharing the pass. Complete deliveries, batteries and charging are checked in later weeks.
What you will do
Design and improve the algorithms, one constraint at a time. The problem grows in five steps: find a route (weeks 1–3); find a route the drone can actually fly and return from (week 4); order many deliveries for one drone (weeks 5–6); divide the work between drones that share two charging pads (weeks 7–8); make the plans of five drones executable together in one shared airspace (weeks 9–12). Each step starts from the method you already have, breaks it on a small example, and makes you change the state, the cost or the check that was wrong.
Every week you write a prediction before you run anything, derive one thing by hand, implement one key function, test it against a counterexample, and explain the result under the objective the course fixed. You leave with a cumulative planner — search, scheduling, space-time coordination — and the arguments, tests and records that say what it guarantees and what it does not.
Learning outcomes
By the end of this course, you will be able to:
- Model a delivery task as a weighted graph, implement Dijkstra and A*, and explain when their results are optimal.
- Check a complete delivery against payload, energy and reserve limits, including service and the flight home.
- Build and improve delivery schedules that account for ready times, deadlines, different drones and shared charging pads.
- Coordinate flights using timed reservations and space-time search, then update the schedule when route costs change.
- Compare algorithms under the same conditions, reproduce an experiment, and explain failures and the limits of your evidence.
Who it is for
Third-year undergraduates who have done introductory programming and data structures: functions, loops, lists and dictionaries, queues and priority queues, basic graphs, and enough algebra to sum costs along a path. No robotics, no flight control, no prior optimisation course. If you can write a loop that pops the smallest item from a queue, you can start; if you want a course about real drones and real airspace rules, this is not it — every number here is a teaching setting, and the policies page says so.
Twelve weeks · five stages
How it is assessed
SLOP3969 runs in Semester 1, 2027, over 12 teaching weeks.
Each week pairs a one-hour Monday lecture with a two-hour Wednesday tutorial. The lecture develops the model and algorithm; the tutorial asks you to predict, try a small case and explain what happened. Finish your implementation, tests and reports outside class.
In weeks 1–6, you build the search and single-drone schedule used in Assignment 1. In weeks 7–12, you extend that work to fleet assignment, shared resources and coordinated flights for Assignment 2. Both assignments are individual and assess your code, validation and explanation.
Every tutorial counts towards your grade. All 12 sessions contribute equally to the tutorial component through attendance and lab participation. The timeline brings those weekly sessions together with the assignment weights, release dates and deadlines. Select a lecture, tutorial or assignment to open its page.
- Route
- Energy
- Order
- Fleet
- Together
LectureOne order, a complete taskTutorialCheck a legal route2 ptsW1One order, a complete task
LectureDijkstra: when to stopTutorialCatch an early stop2 ptsW2Dijkstra: when to stop
LectureA*: a useful estimateTutorialReopen a better route2 ptsW3A*: a useful estimate
LectureA route that can returnTutorialKeep the route home2 ptsW4A route that can return
LectureWhich dinner goes first?TutorialOrder six dinners2 ptsW5Which dinner goes first?
LectureWhen swaps stop helpingTutorialCompare swaps with all 7202 ptsW6When swaps stop helping
LectureChoose a capable droneTutorialAssign the hotpot2 ptsW7Choose a capable drone
LectureWho gets the charging pad?TutorialTrace the pad queue2 ptsW8Who gets the charging pad?
LectureTwo drones, one corridorTutorialClear the corridor2 ptsW9Two drones, one corridor
LectureSearch around a reservationTutorialChange the planning priority2 ptsW10Search around a reservation
LectureLet delays change the assignmentTutorialExplain a feedback change2 ptsW11Let delays change the assignment
LectureAudit the twenty dinnersTutorialAudit a complete evening2 ptsW12Audit the twenty dinners
Each Wednesday: 1 point for attendance + 1 point for taking part in the experiment. How participation is marked →
Where to go next
Lectures
Twelve Monday lectures, one question each, from a graph to a plan that flies.
Tutorials
Twelve Wednesday tutorials: predict, derive, implement, test, explain.
Assessment
Tutorial participation, the two assignments, their dates, weights and marking criteria.
Lab
Every week's workbench on one page, opened in order by the semester slider.
