By Gino Bona
(This is Part Four of a five-part series documenting Gino Bona’s journey as he learns how to code. The first three parts can be found here.)
SEATTLE — “Two weeks down, two more to go.”
That’s what I told myself on Memorial Day as I enjoyed the last few hours of a long weekend. The third week at Code Fellows’ Computer Science and Web Development bootcamp would begin the following day and I would be faced with learning a whole new batch of unfamiliar concepts in a short period of time. The third week of bootcamp would also be the final week of the “lectures in the morning, labs in the afternoons, homework assignments at night” schedule. The last remaining task would be putting all of my new skills — HTML, CSS, and JavaScript — together during project week.
Our assignment for the third week of bootcamp involved creating a single-page app that allowed users to vote for their favorite cat photos. All of the votes would be tallied and recorded in the app to declare the cutest cat photo ever.
We were required to incorporate the following elements to our app throughout the week:
- jQuery: a cross-platform JavaScript library used to select and manipulate elements of the Document Object Model (DOM).
- AJAX: a technique for loading data into one section of a webpage without having to refresh the entire page.
- JSON: a format that uses text to transmit data between a server and web application.
- Node.js: an open source environment that allows JavaScript to run on a local machine rather than just in a browser.
- Heroku: a cloud platform as a service (PaaS) that allows programmers to host and deploy their applications.
If you have read any of the previous installments of The 42-Year-Old Coding Virgin, you won’t be surprised to learn that I struggled incorporating all of the above-mentioned elements into my app. After spending three weeks swimming in the deep end of a stacked module learning environment, I’m somewhat comfortable being challenged and not entirely overwhelmed with the prospect of not being able to completely grasp each day’s concept within that day. It’s crazy how attitudes and expectations can change over a three-week period of time.
On Friday afternoon, it was finally time to look ahead to project week. Students were encouraged to pitch their classmates about project ideas (i.e., websites or apps) that we would build from scratch during the final week of bootcamp. Students voted for their favorite pitches and then divided up into teams to build the projects.
My project idea was “What The FIFA Bribe Estimator.” It’s basically a website that calculates how much money you would need to bribe FIFA in order for your country to host a future World Cup. (If you’re not aware of the burning clown car known as FIFA, you can read all about their pervasive corruption here.)
For the “What The FIFA Bribe Estimator,” a user would be asked a single question: What country would you like to host a future World Cup?
After submitting the name of a country, the website would process the following information via functions and arguments:
- Name of input country
- Currency of input country
- Random number between 150 million and 300 million Swiss francs
- Convert Swiss francs to input country’s currency
- Number of existing stadiums with 80,000+ capacity in country
- Number of 80,000+ capacity stadiums needed to host a World Cup (12 stadiums) minus the number of existing stadiums in the input country
- Multiply number of stadiums needed by cost to build new stadium(s) (cost is 1.2 billion francs per stadium)
The user would then receive a message stating how much money was needed to bribe FIFA plus the cost to build new soccer stadiums in order to host the World Cup. The money would be displayed in the input country’s currency and also converted to Swiss francs (FIFA is headquartered in Switzerland and they prefer to accept bribes in Swiss francs). The user would see these costs for the 2022 World Cup. Bribe amounts for subsequent World Cup years (i.e., 2026, 2030, 2034, etc.) would be refactored with a 12% increase every four years to account for inflation.
My project idea was one of the pitches approved for project week. So now I get to turn my grand vision of mocking the Fédération Internationale de Football Association into a real website. Dreams can come true!
I’m looking forward to the final week of bootcamp. It will undoubtedly be intense and stressful, but I’ve learned to expect and manage those feelings.
Three weeks down, one more to go.