Saturday, February 25, 2017

Java Final's Week

Q & A
  • They say hindsight is 20/20, what advice would you give to the next cohort regarding this course?   
If I were to restart this course anew, I would request that pair programming occur within some app that allows for multiple users to view and control simultaneously the entire screen of code.  Screensharing by a driver precludes others but the driver from having unfettered access to or seeing of all the code, so that it's not readily possible to refer back or forth to other areas one may wish to view for clarification and understanding.  With that said, my colleagues were extremely professional and polite and would not hesitate to stop to allow me any view I requested, but this was only partially helpful and time consuming for all.

I must say, were it not for such an excellent team as I was fortunate to have, the assignments would have been far more difficult.  Yet, since I have a newborn baby for which to care and scheduling appointments is nearly impossible -- I must work in between her demands and can only focus while she is happy -- I would probably have requested an exception: that I work alone on all assignments -- that would have been far, far less stressful for me in terms of not having to schedule baby sitters and appointments.  ...This is simply an additional challenge for me, at present.
  • How much do you envision using the skills you gained in this course in your career?
It would be fantastic to obtain a job programming with Java because I really enjoy doing so, perhaps more than any other language.  Similarly, using Android Studio to program a simple app. was great -- absolutely the highlight of this course for me.  I'll continue to study it and its tools.

Tuesday, February 21, 2017

A Simple Android App

I had never created an app before this week's assignment, whether for Android or iPhone, so installing Android Studio and setting out to produce a simple, single activity for the Nexus 5 was really great.  I think it went pretty well.  Learning a new IDE can be frustrating; for example, I encountered some issues trying to refactor my module's name, which seemed to break everything, so I eventually began anew.  There might have been some file pathways that were written incorrectly or package titles that were off -- really, I'm not entirely certain.  Ultimately, however, building an AVD was very cool, and after I got the SDK configured, and every time the source did produce, I felt so, very excited, and ooohhhed and awwwed quite a lot at the marvelous virtual demonstration.  It's very impressive.  Otherwise, I spent a lot of time reading the various properties available, becoming accustomed to dragging and positioning the widgets, extracting resources and various other things, involved with developing for Android.  Overall, it was very impressive, very cool.

With respect to developing a recreational app, since in my spare time, I enjoy gardening, specifically, growing and planting native trees, especially Quercus Lobata, which is California's endemic Valley Oak..., I would like to build an app that allows for some geocaching of planting sites.  I doubt any universities would be interested because massive planting operations probably play a numbers game, simply planting specimens with the reasonable expectation that a fraction will survive.  Yet, then again, some naturalists might wish to return to examine the results, so it could, potentially, be academically useful in this way.

Thursday, February 16, 2017

UML Diagrams

My experience with Unified Modeling Language (UML) diagrams began with this program.  I had never encountered them in the workplace.  They're a nifty tool for visualizing the organization of an application and I'm now using the ones in Eclipse's side bar to better navigate through my programs.

I had never done multithreading in any language before this week, so that was neat.  We used Thread's run and sleep methods to pause one process for concurrent processing with another -- namely, the timer.

I didn't find patterns to be that helpful because our team had done a lot of encapsulation of the code we transferred.  It seemed to oversimplify it.  Yet, I wonder how that might change if I were to begin writing the program anew.

Tuesday, February 7, 2017

GUI Using Swing

This week we used the Swing and AWT packages for building event-driven GUIs and ultimately a card game. I think that coding the Swing elements in Java would be more difficult compared to some other languages for the same reasons that Java is generally more challenging -- the syntax and implementation requirements, for example, using the correct operators or declarations and implementing the right interfaces. Passing in objects as arguments to methods can also be challenging in implementation, as well as choosing the right layout.

It makes sense to learn to code through the console first because it's helpful for debugging.  Also, seeing the results print to the console helps one make certain there aren't logical errors.  Interactions through a GUI can come along afterward.