After completing my 3rd week, I realized that I am one quarter of the way through my training at Hack Reactor. Unofficially next week I will have graduated from a Freshman to a Sophomore.
Week 3 is historically considered the hardest week at Hack Reactor. After just completing that week I can agree whole heartedly with that assessment.
Monday of Week 3 started with our self-assessment. We are giving a short time period to complete an assessment that tests our knowledge of the material covered in the previous week.
Our assessment this week was to:
- Rewrite a function declaration into pseudo-classical
- Write a function to find duplicate characters
- Utilized several D3 functions
- Describe time complexity of several algorithms
REST and Parse API
The first sprint of week 3 covered REST and how it is used to transmit data across the Internet. We would use this knowledge to write a Chat application.
The application would parse data sent down from the server and display it on the screen. The users Would be able to see the chats.
We would add functionality for them to select a chat room and be able to chat privately with others.
Users could befriend other users. All friend chats would be displayed in bold in the the list of chats.
Users could enter in their own chats and send them to the server.
One of the challenges of sending data across the Internet is the possibility for a hacker to break into your system. The term Pwned is used to describe when a hacker is able to send code to your server or client that is able to execute code that can cause bad things to happen.
As part of this sprint we experienced first hand the dangers and vulnerabilities of sending data across the Internet.
We were required to actually discover how it was happening and then make the necessary changes in our code to stop it from happening.
Backbone and MVC Frameworks
The second sprint of the week was an introduction to Backbone.JS. This was the start of the challenges we would face for this week.
The sprint was purposefully setup to challenge us in learning a new framework and being able to utilize it to solve the project.
The MVC framework of Backbone.JS was new to almost everyone in our cohort. We spent many frustrating hours trying out how to make things work correctly within this framework.
It was not unusual for all of us to feel completely confused at what we were trying to do at some point during this sprint.
The sprint was to create a web application that provides the same functionality as iTunes. We would provide a list of songs for users to listen to. Users could click on the songs they wanted to listen to.
As the user clicked on the songs they were added to a queue. As the songs were played they were removed from the queue and the next song would be played.
To add more functionality to our iTunes application we logged how many times each song was played.
Based on how quickly you completed the sprint you could go after Extra Credit work. The Extra Credit work would allow users to Thumbs Up the songs they liked the most.
We could then rank songs by the number of Thumbs Up they received. We provided a counter to show the number of times an individual song was liked.
We could also use CSS to provide a unique skin and look and feel for our iTunes application.
Review Sprints and CoffeeScript
This sprint was our first introduction to a Review Sprint. We were given the option of choosing to not complete the CoffeeScript sprint and instead choose to create our own sprint.
In order to complete our own sprint we were required to provide exact details of what we wanted to complete by three set milestones over the next two days.
We were required to submit our details by noon on Friday. Anybody that submitted a request was given a definite yes or no to their request by 1PM.
My pair and I chose to complete the CoffeScript sprint because we wanted to get exposure to this programming language. Plus it provide extra exposure to using Backbone.JS.
The sprint was to write an actual Blackjack game using Backbone.JS but written using CoffeeScript.
Another introduction to a new technology and another attempt and being confused with Backbone.JS. This is why week 3 is the hardest week at Hack Reactor.