Lecture/workshop slides and wiki for Unit 4: "Coding for Collaborative App Development" of the Creative Computing Institute's 2021/2022 Diploma in Creative Computing
- All term dates - N.B. if you are doing a degree at UAL you are in Higher Education.
- Lecturer: Joel Gethin Lewis.
- Location: Creative Computing Institute(CCI), Camberwell, London and online!
- Contact me via the UAL CCI Slack.
- Weekly remote teaching: Tuesdays 0930-1300.
- Weekly in person workshops with Kenneth Lim: Fridays 0930-1300, 4th floor, CCI building, Camberwell.
- STOP PRESS! For the remainer of Block 2, the Weekly in person workshops will be with Filippo Romeo: Fridays 0930-1300, 4th floor, CCI building, Camberwell.
- You are expected to undertake independent study of about 25 hours per week - spread across all the courses you are taking in the Diploma.
- Tutorials take place every Monday. These tutorials are for you to discuss anything you'd like - from the how the course is going, to your own practice, to work placements or anything else. My aim is to have at least two tutorials with every student on the diploma every term.
- Remote Tutorial session 1: Mondays 1030-1300.
- Remote Tutorial session 2: Mondays 1400-1730.
- Please see the Unit 4 Wiki Tutorial Schedule for details of when your next tutorial will be.
- If your next tutorial is too far away, or you have a more urgent question, please message me on the UAL CCI Slack.
- Unit 4 Moodle - see the Unit 4 Moodle for Blackboard Collaborate Ultra links to our remote teaching sessions.
- Lecture and Workshop slides
- Please see the Unit 4 Wiki for all non-lecture notes, reading lists and other resources.
- For owners of PC's or older Mac's, please see the CCI Wiki for information on remote access via Splashtop.
You can find the UAL Disciplinary Code For Students here: Disciplinary Code For Students.
You can find our code of conduct here: code_of_conduct.md, it was cloned from [https://github.com/processing/p5.js/blob/main/CODE_OF_CONDUCT.md](the p5.js code of conduct).
Golan Levin also offers a useful thought from his children's school:
When communicating, ask yourself:
- T – is it True?
- H – is it Helpful?
- I – is it Inspiring?
- N – is it Necessary?
- K – is it Kind?
The Diploma in Creative Computing is split into two blocks of teaching. Block 1 takes up the entire Autumn term and half of the Spring term. Block 2 follows on, taking the second half of Spring term and the entire Summer term.
Block 1 consists of three units:
- Unit 1: Creative Coding and Creative Computing Frameworks - taught by me.
- Unit 2: Introducing Computational Futures and Artificial Intelligence - taught by Murad Khan.
- Unit 3: Creative Practice: Visual Coding and Physical Computing - taught by Andy Sheen and Mike Vanis of VAST.
Block 2 consists of three units:
- Unit 4: Coding for Collaborative App Development - taught by me and Kenneth Lim.
- Unit 5: Working and the Digital Creative Industries - taught by Murad Khan.
- Unit 6: Creative Practice: Computational Environments - taught by Herman Ho and Val Toro.
Please read UAL's guidance for students on how they will be assessed. TLDR: you will be assessed on the following 5 assessment criteria (quoting from UAL's page):
- Enquiry
- Enquiry is about active learning and reflection. It’s how you explore, research and learn about your subject. Enquiry is central to all creative learning at UAL.
- Knowledge
- Knowledge is about gathering information and enhancing understanding. It’s how you inform your work, explore diverse cultures and connections and appreciate what you do in a wider context.
- Process
- Process is about your journey of learning. It’s how you take risks and experiment. And how you keep the creative momentum going — developing ideas from start to finish.
- Communication
- Communication is about telling the story of your learning and making. It’s how you share your learning with an audience, presenting and explaining your work to different people.
- Realisation
- Realisation is about the work you create and how this reveals what you’ve learned. It’s taking a look back and evaluating the work you’ve produced.
At the end of this block (midway through the 2021 Spring term) you should have the following outcomes, with subheadings for methods and platforms we will use to do so. To be clear, I want you to obtain knowledge and then use that to make projects. My aim is to have every student graduate with new creative computing core knowledge and a portfolio of projects that relate that new creative computing knowledge to their chosen BA subject elsewhere at University of the Arts London (UAL).
- Design and prototype a mobile application (Knowledge, Process)
- Use collaborative software tools (Communication, Realisation)
- Understand and code for a popular mobile development stack (Enquiry, Knowledge)
I'll be teaching using Apple's Develop In Swift Explorations (Xcode 13) course. The student guide is available here, the teacher guide is available here. You can download the extra files for the student guide here. You can download the extra files (with completed exercises) for the teacher guide here. The course is made of four units, with an episode section between each unit. Each unit is split into four sections:
- Get Started
- You’ll begin by learning the key concepts covered in the unit, exploring how they relate to your everyday experiences, and completing activities that deepen your understanding. By using coding concepts to think about everyday problems, you’ll also be learning to think critically, to see the world as a programmer, and to apply computational reasoning.
- Play
- In this section, you’ll apply the key concepts in Xcode playgrounds, where you can experiment with code and see the results immediately. As you complete each activity, you can check your understanding by answering review questions in the book. You’ll also apply your understanding of the unit concepts through fun, creative playground challenges that will help you start thinking about your own app projects. Later in the book, you’ll build simple apps to explore development topics.
- Build
- You’ll be guided through the steps of building an app in Xcode. For this section, you’ll want to keep this book open while you’re working in Xcode.
- Design
- You’ll explore the impact of computing innovations and experience the app design process. You’ll also consider the choices that app designers and developers make, knowing that their app could impact thousands—even millions—of people.
Between the units, the episodes tell the story of a group of TV club students as they use technology in their daily lives. Each episode introduces key concepts about technology—and challenges you to analyse the students’ choices and to reflect on your own practices.
This will be the second time that I've taught using this material, so I'd love to hear all feedback - good and bad!
You are expected to undertake independent study of 25 hours per week over the three units that you will be taught every block.
Throughout the term, you will be working in pairs. This is a technique known as Pair Programming. You may change pair partner as often or sparingly as you like.
Following the latest research, I've decided to shift us from pairs to threes. After all, three is a magic number.
At the end of Block 1 (halfway through the Spring Term) and at the end of Block 2 (at the end of the Summer Term), you will be assessed individually. The two units I teach (Unit 1 and Unit 4) are assessed in the same way - via multiple choice test and practical exam. Each part is worth 50% of the unit mark. In the multiple choice test you will be presented with a 20 questions relating explicitly to course content. You must choose between up to 4 potentially correct answers per question. You will be given 1 week to complete the 20 multiple choice questions. In the Practical Exam you will be individually asked to write a basic program to demonstrate the application of creative coding to a set problem. You will be given 1 week to complete the Practical Exam.
Please find last year's mock Multiple Choice Swift Test here and last year's real Multiple Choice Swift Test here.
Please find last year's mock practical exam here and last year's last year's real practical exam here.
Some tips about how to get the best grade possible:
- Use lots of comments! For both saying what you are doing but also showing reference to where you got that information from. The Swift Documentation would be the perfect place to refence, especially The Swift Programming Language Book.
- Add more features than are requested in the exam brief - especially new user interface elements that allow users to control the app interactively.
- Finally, make it personal! Add your own graphics, text or other elements to make an app that only you could make.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
Previous lectures 2 (Tuesday 22nd 2022, week 8 of 52) and 3 (Tuesday 1st March 2022, week 9 of 52) cancelled due to UCU strike action
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 1400-1730 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 1400-1730 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
- 0930-1300 - Online session for all groups, taught by me. Use the Unit 4 Moodle to watch my live lecture via Collaborate Ultra. Slides for reference.
Thanks to Filippo Romeo, Herman Ho, Val Toro, Murad Khan, Matthew Plummer Fernandez, Alex Fefegha, Anna Troisi, Ben Kelly, Cathy Hoste, Charlotte Webb, Julia Makivic, Kenneth Lim, Matt Jarvis, Melisa Simpson, Phoenix Perry, Rebecca Fiebrink, Sheldon Brown, Tom Lynch, Eva Wilkinson, Vali Lalioti, Indira Knight, Alice Stewart, Ben Stopher, Mick Grierson, Georgina Capdevila Cano, Alan Warburton, Rebecca Ross, Jaap de Maat, Lauren McCarthy, Kyle McDonald, Jonathan Harris, Zach Lieberman, Jessica Bland, Rick Walker, Graham Bennett, Toby Milner-Gulland, Liam Walsh, Golan Levin, Greg Smith, Mark Lundin, Xiaohan Zhang, Lia, Joshua Goldberg, Rosa Menkman, Daniel Shiffman, Tega Brain, Caitlin Morris, Harri Lewis and Rune Madsen.