I am learning a lot in JavaScript, HTML, CSS from ‘Launch_Code 101(LC101)’ in 2 months

Luhuang
6 min readAug 11, 2021
Photo by Ilya Pavlov on Unsplash

I love learning, but learning the right thing from the right program is very important. I am feeling Launch_Code Education(https://www.launchcode.org/) is my best choice for choosing a program in learning. I didn’t know how learning JavaScript could help me breaking into Data Analytic career, but I knew I could make some website and create something, like building my project portfolio. After 2 months taking it, I am considering a career as a web developer because I love solving the problems provided by the course and enjoyed so much the process of learning by doing.

I am located in Northwest Arkansas, while I was exploring my career switch to technology, I knew Launch_Code Education from our state’s nonprofit institution called Arkansas Center for Data Science(ACDS). In April, 2021, Launch_Code Education announced the application for Launch_Code 101(LC101), the course is free and the content included 3 parts : Introduction to Professional Web Development in JavaScript, Angular, and Java. As far as my understanding, the first two parts are about front-end web development, like how to make a website that’s pretty, well structured, dynamic, interactive, and clickable.

The LC101 course is virtual and we have 2 classes each week during Tuesday and Thursday evenings, during the classes we have 1 hour of live lecture and QA, and the rest of the 2 hours is studio, which 2–3 students grouped together and discuss problems and live code to work on a exercise together. Outside of class, we have about 10–15 hours work needed for putting into course related content reading, finishing quizzes, exercises. The wonderful thing about these program are the supporting resources. For example, my group has 8 students and we have been assigned 2 TA for helping answering us during studio time, also we can reach out to our course program manager for study help via slack direct message, any TAs(about 15 of them), lecturer about anytime and they will always reply whenever they can.

I applied the course by filling out the form and finished the problem solving assessment and got accepted very soon. I started the course on June, 1st 2021 and by far our cohort almost finished the first 2 parts and I am learning a ton and would like to share what I learned here to reinforce my learning. What I will share here is mainly about I learned from doing assignments.

I have finished 4 assignments, the 1st assignment is hard-deadline one, meaning if we didn’t finish it, we would be dropped out of the program. I assume Our principle course designer love spaceship, almost all of the assignments are set up in a simulation of spaceship launching mission. Due to that the solutions are confidential , I only am going to share what the assignments are about, what I learned and what are the challenging part and how did I solve that.

Assignment 1- covers knowledge in variable declaration, initialization, numbers, strings, array, 0 based indexing, if statement, function, input object.

We used replit.com for this assignment because we are newbie and replit have all the modules and packages we need to write and run JavaScript. This is the hard deadline assignment, meaning I couldn’t ask my TA for any clue or checking on my code. The assignment was about a situation that you will design a quiz system to evaluate spaceship pilot candidates’ knowledge by asking them questions about spaceship launching facts, mathematical questions, analytical thinking, and score their answers they entered. Basically, it should present the questions, ask for inputs, score answers, store and present scoring results. It gave me really good practice on how to create an input for entering answers using ‘realine-sync’ module and the question methods, how to index a given array, how to use function and combine function with nested for …if loop, and use built-in array and string methods to dynamically return items in a certain way from a array, also I learned that that you can use template literal to easily print out the output based on what’s the input. It’s challenging for a beginner like me to put every pieces together and make it work like a little quiz program, but think like a computer and follow the logic, and pay attention to the error message if something not working correctly, look up online if not sure what the type of error tells you, reread the task instructions and look how the end results should look alike. By iterating code and test, I was able to finish it and make the program working.

Assignment 2- covers knowledge in object, and reinforces understanding in variable declaration, initialization, numbers, strings, array, 0 based indexing, if statement, function, input object.

The assignment is about writing a program that takes in a word entered by user, and scoring the word based on the letters point rules contained in objects. Basically, it should present the scoring methods, ask which method to choose, ask for a word you want to score, store and present the scored results. Object is a datatype structure that has a key and value pair, in this case, each item in a object is an English letter : points , and you reference each item through 0 based indexing and get the value of the item by the key name of the object plus an bracket, or a dot notation: object[i][key] or object[i].key. This assignment is not spaceship launching related, but it’s a fun game. The challenging part of this one is how to transform a object containing nested array in the value to an simple object structure using loops and indexing. I was stuck at this part for a couple days, and I learned to console.log() to figure out what the new object I was trying to transform looks like and tried again and fixed again and finally able to get the program work like the end result.

Assignment 3- Covers unit testing, classes, module, reinforces understanding in object, variable declaration, initialization, numbers, strings, array, 0 based indexing, if statement, function, input object.

Our TAs told us this was the hardest assignment, and it indeed was at that point, but I had much better understanding of unit testing after completed the assignment. My conclusion is that the harder the task, the more you learn from it. This assignment should create a simulation for sending commands in mission control, convert that commands to message for sending to a space exploration vehicle(Rover), and have Rover to response to the message. Class is new data structure that allows dynamically declaring object. For example, if you have 10 objects with similar keys/properties, you would use class instead of hard-coding all 10 objects, from my understanding, this makes your code dry and professional. This assignment definitely helped practice using class to declare and instance objects. But the main task of this one was writing some testing code in a spec.js file, which corresponded to another .js file. We then used the module.exports method to connect the two files. The process was to making the testing code fail first, then wrote a small piece of code in the .js file to match the criteria defined in the testing code, and which should make the testing code to pass. It takes a lot of reading description about the simulation, revisiting the textbook about what covered in the course, online searching. The challenging part at first was how to know what’s not working since I am very new to flexibly debugging with console.log in a little bit new way of coding. But after I got all of the testing passed, I realized this actually it’s a debugging process and the response from the testing failure message did show some information about what’s wrong and the clue of fixing the code . js file, so console.log was not needed for this assignment.

Assignment 4- covers HTML, CSS

After a hard assignment, we were given a super easy assignment. we were asked to make a static web page, but I still learned and got a lot familiar with HTML elements and how to style them with a linked separate CSS file and display a fine looking page. I used my 4 year old son’s birthdays as a topic to make the page, and the feeling of creating something that belong to yourself is awesome and I can’t wait to create more using what I learned from this class.

In summary, this course matches so much with my learning style, which is learning by doing. Besides, I learned something I always wanted to learn, that is how to use git to interact with online git repository. I love this course and so thankful.

--

--