Professional Documents
Culture Documents
iOS: Development
Mr. Rho
5/10/18
Independent Study Wrap Up
and then developing an iOS app.The fall semester was used to study and learn the basis of
Swift 3, the newest language developed by Apple through the Udemy Course in the resource list
below. Additional resources will likely be found and used to help figure out niche portions of the
language that might not be covered in the initial course and book. My goal for the first semester
was to study and the learn basis of Swift 3, which is the newest language developed by Apple
through the use of a course on Udemy, “iOS 10 & Swift 3: From Beginner to Paid Professional”
This lecture series consisted of around 71 hours of material but probably only about
50-60 hours of the series was relatable to my study. The course started with an introduction to
iOS 10 and Swift 3 and then learning to code in Swift 3. Then we moved onto version control
with Git and GitHub. Next was learning more of the frontend functions of Swift 3 and then
moved onto replicating apps. The main problem with this style of learning was that it was very
hard to feel like I knew a topic before they moved onto the next one. They would briefly cover a
section of code and then add it into the application to show what it did. There wasn’t lots of
individual, creative coding on my part. Almost 100% of the programming was just copying the
screen and replicating their application rather than getting lectured on a topic and then trying to
implement it. This is a big problem with an online video class. This is my first time trying to
something as big as a whole computer language it was very challenging to come up with a
course plans and it was even tougher to follow it. I was not able to ask questions on this
Paul Gibbons
iOS: Development
Mr. Rho
5/10/18
individual section of code and I just had to follow along. The first semester of the independent
study was a good introductory lesson into the interactions of Swift and the Model View
My second course that I chose to go into during the second semester of my project is an
online lecture series by Michel Deiman in which he is recorded teaching a iOS 11 introductory
course to students at Stanford. I didn’t want to commit into the whole course until I at least
watch a few lectures to see if it would continue my progression of learning Swift. This course
had prerequisite courses as a requirement unlike the Udemy course which is very beneficial.
This course isn’t teaching the basics of how to program as if Swift was your first language. Its a
course that is designed for people who already have a few years of object-oriented
programming.
I feel as if this style of online class wore more informative than the Udemy course
because it was also a class that is taught in person and this was a just a hybrid of an online
course and an in class course. I enjoyed following along with this because he would go through
a demo of a certain project or code but then we would have to elaborate on code after watching
and taking notes of the lecture. The first lecture in this course mainly covered stuff already
learned in the first Udemy course, such as, running simulators, creating subclasses while
spepecifying instance variables and methods, connection UI elements to call methods in Swift
code, connecting properties from the code and connecting it to the UI Outlet. It was nice to go
through a slight refresher in this first lecture as I already knew most of the basics he was talking
about the next lecture that included the demo was about the Model View Controller. Lecture
Three took a lot longer than the first two lectures in this course. It wasn’t following along demo
code but it was learning more theory and more information about the Swift language. This
lecture covered more on Autolayout, more review on the Concentration game, Tuples,
Paul Gibbons
iOS: Development
Mr. Rho
5/10/18
Computed Properties, Access Control, assertions, extensions, enums and a brief Data Structure
review. I next went into Lecture 5 of the iOS development course by Stanford. I’m finding much
easier and shortening these writeups by making them more concise and then just including my
lecture notes below in a PDF format. The lectures are getting more in depth and getting away
from current knowledge of programming which is challenging but nice at the same time. This
lecture is mainly based on Views and Custom Drawing. Some other miscellaneous topics were
handling errors, the object Any and when to (and not to) use it and covered some more
Objective C based classes. Lectures 6 & 7 were some of the two most challenging lectures I
have had yet in these series. Lecture 6 was a heavy demo that lasted around an hour and a half
gesture recognizers so that you can reuse that code throughout your app.”. In this demo, we
turned our cardDeck into a gui based platform with two function with multitouch. We used
to swipe across the card to shuffle and go through the whole deck randomly. The pinchGesture
was used to practice implementing functions on certain events. In this demo, we selected the
face cards to have the ability for the user to resize the image themselves. Lecture 7 was not a
demo based lecture but very information based and I had to take some time to make sure I
condensed a good amount of the lecture in a decent notespace. Lecture 7 was about Multiple
Model View Controllers, the timer function and an intro into animation. The main point for
additional MVCs is to create higher powered applications. The last lecture I covered was on
UIView Animation has changes to certain UIView properties that can be animated over time, by
changing the center, bounds and etc. You can define some animation parameters and pass an
animation block and the animation block contains the code that makes the changes to the
Paul Gibbons
iOS: Development
Mr. Rho
5/10/18
UIView. The changes inside the block are made instantly. Dynamic Animation sets up physics
with relating animatable objects and let them run until they resolve to stasis. It is easily possible
to set it up so that stasis never occurs but can cause performance issues.
I enjoyed the second semester portion and realized what style of learning that I prefer.
Udemy’s course seemed more inclined to just push a agenda and then get you to get through
concrete examples while the Stanford online course allowed a more creative style of learning
although it still provided lots of note taking periods and had lots of information that required
Overall, I had a ok experience with this independent study over the course of the year. I
feel as if I have a decent understanding behind Swift and app development but I would love to
take an actual course to try to learn more and solidify my knowledge. My motivation for the
study was on and off as it was difficult to find motivation to do a lecture after say not
understanding how to elaborate on a project and etc. This was a good way to keep involved in
programming rather than just taking a year off which would have been the case if I didn’t make