Projects and their benefits to understanding concepts.
So I’ve been in an iOS program for at least four months now, doing labs, trying to get the tests to pass and etc. I remember looking back and all I wanted to do was just pass the labs that they would provide us and move along fast and quick, even though there was really no deadlines. The problem with doing what I’ve been doing while in this program was that I wasn’t grasping the concept of the topic of these labs and just trying to get them to pass. My labs would be passing but really in my mind, I didn’t understand why they would pass or what I really did.
Once I was put into a project, which you’re pretty much on your own, I realized that yes the lab are valuable but also you learn deeper as your project gets more complex. The project that my group worked on was a horoscope App where you get your daily horoscope based on the birthday you input from an API that we found. I came to the realization that our project needed a lot of the important contents that the iOS program taught us and was finally going to be put all together to create our App.
Our horoscope App consisted of programmatic constraints, Core Data, animation, API calls, stack views, cocoa pods and much more. When I was doing these individual labs, I never thought to myself like how all these topics that we are learning are going to be put into one. Not only was I teaching myself on the stuff that we needed for our app but I was also understanding why we needed to learn these stuff in the program and how they are somewhat interconnected with one another. As our group was processing through our project, we would speak out to each other and say “hey, we need to incorporate Core Data to save the user’s birthday” and “We also need to put this particular API call in a NSOperation.mainqueue”, which in my opinion was awesome because I’m finally understanding the connections with all the topics that we learned.
I’ve also came to the realization that you find your style of coding, instead of following directions from a lab and trying to code to satisfy the test. In project mode, you pretty much code and try to make it work and have it working correctly. Also in projects, when your projects becomes bigger that name conventions are SUPER important, I remember doing our horoscope app and I forgot what my own function (in which i created) did, because I poorly named that particular function so I also came to the realization that not only does your code have to be working correctly but also have your code understandable, not only to other people but to yourself as well.
At first I was very skeptical about being in project mode because I thought I wouldn’t be able to contribute as much in the project but I learned to do the research on the stuff that we needed, which was pretty much me studying intensely, and learned the topics and understand them. I’m very graceful for my team because we are awesome! =] and we learned how to make an app together. When our app is finally done, I will put the link down below.
Edit: 9/28/2015 — Astroscope is finally in the App store!!!!