Week 2 of the Ironhack Bootcamp: Getting serious
At the beginning of the week, a crunchy assessment gets us out of weekend mode quickly: We repeat the basic operations we learned, especially loops and conditions, using them in functions that edit and/or return data structures.
After that the focus of this week is shifted rapidly towards Document Object Model (DOM) manipulation. My two Key Learnings in this area are:
- What the DOM tree is, how it differs from HTML source code and how its elements can be accessed
- Dynamic adjustment of DOM elements based on user input, manipulating existing and adding new elements
Other interesting points that we spoke about during the week were:
- The difference between value vs. reference and mutable vs. immutable data types
- Asynchronous Javascript
- Callback and nested functions
You can tell by the vocabulary I use now that it's already more technical than in the first week, and week 2 feels quite different for other reasons as well: Less lectures and more coding in addition to the coverage of accompanying topics like debugging approaches and testing with Jasmin.
My personal highlight in the second week was the introduction and start of the first project, of which we will finish module 1 in week 3. Here are the key facts, I will go into detail in the next article
Project rules:
- Render a game in the browser.
- Have logic for winning and/or losing
- Show feedback to the player in either case.
- Include separate HTML / CSS / JavaScript.
- Use plain HTML canvas for graphics
- Have a repo on GitHub.
- Have at least 1 commit per day that you worked on it.
- Be deployed online using GitHub Pages so that anybody can play it.
- Stick with KISS (Keep It Simple Stupid) and DRY (Don't Repeat Yourself) principles
My approach:
- Already, I suspect I'll be more interested in backend logic. For this reason I will choose a very simple presentation and at the same time choose a sophisticated game mechanism.
- The logics should be completely decoupled from the functions that take care of the animations.
- I want to use more complex data structures (e.g. nested arrays or arrays of objects)
My game idea:
A laser should be directed over the outer walls of a playing field where it is reflected (multiple times) to a target. While aiming, the laser is not visible, so the reflections have to be assumed correctly before the shot is fired to get into the next level.
We had time on Friday for the initial setup. That included:
- Set up up trello, breaking down first tasks
- Set up repo with basic file structure
- Idea pitch to the "Captain" (--> responsible TA)
- Fill Readme with draft of the functions
- Create wireframes
- Anticipate the biggest challenges in programming: in my case these are the calculation of the reflection points and whether a laser hits the target or not.
Next week you will get the first demo!
What else?
Besides all the learning, we as a team held a retrospective during the week to improve the quality of the course. This comes at least at the end of each module lecture block - in addition to the weekly surveys. Friday evening was an opportunity to meet former alumni at the "Hacksdinner". Former and current hackers brought food from their home country and tried their hand at beer pong - a wonderful way to end the week!
Until then I'm looking forward to your questions and comments - best from Barcelona!
React Native | Typescript | Frontend Developer
5 年Very clear and didactic posts. It's also interesting to "relive" the bootcamp through your blog, definitely conjures up nostalgia :)
Passionate about Ecom Tech ?? Scaling companies
5 年Danke für die Insights Stefan Berkenhoff ! Warum denn Trello und nicht Jira für den Task Breakdown? Ich f?nd es super, wenn du zu den technischen Themen Links zu weiterführenden Artikeln einfügen würdest. Du liesst dir da ja sicher viel an. Bspw. DOM...