Friday, November 12, 2010

A Quarterly Reflection - "It was the best of times, it was the worst of times"

...Not really, it was all the best of times; I just needed a clever title.

Alex here, with a different kind of blog entry.

Week 10 has ended, and we're all getting ready to break for a much needed thanksgiving vacation. Before we go home though, we thought that we'd share with you our reflections and thoughts about our work this quarter. So, here is...

My Reflection:


There has been so much exposure to new technologies and practices for me this quarter, that I cannot possibly lump all of my thoughts into one category. Because of this, I present to you...categories!

The Technical Aspects:

This project has introduced me to a large variety of technical aspects, most of which have to do with the Mac platform and the iOS. I had barely any experience using Macs before, never mind developing on then; I have to admit that I'm now considering making my next laptop a Macbook Pro©®™. Developing solely for and with Apple technology gave me exposure to and knowledge of the following:
  • General- and good- use of the Mac OS.
  • Using iOS devices, such as the iPad.
  • Working with an editor designed for Mac OS and iOS development: Xcode.
  • Developing and working around a set of pre-established usability and style guidelines (iOS has strict 'rules' for these things).
  • Learning and developing with the Objective-C programming language.
  • Developing for the iPhone SDK
  • Hailing Steve Jobs as my new master.
Admittedly, I do still need work on hailing Steve Jobs; Apple has sent me a cease and desist stating that I may not hail Mr. Jobs unless I am wearing all white and shiny things (please don't hurt me, I only joke!).

In all seriousness though, I have learned a great deal. Developing for the iPhone SDK (the software development kit that Apple provides for creating apps for the iPhone, iPod Touch, and iPad) has given me practice in many areas of Software Engineering. These include:
  • Working with high-level class relations in a large, complex software system.
  • Designing and working with appropriate software patterns for our system.
  • Pooling resources to teach myself concepts previously foreign to me.
  • Advanced and extensive use of the MVC and Delegate design patterns.
  • Efficiently sharing information among multiple logic files and GUI files (related to the above).
  • The creation of a real-world requirements document, with requirements that keep in-mind the SDK and framework that was being worked with.
  • Following a complex project time line.
  • Creating and maintaining various documentation relating to specific and generalized portions of development.
The only chance that I have had to practice the skills in this list was in my "361 Software Engineering" course, which is the most basic SE course at RIT. I really enjoyed that course, and working on this project has given me a chance to harness my enjoyment for high-level work and research and gear it towards something that is (in my opinion) a great and worthy project.

The Professional Aspects:

I have also gained a substantial amount of experience working on a large project in a team environment. This has been very valuable to me. As I mentioned previously, the only Software Engineering experience I have had was in my sole class at RIT. Granted, that course did cram a huge amount of knowledge into a ten week quarter; however, I work best in teams, and my major (Computer Science) is not very team-oriented.

The team working on Access Lecture is great; we all have certain strengths and know how to play to them to get things done effectively. It is also great to be able to talk-out ideas with each other, and receive immediate feedback on how they may be improved or how the problem could be approached from a different angle. The result of this so far, has been the development of a series of prototypes that I am confident none of us could have done on our own; That is when you know that you have a good team surrounding you, and I consider myself fortunate.

Additionally, I have been getting some amazing exposure to research practices and what the research part of Computer Science is like. This is very relevant to me, as I have plans to pursue a Masters degree in Computer Science so I can begin to work towards more research-oriented jobs. Then, depending on what life brings my way, I may consider going for the title of Dr. Alex (I'm getting a tad ahead of myself here!). My point being: I am interested in CS research and everything related to it, and my work on Access Lecture has given me a much better understanding of what a research project is like on my field.

Personal Aspects:

The goal of Access Lecture hit more than close to home with me. During my K-12 years, I had consider trouble in math and science courses due to not being able to see the board. This caused me to fall behind, and not excel as much as I could have. I tried current 'solutions' to the problem, but none of them were adequate.

I am nearly certain that if I had been given access to a project such as AL, that I would have been much less discouraged and done much better in certain math and science courses. This makes me even more excited to be working on this project; I have a strong belief that this project has the opportunity to help many students who are in similar situations to mine, and may even help me when all is done!

In Conclusion:

If you're still reading, then I commend you greatly. In exchange your patience, here is a picture of my dog :). His name is Clyde, and he's the best thing in existence; he accepts all challengers of that title.
























Until next quarter...

- Alex

No comments:

Post a Comment