Please see the course GitHub repo and wiki for other information, including information on reading lists, weekly schedule, assessment details and course outcomes.
Please see the course Moodle homepage for information and links to individual units, including online assessment links.
Lectures:
Block 1:
- Tuesday 30th September 2025, 0930-1330: Lecture 1: Introduction to the Diploma and Coding 1 unit.
- Tuesday 7th October 2025, 0930-1330: Lecture 2: Introduction to Swift, SwiftUI, Swift REPL, Xcode, Xcode playgrounds, Constants, Variables and Operators.
- Tuesday 14th October 2025, 0930-1330: Lecture 3: Control Flow, Strings, Functions and the structure of SwiftUI apps.
- Tuesday 21st October 2025, 0930-1330: Lecture 4: Value and Reference Types, Structures, Classes and SwiftUI Views.
- Tuesday 28th October 2025, 0930-1330: Lecture 5: Collections, Loops, Closures and SwiftUI Stack Views.
- Tuesday 4th November 2025, 0930-1330: Lecture 6: Optionals, Type Casting, Enumerations and Layout.
- Tuesday 11th November 2025, 0930-1330: Lecture 7: Extensions, Generics, Errors and SwiftUI Navigation.
- Tuesday 18th November 2025, 0930-1330: Lecture 8: Guard, Scope and Protocols.
- Tuesday 25th November 2025, 0930-1330: Lecture 9: Macros, Access Control and Advanced Operators.
- Tuesday 2nd December 2025, 0930-1330: Lecture 10: Custom types and Swift Testing.
- Tuesday 9th December 2025, 0930-1330: Lecture 11: Models and persistence, Navigation, editing, and relationships and Observation and shareable data models.
- Tuesday 13th January 2026, 0930-1330: Lecture 12: Mock Multiple choice test and Mock Practical exam.
- Tuesday 20th January 2026, 1000-1200: Lecture 13: Multiple Choice Test.
- Tuesday 27th January 2026, 1000-1200: Lecture 14: Practical Exam.
- Friday 3rd October 2025, 0930-1330: Lecture 1: Introduction to the Spatial 1 unit.
- Friday 10th October 2025, 0930-1330: Lecture 2: Initial project thoughts, prototyping.
- Friday 17th October 2025, 0930-1330: Lecture 3: Designing for the Vision Pro.
- Friday 24th October 2025, 0930-1330: Lecture 4: Revised project thoughts, Inclusive Design.
- Friday 31st October 2025, 0930-1330: Lecture 5: RealityKit and Reality Composer Pro.
- Friday 7th November 2025, 0930-1330: Lecture 6: Revised project thoughts, USD and Quick Look.
- Friday 14th November 2025, 0930-1330: Lecture 7: Making content for Reality Composer Pro: Polycam, Blender, Anchoring content.
- Friday 21st November 2025, 0930-1330: Lecture 8: Revised project thoughts, Timelines and Interactivity in Reality Composer Pro.
- Friday 28th November 2025, 0930-1330: Lecture 9: SwiftUI.
- Friday 5th December 2025, 0930-1330: Lecture 10: Revised project thoughts, more RealityKit.
- Friday 12th December 2025, 0930-1330: Lecture 11: Develop in Swift and Introductory visionOS samples.
- Friday 16th January 2026, 0930-1330: Lecture 12: Revised project thoughts, project workshopping.
- Friday 23rd January 2026, 0930-1330: Lecture 13: Dress Rehearsal for Final Presentations.
- Friday 30th January 2026, 0930-1330: Lecture 14: Final Presentations.
- Thursday 2nd October 2025, 0930-1330: Lecture 1: Introduction to the ML 1 unit.
- Thursday 9th October 2025, 0930-1330: Lecture 2: Introduction to representation, numbers and image classification.
- Thursday 16th October 2025, 0930-1330: Lecture 3: Introduction to data types and face detection.
- Thursday 23rd October 2025, 0930-1330: Lecture 4: Introduction to scalar, vector and matrix + Python and Colab notebook basics 1.
- Thursday 30th October 2025, 0930-1330: Lecture 5: Introduction to vector and matrix multiplication + Python basics 1 continued.
- Thursday 6th November 2025, 0930-1330: Lecture 6: Introduction to functions + Python basics 2.
- Thursday 13th November 2025, 0930-1330: Lecture 7: Introduction to artificial neural network + Multi-Layer Perceptron.
- Thursday 20th November 2025, 0930-1330: Lecture 8: Introduction to supervised learning + How does AI learn? - Intuitions on gradient descent.
- Thursday 27th November 2025, 0930-1330: Lecture 9: Introduction to convolutional neural network (CNN) + example application: pose detection with PoseNet.
- Thursday 4th December 2025, 0930-1330: Lecture 10: A walking tour of AI developments in computer vision + example applications: hand pose detection, barcode detection, image foreground instance segmentation.
- Thursday 11th December 2025, 0930-1330: Lecture 11: Introduction to RNN, LSTM and Transformer for modelling sequential data + tips for presentation.
- Thursday 15th January 2026, 0930-1330: Lecture 12: Mock exams.
- Thursday 22nd January 2026, 0930-1330: Lecture 13: Multiple choice test.
- Thursday 29th January 2026, 0930-1330: Lecture 14: Presentations.
Block 2:
- Tuesday 17th February 2026, 0930-1330: Lecture 1: Introduction to the Block 2 and Coding 2 unit. Apple's "App Dev Tutorial" part 1.
- Tuesday 24th February 2026, 0930-1330: Lecture 2: Apple's "App Dev Tutorial" part 2.
- Tuesday 3rd March 2026, 0930-1330: Lecture 3: The Observable macro and SwiftData.
- Tuesday 10th March 2026, 0930-1330: Lecture 4: Introductory visionOS samples.
- Tuesday 17th March 2026, 0930-1330: Lecture 5: Creating a spatial drawing app with RealityKit.
- Tuesday 14th April 2026, 0930-1330: Lecture 6: BOT-anist.
- Tuesday 21st April 2026, 0930-1330: Lecture 7: Happy Beam.
- Tuesday 28th April 2026, 0930-1330: Lecture 8: Creating a Spaceship game.
- Tuesday 5th May 2026, 0930-1330: Lecture 9: Canyon Crosser: Building a volumetric hike-planning app.
- Tuesday 12th May 2026, 0930-1330: Lecture 10: Petite Asteroids: Building a volumetric visionOS game.
- Tuesday 19th May 2026, 0930-1330: Lecture 11: Pyro Panda.
- Tuesday 26th May 2026, 0930-1330: Lecture 12: Mock Multiple choice test and Mock Practical exam.
- Tuesday 2nd June 2026, 1000-1200: Lecture 13: Multiple Choice Test.
- Tuesday 9th June 2026, 1000-1200: Lecture 14: Practical Exam.
- Friday 20th February 2026, 0930-1330: Lecture 1: Introduction to the Spatial 2 unit, we are making a studio together. Setting of playful brief, relation to your BA and practice. Trying Introductory visionOS samples and other Samples. Designing for Spatial Input. Case study: 12 Sentiments for VR. Case study compilations from Masahiro Sakurai.
- Friday 27th February 2026, 0930-1330: Lecture 2: Presentation of initial project thoughts. App Workbook as bible. Demonstration of various ARKit anchor apps. Case study: Breath of the Wild.
- Friday 6th March 2026, 0930-1330: Lecture 3: TestFlight. Case study: Tears of the Kingdom. Case study compilation from Masahiro Sakurai.
- Friday 13th March 2026, 0930-1330: Lecture 4: Presentation of revised project thoughts. Case study: Super Mario Bros Wonder.
- Friday 20th March 2026, 0930-1330: Lecture 5: Manipulation Component and others. System gestures. Case study from ?.
- DAY CHANGE! ROOM CHANGE TO PR_B501D! Tuesday 21st April 2026, 1400-1730: Lecture 6: Presentation of revised project thoughts. Case study from ?.
- Friday 24th April 2026, 0930-1330: Lecture 7: Physics in RealityKit (particles, objects, joints). Case study from ?.
- Friday 1st May 2026, 0930-1330: Lecture 8: Presentation of revised project thoughts. Case study from ?.
- Friday 8th May 2026, 0930-1330: Lecture 9: Sound. Case study from ?.
- Friday 15th May 2026, 0930-1330: Lecture 10: Presentation of revised project thoughts. Case study from ?.
- Friday 22nd May 2026, 0930-1330: Lecture 11: Swift Charts. Case study from ?.
- Friday 29th May 2026, 0930-1330: Lecture 12: TBC. Case study from ?.
- Friday 5th June 2026, 0930-1330: Lecture 13: Dress Rehearsal for Final Presentations.
- Friday 12th June 2026, 0930-1330: Lecture 14: Final Presentations.
- Friday 19th June 2026, 1000-1300: Project Presentations at Apple Battersea.
- Thursday 25th June 2026 - Saturday 27th June 2026: End of year show.
- Thursday 19th February 2026, 0930-1330: A guest lecture from Mick Grierson.
- Thursday 26th February 2026, 0930-1330: Lecture 2: Introduction to the ML 2 unit + First time training an AI model with CreateML: image classification.
- Thursday 5th March 2026, 0930-1330: Lecture 3: Sound classification with CreateML + Data pre-processing + AI for audio applications.
- Thursday 12th March 2026, 0930-1330: Lecture 4: Train a GAN model with Pytorch.
- Thursday 19th March 2026, 0930-1330: Lecture 5: Object detection with CreateML + Live Capture App.
- Thursday 16th April 2026, 0930-1330: Lecture 6: Style Transfer with CreateML .
- Thursday 23rd April 2026, 0930-1330: Lecture 7: NLP 101: basic tasks with Apple Natural Language Framework.
- Thursday 30th April 2026, 0930-1330: Lecture 8: NLP 102: Sentiment Analysis with CreateML.
- Thursday 7th May 2026, 0930-1330: Lecture 9: Recommender system with CreateML.
- Thursday 13th May 2026, 0930-1330: Lecture 10: NLP 103: Embed ChatGPT (and other OpenAI AI models) in your App.
- Thursday 21st May 2026, 0930-1330: Lecture 11: Make Stable Diffusion models running on our Macbooks + AI applications in 3D modelling.
Other information:
Slides made using Big presentation system.
Background colour of pages chosen as a result of this paper, thanks to Becca Rose for bringing it to my attention.
Please see the course GitHub repo and wiki for other information, including information on reading lists, weekly schedule, assessment details and course outcomes.
ππ»π΄σ §σ ’σ ·σ ¬σ ³σ Ώπ΄ββ οΈπ³οΈβππ³οΈββ§οΈ