2015/08/23

Week 1 at Epicodus JAVA/Android program




Hi there!

My name is Juliana and I arrived here from Brazil 3 weeks ago. I spent 2 weeks exploring this wonderful city of Portland - OR and coding in coffeeshops, and now the JAVA/Android program at Epicodus has finally started.

This first week at Epicodus has been challenging in a very good way.

Everyone must complete the pre-work on their LearnHowToProgram.comwebsite, but obviously not everyone is exactly on the same page. That’s why pair programming is challenging. They randomly assign our pairs for this first week and it’s been interesting to work with so many different people. I was a little worried about it before the program started, but now I can see the value of this format.

As for the programming itself, I started out with I guess “good enough” notions of the basics (variables, loops, data types, that kind of thing) and some very vague notions about methods and objects. I feel like here you do a lot of things before you actually understand them. Well, that’s how it’s been going for me anyway.

Little by little things start to sink in: variable scopes, frameworks, testing, Hash Maps, Array Lists… Just please don’t ask me to explain frameworks and compiling just yet. They’re still in the “vaguely aware of their existence” territory for me. I have been using them successfully, but I just can’t explain how they work exactly. In the back of my head, I’m anxiously expecting the day when it will all just “click”, you know? For now, letting it simmer…

This week I completed 9 little projects (JAVA_01 through JAVA_09 on my GitHub), some girls did more, some did less. These initial projects mostly deal with creating methods, taking strings or integers and playing with them a little and then returning the result to the user. We’re using templates through Apache Velocity Engine, we’re using Spark and Gradle, testing with FluentLenium. Not all of that makes complete sense right now, but they’re starting to sink in. It’s all part of the process I suppose.

A highlight moment of the week was figuring out how to capture a tricky variable on Velocity Template Engine. One of my friends here set up her project in a way that on page 1 you get the user input from an HTML form. On page 2 you return that input with some changes and finally on page 3, we should display the initial input. Along the week we’d only tried to go to page 2, so today we struggled to get that variable into page 3 and when it worked, it was like magic! Well, by magic I mean some awesome logic that was slowly sinking in for both of us at the same time. The way I see it, that is the magic of pair programming.

On that note, let me share a very useful link about variable scope for those starting out on their JAVA paths: an introduction about variable scope on Java Made Easy.