DEV Community

loading...

School of Code 4.0 Bootcamp

lauraashcroft14 profile image Laura Ashcroft ・5 min read

Alt Text

I made it!!

School of Code 4.0 started on Monday 25th September 2020 and I was one of the lucky people who got selected to be a bootcamper. The selection process was long, with quite a few hoops to jump through to get where I am now, but that was the easy part!

My brain has been jam packed within the first week, where we have covered basic JavaScript and have put into practice what we have learnt each day. Within 4 days we had covered:

  • Types
    • Number
    • String
    • Boolean
    • Undefined
    • Null
    • Bigint
    • Symbol
    • Object
    • Function
  • Variables
  • Arrays
  • If Statements
  • For Loops
  • While Loops
  • The DOM
  • Events

And the most important thing...

= is not an equals sign! Everything I have ever known about = is a lie. It is now the Assignment Operator and used to assign or reassign variables to an expression (to give a value).

There's also a few different ways to type...

  • thisIsCamelCase
  • this_is_snake_case
  • kebab-looks-like-a-skewer
  • PascalIsAllCapitals
  • SCREAMING_SNAKE_IS_SHOUTY

At the end of each day we've been encouraged to complete a 'daily reflection'

I've recorded what I have learnt from the lectures and what my feelings are at the end of each day. For each DEV post I'll give a brief overview of what I wrote in these reflection tasks...

Week 1 Day 1-4 Reflections

  • JavaScript is made up of operators, variables and types, logic flow, loops and functions. There are different types within JS; number, string, boolean, undefined, null, bigint, symbol, object and function. Numbers operators include + - / * and % (modulus showing remainder) and boolean operators show true and false rather than a number value.
  • Variables store information and labels are used to point at a value that is unreachable - it's just our way of extracting information out of 'space'.
  • Assigning variables means "must be a pointer" = "must be an expression" as a layout. You have to 'point' your variable to a value.
  • Prompts, alerts and confirms are all functions. Using a function() will create a 'pop up' that requires user input.
  • Loops repeat a script. While loops are indefinite and for loops are definite and have an end as long as there is a condition.
  • Parameters are when you define slots for things to be taken in by your function. Arguments are when you hand things to your function.
  • Variables can be let, const or var.
    • let is a variable that can be reassigned i.e. let myVariable = 1; || myVariable = 100;
    • const cannot be reassigned i.e. const myVariable = 1; || myVariable = 100; would fetch an error message
    • var is just the old version of let and can be reassigned also.
  • ${} should be used when joining strings together as it is easier to do and uses up less time and space. It can also be used to fetch a live update from a function i.e. a number counting up.
  • Key is a string.
  • Values can be nested or listed to show there is more than one value to an object.
    • let myLaptop = { brand: "HP", screenSize: "16-inch", price: "£400", aesthetics: { color1: "purple", color2: "silver", hasTouchpad: "true" } };
  • Arrays are lists and can be shown in different ways, i.e. on a single line or in a horizontal column (latter is easier depending on how much information is being stored).
  • .innerText is more secure than .innerHTML as it disallows the user to create their own code within a website.
  • Function is a type that can be used within functions in the same code block to make the web page more interactive.
  • .addEventListener is waiting for a certain (event) to happen before the code is read by the computer - this can be a button click or a 'keyup'.
  • DO NOT put () after a function within .addEventListener as it will call the whole function rather than the part I need.
  • Bubbling is the hierarchy of code and how it flows through each element.

Thoughts and Feelings
This week I started off feeling a bit overwhelmed, but overall pretty good! It's nice to have seen the pace that has been set and I feel that I mostly kept up. I feel confident that I can ask any questions when I need to, especially when I don't fully understand something. The morning and afternoons tasks really cement in the learning and make me feel more confident with my progress.

Week 1 Day 5

Reflection

  • This was our first hackathon!
  • We made an interactive game of Rock, Paper, Scissors where the user (human) played against a randomly generated move (the computer).
  • We used radio buttons to select which move you wanted to make and a "go" button that waited for a click event before moving.
  • The computer move was generated by selecting a random number between 0 and 2, with each number assigned to a move. We used math.floor() and math.random() to generate the numbers.
    • If 0 was generated, computer would choose rock.
    • If 1 was generated, computer would choose paper.
    • If 2 was generated, computer would choose scissors.
  • It needed some styling but the game was complete and indefinitely returned to play for as long as you like!

Thoughts and Feelings
I feel really good at the end of today! I worked really well in my trio and we tackled lots of problems together to overcome them and create a working, interactive game!

End of Week 1

So the first week went really quick! A lot of information was injected into my brain but I really enjoyed it! There was some ups and downs of completely getting the tasks and not understanding everything properly, but with practice after the session, the support from the SoC Team and the other boot campers coming together to solve issues. I really enjoyed my first week at School of Code and I'm looking forward to learning more next week!

Discussion (1)

pic
Editor guide