Swift loves ReDI

Written on July 23, 2018 by Manuela Rink

It’s a Swift summer

It’s summer! And during this time Munich is the best town for having a nice beer in a Biergarten or just hanging out outside and enjoy the sun in the English Garden or along the Isar with one’s feet dangling in the water.

Summer is about learning also — at least at ReDI Summer School 🤓

And that’s exactly what we did during two gorgeous Summer evenings. Stay inside, sit in front of the computer and teach a bunch of students eager for knowledge how to code in Swift!

So who is “we”? It’s René Ruppert, a Xamarin University teacher and me, Manu Rink, a software engineer both working for Microsoft.

But more important is ReDI school! It’s a school for tech-interested newcomers in Germany, mostly with a refugee background to ramp them up and get them going with new jobs and therefore their new lives. The majority of the students is between 25 and 35 and bring at least some programming knowledge in a popular language to the table.

The Swift Summer School course was taking place three times with the objective to bring students from “What is Swift” to “Oh look a running iOS app — I did it!”. And I’d say we reached that goal nicely — with a couple of little bumps along the road 🙃

We started the first lesson by covering the very basics how values get saved on variables, how to deal with types and to do basic calculations until we finally reached the peak of confusion for the evening — arrays and dictionaries. We ended the lecture by discussing why we as coders have to know what type a value has and why Swift can’t convert our ANY type nicely and without problems into numbers, strings and images by itself. Reasons given but rejected therefore discussion postponed 😜

The lesson went a bit chaotic because of noticeable knowledge differences. If a bunch of students in the group already know what e.g. a collection is they might get a bit bored by hearing it again and start talking to each other. This noise level distracts the rest of the class and… you can guess the rest.

So keeping the whole lot interested and focused on the topic was fairly challenging.

But there was something way harder to deal with: their disillusionment. It was heartbreaking. We covered a lot in the first session as we just had two of them and time was our main limiting factor. We even heard “We’ll never be able to do this” as an answer as we set the expectation for the next session — which was shocking! But we sticked to the plan and René and me promised on our grandmothers that this will happen — they’ll have their own iOS app coded by tomorrow evening . And yes — no pressure 😩

What really worked nicely tough was the coding in Xcode playgrounds despite the flaws it currently has. The students got a prefilled version of each mini lecture and then could decide by their own to just learn by watching the teachers instructions or type to really see what happens. That decision should be really up to the student as they know best how they learn (which might not apply to kids students).

As we meet the next evening there was a slight tension in the room — high expectation and maybe a bit of fear as well. But as we went along with the content everything went super smooth. We started with explaining what all this stuff in Xcode and the Interface Builder is about and tried to focus on the parts you’ll need for your very first steps. We also prepared an already working app with a little navigation flow in it to get started faster. And in the end we filled a text area with lines on text on button taps plus added randomly generated emojis. The bonus was to delete all the stuff with a tap on a clear button. Yes, that’s a super small exercise but for someone who has never seen Xcode from the inside and is afraid of everything in there this is quite a big achievement. And that’s why they beamed all over their face and left with a fair feeling of success 💪

For René and me the biggest reward in teaching is exactly this beam of excitement and success in their faces. Watching them while they go from “I’ll never be able to do this” to ‘Damn whaaaat! I did it” and be the helping hand when they get stuck. In the end it is us teachers who might ignite the coding passion in someone. So go out there!

Teach and tell people what you know and don’t be scared of “not knowing enough”.

Maybe you’ll start with the ReDI school 🤓 They are constantly looking for volunteer teachers who are proud and passionate about what they do. Give it a try!