Wednesday, April 27, 2016

printf("Hello, World!"\n); An Adventure at TurnToTech

printf("Hello, World!"\n); I’m Erica - former language teacher and bachelorette, current student and new mom, future programmer and international super-star. I started out learning foreign languages, including Spanish and Italian, then moved on to computer languages and can't get enough. I’m going to school now to become an iOS developer because I'm in love with (and common-law married to) my iPhone and I’m looking forward to the next chapter.


In the meantime, here I am at TurnToTech, one of the few schools in Manhattan that teaches both Objective-C and Swift in person. An interesting aspect of this particular program is that they have rolling admission. So every week there are brand new students, starting at the beginning where I was just two months ago. It’s such an amazing feeling to be able to confidently help these students when they get stuck when I was struggling with the same material such a short time ago. As a four month program, 5 days a week, 9 hours a day, you really do grow in leaps and bounds. Even more amazing is watching what the students ahead of me can do; looking at their projects as impossible and then casually completing them too just a week or so later.
Logo for TurnToTech bootcamp in the Flatiron district.


They started me out with the C language. Originally developed in the early 1970’s, it’s astonishing how powerful and relevant it still is today. The first month we tackled loops, complicated algorithms, string manipulation (without the use of built in functions), bit shifters, and recursion. We also tackled recursion (sorry, I couldn’t help myself).


After gaining a general familiarity with major C concepts I moved on to Objective-C. With its roots in C, it adds object-oriented programming concepts to your code and was the first language used to write applications for Apple iOS and OSX operating systems. [When I first started with Objective-C I was intimated by the sheer number of brackets.] But with a little practice, I’m becoming more and more comfortable. After just two weeks I was playing with structs, classes, methods, properties and instance variables.


The Simplest App rendered on my iPad.
Finally it was time for my first app. It was written with the purpose of exploring gesture recognizers. I learned how to put shapes on the screen and have them react to a user’s touch. They were just simple colorful squares but you could tap and pinch two of them to change their sizes, swipe through a few of them to see different colors, pan one around the screen, rotate one around its center axis, and long press another to change its color.


I know it doesn’t sound like a lot to a non-programmer. I know this because when I proudly showed it off to my father he did a couple of them and said, “Very nice, honey;” the same thing he said when I got a 100 on my spelling tests in elementary school (which was also really hard for me, by the way, since I’ve always been a math nerd). But it was all worth it in that moment when I first ran it on my own iPad and was able to tinker with it. The same iPad that holds such gems as Google Drive, Lose It!, and Duolingo now housed my very simple app, fittingly named “Simplest App.” The code for which, if you’re interested, is on my github account. To make sure I really hammered the concepts down I created the app again from scratch, applying multiple gestures to the same shape. The code for this app, “MultiGesture,” is also on my github. A small ego boost and badge of honor as I tackled the next, much more difficult project - the Parent Child App.

Stay tuned for details about this project - elements that I found easy, difficult, interesting, and uninteresting. I can’t wait to share it with you!

No comments:

Post a Comment