My Experience Learning JavaScript Through an Online Course

Giovanni Riad
Voices From The Classroom
5 min readMay 2, 2019

Entry 1

The state of California alone has 5th largest economy in the world recently surpassing the UK. One reason for this, is undoubtedly the tech giants in silicon valley, which is pretty much our backyard. The problem is I am pretty bad at coding and I need to brush up on my skills. The solution is to use a 35 hour online course that I purchased last week on udemy. I hope to become more fluent in JavaScript and to be better fit to pursue a career in the tech industry. I am increasing my job skills and becoming a more well rounded person. I will follow the course which has checkpoints in it that I can show to the class at the end of the project. I will create a website that showcases my JavaScript skills. I have some background in coding so I know I will have a complete final product by the end.

Entry 2

The first work I did for my project was learning about data types. The first data type I learned about were numbers which are stored as, well number that can be used in math expressions. The second type I learned about were strings which are bits of text that you can output they must be inside of quotation marks. You can also add strings together like this — “hi ” + “my name is Gio” and the computer would now store this as hi my name is Gio. for my next data type I learned about booleans which can only be two values true or false there are many ways to use all three of these data types. Data types are important to know because if I am trying to add two numbers that are in string format together I won’t get the output I want because the computer won’t see them as numbers it will see them as words. There were a few projects that I did based on these data types. The first project and the one I learned the most from, was a number adding program where I also learned how to use prompts which give a popup to the user and asks them a question. The question I asked was what is your first number then after that I asked for the second number. Then I added them together using the JavaScript math operator +. After this I was confused why my numbers were not being added together correctly. When I would add 1 and 1 the output would be 11. I realized this is because a prompt will always store the information you input into it as a string so I did some intensive research, or what most people would call googling and found that you can use the number() tag and put the question inside it will turn the string into a number. From there the program worked just as intended. This week really showed me how a tiny bug can be fixed by googling and that revising code, even only a few lines can be difficult if you don’t know your basics.

Entry 3

Today I started working on a Tetris game. I added the canvas which is a basic black background and I added one block the T block. Then I added the update function which records how much time has elapsed and after one second. Then I added the playerDrop function, which takes the information that I made in the update function and makes the player move down every time interval. I added the rotation which was quite confusing to conceptualize. I learned that writing notes about your code before you write it really helps you visualize what you are about to write.

Entry 4

Hi, my name is Giovanni Riad today I will be talking about mistakes. So for my project I wanted to learn how to code better and I thought that making a game would engage me and make me want to learn. My first plan was ambitious to say the least; I thought that I could make my own amazing original game. As the project moved on I realized this goal was not realistic. Now why was this goal unrealistic? This is because I did not plan for mistakes. I did get one final product done which is the Tetris game I made. This goal was more realistic. Most of us hate mistakes, Most of us strive to never make a mistake, but in this project I learned they are not so bad. In my project I learned not to hate mistakes but to expect them plan for them and also try to prevent them.

Now, my initial goal was to make an original game. I did not get to start this original game because I did not expect to run into mistakes. The mistakes I am talking about are more commonly called bugs when referring to coding one wrong letter or number can make your whole program stop working this is something I struggled with. About three weeks into the project I started running into a lot of bugs this added about a week and a half of time to the tetris game and ultimately led to me not getting to start an original game. The failure I faced here helped me learn to plan for mistakes. This failure showed me that mistakes happen. I should have planned for a more forgiving timeline. I realise after doing this project that 5 weeks is not a reasonable timeline to learn how to code and to make an original game while also juggling school and sports.

One more thing I learned is that coding at fast pace is not always faster in the long run. A common saying is that haste makes waste I definitely learned why this is a common saying. Near the end of the project time I was rushing to finish my tetris game. I starting typing as fast as I could so that I could finish on time. This rushed work lead to even more frequent bugs than before I started rushing. This speen did not help and it actually slowed me down. I learned to prevent the mistakes by being careful about what I do. After I realised that I was making so many bugs by rushing I slowed down and organized my thoughts. Organizing my thoughts and thinking about what I was coding made me a better programmer and helped me understand how to edit my code better. I also learned to write out what I was going to do on paper because this is a very useful tool to organize your thoughts.

Through my project, I learned to be a better programmer by making mistakes, growing from them and reflecting. I saw working fast is not always the fastest way to work. All in all I learned that mistakes are expected and that haste makes waste.

--

--