The last assignment I worked on was Assignment 3 from the Stanford iPhone class. This assignment used the MVC style design to actually draw the polygon shapes that the last assignment had us “make.”
As you can see in this photo, prior to starting this assignment I had a program that knew pretty much everything about the polygons I needed to draw. This program could be decrement to three and incremented to twelve. It calculated all of the angles in radians and degrees! For the third assignment I needed to take this program and work with the new idea of “views” to create something that looked like real polygons! Here is a tiny snippet of the code for the HelloPoly program that calculated everything about the polygons!
After watching the lecture that corresponded with this homework, I went to work. The result is this:
As you can see, we finally get to see something that “feeeeels” interactive. How cool! The important ideas used here were the correct handling of the different views. And here is a snippet of the code handling the polygonview for this application.
Now onward to something a bit more final…
I feel as though I have covered a great bit of material for a 2-hour independent study. My understanding of iPhone application development has definitely grown. However, I still have a bit of ways to go. Hopefully I can push through to the end of the Stanford class in the future and be able to easily create simple applications.
If I were to go back and do it again I would make some changes. I would have begun with the lectures from Stanford. Although I think that the Hillegass book was helpful in learning how Objective C worked, it didn't teach me too much that gave me a real hand-up in going through the Stanford stuff. It was definitely oriented towards developing applications for the Macintosh. Additionally, it is important to remember (and I know I will forget) most of the homeworks are based on two lectures. Once or twice I would start working on one of the assignments and not understand a big chunk and then realize it was because I had only watched one lecture! Having moved through a good bit of material, I repeatedly got frustrated that I wasn't going “anywhere” quickly enough! I had to keep remembering this wasn't a full class and having now looked back at the amount of time I spent working on it, I definitely put in the time I feel that a 2-hour class should deserve. There were times where it was a bit challenging finding answers to questions I had. Unlike at Sewanee, if I had a question about the way something worked, or why something I had written didn't work, I couldn't just go ask someone (Darn you Sewanee for having such accessible professors!). This was both a hindrance and a help. I have gotten a lot better at searching, finding, and learning how to solve my own problems.
A word about the Stanford class:
The lectures are superb. Just check them out:
Not that bad for something that is free! The videos are all high-quality with great audio. I never had a problem with hearing or seeing anything. Additionally, I always had the actual slides pulled up whenever I watched a lecture. I took notes on the first couple but I felt that the later lectures moved away from topics that could be easily recorded with notes. I often referred back to lectures when working on an assignment. The fact that they were on iTunes made this so easy and accessible. I do wish that there was a way to annotate the videos so that you knew at what time they were on each slide. However, all in all the Stanford material was a huge help and I would highly recommend it. The guys that led the class were always humorous and great at explaining things. Plus, they were young and hip!
I look forward to continuing to work with the iPhone and hope to eventually create something of my own in the near future.