EU Code Week 2021 is Here!

It’s October again and that means EU Code Week is back!

And this year I’m working on a little project with a few brilliant folks on an EU Code Week Challenge called the Inclusive App Design challenge.

The challenge is all about considering people from many different backgrounds with many different types of abilities when you design your apps.

The Activity & the Audience

Keynote

This activity is perfect for teachers who might have an iPad 1-to-1 classroom or school, but you can adapt it, no matter the gear you have on hand.

It’s also perfect for you if you don’t have a background in coding. We spend a lot of the activity just thinking about what makes an app and how we might design it to accommodate all sorts of users.

Introduce -- Brainstorm -- Plan -- Prototype -- Share
Working through the process

Now, we will still touch on coding, of course, as it is EU Code Week, but hopefully we’ll do so in as non-threatening a way as possible. To do that, I’ll show you Swift Playgrounds and the really fun Answers playground.

Answers playground icon
Answers Playground

This is a playground where students write code to get answers from their fellow students and can use those answers in their code later.

You’ll see how you can design your code and app at all sorts of levels.

For those who want to build out their creative vision, you’ll learn about Keynote prototypes and the power you can wield, putting your idea in people’s hands.

You can read more about the activity and what’s involved here: https://apple.co/eucodeweek_UK

Try it with Us

October 21

If you want to see how you might use this activity in your class, feel free to join us!

We’ll be running a 90 minute session on Thursday, October 21st at 18:00 CEST. We’ll walk through how to approach the activity and what you can do in your own classroom.

Register here: https://ec.europa.eu/eusurvey/runner/Inclusive-App-Design-CodeWeek-Apple

I hope you’ll be able to come; I think we’ll have some great tips and tricks for you to use this in your own classroom!

New Toys! Animating Images

I had a great question from a teacher at a secondary school here in Ireland about animating images in a Swift Playground. The question was basically: How do I do it in a playground with Swift?

You can go to the source, of course, and check out the documentation, but I’ve added a new playground to our new Adventures feed to show off two ways (sort of) to display an animated image.

https://www.thecodehub.ie/playgrounds/

Our Adventures feed, for those of you just joining us, or who’ve forgotten, is aimed at slightly more advanced folks. It explores things like SwiftUI, UIKit in playgrounds, and more.

The PlaygroundBook: Animating Images

The new playground book is called Animating Images and shows you how to use some of the cool capabilities in UIImageView to display a series of images over a certain amount of time.

The first page is an implementation of animated images using UIImage and UIImageView. We pass an array of images to a static method on UIImage and set the duration over which they should be displayed. Play around with different numbers of images and duration to fine tune your animation. Make sure to read through the comments, which will show you other ways of using UIImageView.

The second page implements the same thing, but with SwiftUI. It cheats, a little bit. The Image view that you would use to display images in SwiftUI doesn’t animate UIImages that are animations. Try it out, instead of using our new AnimatedImage view, comment that line out and add this line:

        Image(uiImage: self.animatedImage)

You’ll see a very static image that only displays our first image from the array. Our AnimatedImage addition is simply a wrapper around UIKit’s UIImageView. We could have used Combine or some other clever way to update our view with images. But this approach simply takes advantage of a well-known component we can re-use without too much pain.

Try it out, play around with your own images, your own timing, and see what kind of animated image you can create!

You can subscribe to our Adventures feed (or the original feed) here https://www.thecodehub.ie/playgrounds/ from your iPad. Alternatively, if you use Playgrounds on a Mac, you can paste this URL into the subscription bar: https://www.thecodehub.ie/playgrounds/adventures/feed.json

The Code Hub: Adventures! New Swift Playgrounds

Inspired by some recent teacher questions via email and Twitter, I threw together some more advanced Swift Playgrounds.

Adventures!

Right now there are two of them. As Swift Playgrounds, they’re designed to run in the Playgrounds app on your iPad, so you can take your code on the go with you, or monkey around with them in the Playgrounds app on your Mac. Playgrounds is a great environment for tinkering with code and it just keeps getting better and better.

I split them into a separate feed from our normal playground feed because the original is aimed at beginners, learning to code. This new set of playgrounds comes with fewer instructions and tackles more complex material.

Add the feed from our playgrounds page, if you’re on an iPad. If you’re using Playgrounds on a Mac, you can select File > Add Subscription… and add this URL: https://www.thecodehub.ie/playgrounds/adventures/feed.json

SwiftUI

The first playground tackles the @StateObject and ObservableObjects in SwiftUI, “the new hotness,” as my old boss would say.

In this playground, we use new files in the UserModule to create a model that will hold minutes for a timer (seconds, really)… we show you how to organize your code to keep the “model” in one place that you could use from multiple locations in your SwiftUI-based app.

UIView and Animation

The second playground shows off creating a UIView in code, making it the live view and animating an image view across the screen.

It’s a nice way to start playing with animation and checking out all the properties you can animate on a UIView.

More to Come

There are more to come, of course, this is just the start. Hopefully these playgrounds will give you an idea for what you can do with the Playgrounds app. Post-WWDC, I’m sure, we’ll have lots more goodies to explore all the fun new toys we have to play with.

So check them out and try your hand with some Swift code on the go!

WWDC21 Wish List

Last year we had a little wish list for WWDC, so I figured I would take a look at what we’d love to see today.

Last Year

Well, first, what did we get last year?

From our list, we did wind up getting new books, a whole load of them! Some didn’t ship during WWDC, but now we have Develop in Swift Fundamentals, Develop in Swift Explorations, Develop in Swift Data Collections, Everyone Can Code Adventures. That’s quite a lot of stuff to read through!

We even now have a huge resource in the App Design Workbook, which introduces app design process as well as a bit of SwiftUI in Playgrounds to keep you busy.

One thing on our wishlist was more dev on iPad, and Swift Playgrounds is still getting a lot of love, which is excellent, and getting more interesting with each release on both the Mac and iPad.

This Year’s Wish List

Okay, so what would we love to see this year?

Obviously I’m biased towards things that will help us teach coding, but I’ve got a few more this year I’d love to see under the proverbial WWDC Tree.

Swift Playgrounds

  • I would love to see an easier way to author Swift Playgrounds (like last year). I’ve run two sessions on creating Swift Playground Books, one with the Swift Playground Author Template and one by copying an existing playground book.
  • I loved the sessions on Swift Playgrounds last year, in particular the first in the Swan’s Quest series. It would be amazing to see more this year. Using those sensors is pretty amazing and eye-opening for a lot of students.
  • A Swift Playgrounds Community site: some sort of way to easily share Swift Playgrounds with students, fellow developers, where you can just show off your work easily, would be amazing. Think of it like a dynamic Swift Playground feed people could publish to easily from within the Swift Playgrounds app…

Xcode and teaching Develop in Swift

  • If Xcode had a remote sharing option, so the teacher or co-coder could observe one person typing, that would be an amazing addition to teaching coding. It’d be icing on the cake if we got the same with iPads and Swift Playgrounds, and I need to have a look at the Classroom app update to see if maybe that’s already done.
  • Some of these collaboration features would be a real boon to teaching people how to code, especially in as rich an environment as Xcode, so any more integration with Github, remote sharing, and the rest would be much appreciated
  • A web-based version, for those folks who want to try out Swift and app development, would also be amazing. I really like repl.it, especially with its implementation of the Swift REPL and readLine()… but it never hurts to have more options.

RealityKit and Reality Composer

  • Lastly, and by no means is this an exhaustive list, I would really, really love to see the ability to support more than one image anchor in a Reality Composer scene. We’ve had a few questions lately about supporting them inside the one Reality Scene… and while there are ways to handle this (multiple scenes for each image anchor you want to support, using code and loading ARImageAnchors yourself), this would be a really fun addition to an incredible app. Reality Composer makes it so easy to create engaging, robust experiences with very little to no code already, but a few additions would just ice the cake.

Now You

WWDC21

That’s our list, what do you want to see from WWDC21?

#SwiftStudentChallenge: How to Build a PlaygroundBook, Part 2

#SwiftStudentChallenge

Well, that was a ton of fun Thursday!

As some of the commenters mentioned, that is a daunting session. Xcode, Swift Playgrounds Author Template, mucking around in packages in the Finder, it can certainly be overwhelming.

But the goal of these sessions is to show you how you can create a playground book, for use on an iPad in Swift Playgrounds. And Thursday was definitely not for the faint of heart.

Like we mentioned in the description of the video, if you’re really creating a playground book, you’ll want to read the Swift Playgrounds documentation. That will give you loads more information on how playgrounds are structured, how your code will interact with the app when it’s running, and other cool stuff.

Part 2

Mac image
You will need a Mac for this session.

Like Thursday, we’ll be using a Mac for the next session. We’ll also possibly be using an iPad, to show you how to edit on the fly on your iPad. I haven’t quite thought that one through, though, so buyer beware.

The goal of this session will be to show you an alternative way of creating a Swift Playground Book, in case the other way was too overwhelming.

We’ll monkey around with a playground book and see if we can’t cobble something interesting together.

Ask Questions

Do you have an idea for your Swift Student Challenge but have some questions?

I can try my best to answer them on the air, come along and ask during the session!

#SwiftStudentChallenge: How to Build a PlaygroundBook

#SwiftStudentChallenge

Better late than never, let’s try a live session!

Tomorrow, April 15th, at 1pm, Irish time (2pm CET), I’ll jump back on the live stream (or jump right to the stream here). We’ll walk through creating a Swift Playground Book with the Swift Playgrounds Author Template.

The main goal of this session is to show you how to get ready for the Swift Student Challenge for WWDC 21

Get a Head Start

You will need a Mac for this session.

If you want to get a jump on the game, you can go and download Xcode, first and foremost, if you don’t have it already.

The next thing we’ll be working with tomorrow is the Swift Playgrounds Author Template. You can download this from developer.apple.com. You will need to have a free developer account set up, which you can do when you’re prompted to log in.

Building Your Playground

Other than those tools, you could come with an idea for what you want to build. The standard is high for these student submissions, but maybe the idea you implement this time becomes a mind-blowing playground book for WWDC2022. Or you learn how to build something your friends and family can run on their iPads.

Or are you looking for inspiration? Maybe seeing how we can build Swift playground books might jog some idea out of you.

Whatever stage you’re at, whatever ideas you have, feel free to join us tomorrow. Or if that time doesn’t work for you, catch the recording!

Ask Questions

Do you have an idea for your Swift Student Challenge but have some questions?

I can try my best to answer them on the air, come along and ask during the session!

WWDC21 Dates Announced!

Update: Due to the due date for submissions for the Swift Student Challenge, the live sessions will likely be the week of the 12th of April. See you then!

It looks like you’ll have another set of dates to block off on your calendar in June, in addition to the ones I told you about last time!

Apple has just announced that WWDC, their Worldwide Developer Conference, will be held online from the 7th to the 11th of June this year!

Details are scarce right now, other than the dates, as per usual, but there’s plenty of info about the Swift Student Challenge!

If you’re 16 years of age, here in Europe, 13 in the States, you can submit your playground to show off your skills with Swift. Last year we ran a lot of sessions talking about the Swift Student Challenge. If you’re curious, you’ll find it in the AR sessions.

#SwiftStudentChallenge

It’s just the nugget of an idea, but in late April and May I’m planning on returning to the live stream. We’ll work on some ideas for Swift Playgrounds that you (or your students) could use.

As I’ve only just had the idea of kicking it off, I’m still thinking through the content and format, but we can certainly show off some of the fun stuff you can do with Playgrounds.

If you’re a teacher, feel free to join the Teaching Swift Slack and drop me a note and maybe we can have your class on to talk about ideas for the Swift Student Challenge.

If you’re a student or you don’t want to join yet another discussion board, shoot me a note. I’d love to hear what people have planned or help you get started!

I’m always inspired by the work put in by these students, and would love to help more people strut their stuff.

Watch this space for more news and when we’ll be broadcasting, but it should be a lot of fun!

Quick Start to Coding at Home

We held some live coding sessions during EU Code Week 2020. They included unplugged activities, away from the iPad, and then a follow-along session of coding in various Swift Playgrounds.

Now, these sessions were a ton of fun in the classroom, but if you find yourself schooling at home again, like we are in Ireland, these sessions are great breaks from the regular school day. (Not to toot our own horn or anything!)

A bit of structure

There are ten sessions in the Quick Start to Code with Swift and we have ten pages that explain each day.

We have a short explanation of the day’s lesson, followed by an embedded video of that day’s recording. After the video we have an explanation (including what materials you need) for the unplugged session. The next section give you ideas about how to extend the lesson, if you found it really easy, or really enjoyed the coding. And the final section has code samples to help you solve that day’s puzzles. There’s even a handy copy link to copy the code and paste it into your Swift Playground, if you’re browsing the web pages on your iPad.

At Home

So if you’re a teacher, or a parent, or a student, the site will guide you through Apple’s excellent Quick Start to Code with Swift.

It’s not ideal, to be remote learning again, when I know our secondary school kids were loving being back in the classroom and back in some semblance of normality. But hopefully our EU Code Week content will keep you going and help change the pace a bit.

Maybe try jumping on a Zoom or WebEx call with your friends and work on your dance moves in the unplugged segments. Or arrange to all try the puzzles from a particular day. Sometimes it helps to talk through and work on the code for a shared problem.

What Comes Next

We have some ideas about where you can go next, once you’ve completed the quick start.

And we’ll be back, very soon, here, to guide you through some more coding. So have those iPads ready, brush up on your Swift, if you want, and we’ll see you again, really soon!

EU Code Week 2020: That’s a Wrap!

It has been a wild and woolly ride, but you can now watch all TEN days of A Quick Start to Code with Swift follow-along sessions!

Steve and I recorded the last few extra days and posted them a little earlier.

Follow-Along Coding Sessions

If you’re just coming to the party, the sessions run around 40 minutes or so and are designed to fit into a classroom period.

We wrote up some instructions and tips for holding a code-along session in your own classroom. Or maybe you want to trial this on your own kids at home. Well, we have instructions for running these sessions at home, too!

Structure

The extra sessions follow the same formula as the first five. We start off with a brief intro to the day’s topic. Then we show you a very cool ‘unplugged’ activity where we exercise the concepts for that day’s lesson. Once we’ve gotten everyone up out of their seats and moving, we gather back around the iPads and Swift Playgrounds for some coding.

On some days we had special guests, which always added an extra bit of excitement to the sessions, and I can’t thank the schools from Scotland, Sweden, Norway, the Netherlands, and Ireland enough for joining us!

Recap

You can view the entire series of videos on their own here: https://www.thecodehub.ie/eu-code-week-2020/playlist.html

And you can always prepare for each class by referring to our handy site, which contains added context, descriptions of what you need for the unplugged portion, and things you can do to challenge students who are blazing ahead.

I really had a blast coding along with you for ten days. Hopefully this has ignited a little spark for you. Coding is just another way of expressing ourselves, and we found an number of ways of doing that in these ten days. If you keep going, keep practicing, you’ll find all sorts of new ways to solve problems. And then who knows where it can take you?

The Ten

These are the ten sessions, for easy clicking:

A Quick Start to Code: Find Patterns

Steve and I are back with Earlston Primary School in Scotland to talk about finding patterns, from the Quick Start to Code with Swift PDF from Apple.

We talk a lot about finding patterns and turning those patterns we use repeatedly into functions. Find out more on our mini-site for our extended EU Code Week sessions.

What’s in a Function?

A function is a way to group a set of commands you’ve deemed useful enough that you want to re-use. So to write a function we need to think about what problem we’re trying to solve.

Your first pass may also not be your last! Often we’ll revisit code after solving a problem to see if we can improve on our original solution.

Unplugged

With Steve we work on turning left to turn right in the real world and we also play a game of “Dots.”

Come check out our session and get back to Swift Playgrounds with us!

https://www.thecodehub.ie/eu-code-week-2020/day2.html