Day 22 of 100DaysOfCode
Tags: 100daysofcode, javascript, codenewbie, freecodecamp
Published: 2020-09-14 18:40:23

Hi! 

Today was a pretty average day. Did some challenges at FCC and read chapter 7 of Eloquent JavaScript. 

**FreeCodeCamp**

Today I started the Basic Data Structures challenges. They were what the name states, pretty basic. The start was mostly focusing on arrays. 

Learned what data structures are and how to build them using JavaScript. 

**Eloquent JavaScript**
Chapter seven is a project chapter where we as a reader build a program with the author. The first project was to make a mail delivering robot, or actually a few of them.

We built three robots: a randomRobot, a routeRobot, and a goalOrientedRobot. The names describe them pretty well. The most interesting one was the goalOrientedRobot as it had some pathfinding capabilities. 

We also built a way to add parcels for the robots to deliver in random locations around the map. 

This was a fun chapter and going to start the exercises tomorrow. 

**Study plan**
I decided to make a more robust schedule for coding. My base plan right now is:
1. Read a chapter of EJS in two days. Then do the exercises on the third day. 
2. Do at least ten challenges at FCC every day.
3. Watch a programming related YouTube video or listen to a podcast

This is just the base plan and I'm adding some "spice" to the mix. The spice can be anything that I want to do on that particular day. 

I'll keep this at the beginning of my writings and change it as I see fit. 

I encourage everyone to make a plan. It will push you forward!

###What I did today:

####1. Started the Basic Data Structure challenges at FCC
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-data-structures/

####What I learned from it:
* What are data structures and how to use them
* Difference with one and multi-dimensional arrays
* Using the spread operator

####2. Read CH 7 of Eloquent JavaScript
https://eloquentjavascript.net/07_robot.html

####What I learned from it:
* How to start solving bigger problems
* Using objects and functions

####Time spent learning:
Task 'FCC'. Elapsed time: 0 h 37 min 3 s
Task 'Reading_EJS'. Elapsed time: 1 h 17 min 20 s

####Time actually coding: 1 h 10 min

#### Total time: 1 h 54 min 23 s
Time spent is tracked by my [TaskTimer](https://www.arttupyykonen.com/tasktimer/) script and the [WakaTime app](https://wakatime.com/about).


### Links and videos
As I said in the study plan, from now on I'm going to watch a programming related video every day. I'll share them here so that others can watch them also.

Watched this really fascinating video describing the Art of Code. Really recommend watching it!

{% youtube 6avJHaC3C2U %} 

### Further reading


#### [Eloquent JavaScript](https://eloquentjavascript.net/) - My favorite programming book
The book that really teaches you JavaScript. This has been a great read so far! The way the author explains things is both easy to understand and compelling. 

The learning environment which comes with the book makes the experience ten times better. Using the word "book" is a bit misleading. There are lots of code examples that the reader can run in the browser and there are plenty of exercises at the end of chapters. 

And the best part? The book is totally free!

####[Exercism](https://exercism.io/)
A platform for coding challenges. I enjoyed trying it and have read some positive things about Exercism. I liked the way the problems are solved. It requires using your own IDE and the terminal which felt like I was programming like the big boys. 

#### [The Odin Project](https://www.theodinproject.com/)
A great open-source resource for becoming a full-stack developer. It starts with the very basics and gets going after that. Really enjoyed it and look forward to doing more of the lessons. 

#### [FreeCodeCamp](https://www.freecodecamp.org/learn)
Check out FCC for the best interactive exercises! I have finished the Basic JavaScript, ES6, Regex, and Debugging lessons and can recommend them for a beginner

####Psst
You can check my answers to the exercises of Eloquent JavaScript. You'll find them [here](https://www.arttupyykonen.com/ejs-solutions/).

Have a great day and see you all tomorrow!