HI! I’m glad you decided to join us again. Last week, I spent many hours on my first project, a Hangman game using JavaScript and jQuery. It was a blast and I was ready to learn more. Luckily, that’s just what happened… let’s get started!

Day 1: Intro to Ruby

Ruby is a familiar term to me - I knew it was a programming language and I’ve played around with a super fun Ruby Tutorial before so I was pumped to officially learn Ruby. What’s Ruby, you ask? Well, Ruby is an open-source server side programming language that focus on simplicity and productivity. The moment we started learning Ruby, I knew it was a language I wanted in my toolkit.

ruby jokes

Ruby jokes... ha ha ha


Intro to Ruby: 1.5 hours

For our intro into Ruby, we chatted a lot about the history, the creator of Ruby, and we compared and contrasted Ruby and Javascript as programming languages. My favorite difference is how natural Ruby feels compare to Javascript.

"Ruby is simple in appearance, but is very complex inside, just like our human body." — Yukihiro "Matz" Matsumoto


Quick note: If you’re curious, check out the history of Ruby and it’s creator, Matz. The really fascinating!

In class, we installed Ruby and PRY ( we use PRY to run ruby in a REPL, read, evaluate, print, loop) from here, we learned about data types, arrays, hashes and methods.

Ruby Enums: 2.5 Hours

After our lunch/break/open office time with the instructors (reminder: we have a break from 12:30 - 2:30pm everyday) we dived into Ruby Enumerables!

What is an enumerable? In Javascript, if we wanted to print a list of items inside an array, we would write a for or while loop. In Ruby, we can use enumeables! Enumerables are loops used specifically to do something to or with each item in an collection. We learned about the .each and .map enumerables.

We spent a lot of time doing class exercises using our new found Ruby skills.

Confidence level (1-5): 4 Optimistic level: High

Day 2: Outcomes and Ruby Lab

Outcomes: 2.5 Hours

Every Tuesday we meet with the Outcomes team from 10am - 12:30pm. Outcomes is a time to discuss resume building, interview prep, defining our personal brand, Linkedin profile building, and peer reviewing of all things professional.

Ruby Lab: 2.5 Hours

We were given a lab to complete before 5pm. The lab relied heavily upon Ruby Enums and boy, was it challenging. This was one of the first labs that I felt unsure about. Usually, labs are all day but not today. The instructors helped out a lot and I finish the lab but I didn’t go home feeling too hot.

Confidence level (1-5): 2.5 Optimistic level: Meh…

Day 3: Intro to Object-Oriented Programming in Ruby

Yesterday was rough on me so I spent majority of last night reviewing Ruby. It’s difficult to really like something that you barely understand… I feel like Ruby is a language that I can really geek out on but unfortunately I’m not there just yet. Today, we dived deeper into Ruby as a OOP language.

Ruby Intro to OOP 1: 2.5 hours

Ruby is an object-oriented language. An object is a collection of related attributes (aka properties) and methods (aka behavior). Think of an object as a little machine: it has displays you can read and buttons you can push.

We created our first Object in class, using class and instances and walked through the relationship between .new() and def initialize().

Ruby Intermediate OOP in Ruby: 2.5 Hours

More OOP practice - we spent about a hour building a Person Class using variables, instances and inheritance. Just like we get traits from our parents, we can use a feature called inheritance to create multiple classes (children) that share properties and methods from their parents.

We ended the day with review and a sneak peek into Ruby on Rails… Exciting stuff but still feeling a bit shaky on everything. Today was packed with tons of new vocab and there’s 3 homework assignments due tomorrow at 9am. Today quickly became a 12 hour day, as I stayed at school to study and finish homework assignments until 9pm.

Confidence level (1-5): 3 Optimistic level: Meh… there was a lot of material today.

Day 4: Ruby Lab

Can I start off by saying that lab days are my favorite days of the week! Why, you ask? A lot of different reasons:

  • No class!! Finally a chance to catch up and solidify everything learned from the week
  • You can work from anywhere. I usually stay on campus but sometimes I’ll take my lab over to the nearest coffee shop
  • Instructors are available majority of the day to answer any questions. There’s plenty of opportunity for one on one assistance
  • I learn by doing. The lab is the time to try things, fail at those things, make mistakes and learn as much as possible within the day


It’s been a rough week for me so this lab was much needed. We were given a choice to what lab to tackle (ranked by difficulty. All to be built in the command line):

  1. Flash Cards
  2. Personal Finance
  3. Battleship


Even though I had a rough week, I still wanted a challenge so I picked Personal Finance. Although, the subject was pretty boring, I successfully completed the project and felt great about my progress through a bumpy time.

Confidence level (1-5): 4 Optimistic level: Much better!

Day 5: Data Modeling, SQL, ERD, Postgres and Active Directory

Started off the day at 9am with Slips - remember those? Our digital flashcards! Stand up in front of the class and face your fears!

ERD and Databases: 1.5 Hours

We reviewed and broke out into groups to draw out our very first Entity Relationship Diagram (ERD for short!) We learned how to identify and diagram one-to-one, one-to-many and many-to-many relationships between data entities and discussed data normalization.

erd

a simple ERD for our tunr app


Active Record: 2.5 hours

This class was massive. We went head first into ORMs, object relational mapping - A programming technique for converting data between incompatible type systems in object-oriented programming languages. Active Record is an ORM.

We created our Postgres database, setup our SQL Schema and Seeded into the Database. Super cool stuff! From here, we did a full walkthrough, following the instructor, on a full implementation of CRUD (create, read, update, delete functionality) application within Active Record. There were a lot of questions and a great discussion on rail’s ‘Convention over Configuration’ mindset.

Lastly, during the last 30 minutes of class, we reviewed everything from the last 2 hours and since it was Friday – we broke exactly at 5pm to partake in GA’s (free) happy hour that’s offered to students every Friday.

Whew! What a week. I hit some ups but mostly chilled at the bottom of The Emotional Cycle of Change, not a fun place to be.

emotional cycle of change

The Emotional Cycle of Change


But I’m proud that I stuck with it and gave it my all. This week was tough but I’m much stronger than I was on Monday and even more determined.

Thanks for reading! If you have questions or suggestions of things you would like to learn in regards to the course, please let me know in the comments! Or shoot me a note. I’d love to hear from you. Until next time.


Latoya M. Watson

Blogging about Tech and Food Stuff from Washington, D.C.