Saturday 15 August 2020

Learning Coding - I: Safwan's story

Some of our students have been teaching themselves coding during the lockdown. Here is a blog by Safwan of Grade 8:

 I recently finished a web development course in Udemy. This is a report which states what I have learnt, the projects I've built, etc.

I learned first about HTML, which is used to structure your sites and CSS, used to style your websites. Both are the fundamentals of the web. When I finished the HTML module, I made a site which wasn't very nice as it didn't have any styling. But after finishing CSS, I made an online CV, which you can check out here.

Then I learned about Bootstrap, a famous framework made by Twitter to make beautiful responsive websites. I built a website which uses Bootstrap, but I didn't deploy it publicly.

I then started on JavaScript, which adds interactivity to your website. After finishing JS, I made a website in which it displays two random images of dice. Check this website here.

After that I did jQuery which is a very famous JS framework which just makes your code a lot less shorter and more readable. After finishing jQuery, I launched this game which you may have heard of - the Simon Game. The Simon Game site is here.

Then I started learning about the Unix command line. The command line is a powerful tool for any developer. After this, I started back-end web development. The back end of any website consists of a server, an application, and a database. Back-end developing builds and maintains the technology that powers those components which together is the very thing which enables the user-facing side of the website to even exist in the first place. 

We wrote our server code in Node.js, a server side language which is based on JavaScript. Two advantages in using Node.js to using other languages which work on the server side (like Python or PHP) is that 1) It's based on JavaScript. Every web developer has to learn JS, so if you use Node you don't have to entirely learn a new language and 2) It has lots of native modules, which allow you to do a lot more things.

One of these native modules is Express. Express is the most widely used framework for building web applications and APIs. 

We then continued to learn about APIs. API stands for Application Programming Interface. An API is the messenger that delivers your request to the provider that you're requesting it from and then delivers the response back to you. In other words, it's the thing that allows two applications to talk to each other.

After that, we studied about Git, GitHub, and version control. We then practised EJS, a popular templating language, which allows you to write basic JavaScript and handle the flow of code inside the HTML file. We made a basic to do list in this module.

After we had finished with EJS, we started to learn about databases, which allow you to store persistent data. We learnt about the two major types - SQL, and NoSQL. SQL stands for Structured Query Language and NoSQL stands for No Structured Query Language. We learnt about MongoDB, which is a very well-known NoSQL database.

We then built a blog website which stores your data persistently. 

The two last things we learnt were authentication, which is basically the process of recognizing a user's identity, and React.js which is the most popular JS library which is used to create interactive user interfaces.

I then built an application of my own - a to do list application which stores things in databases, uses authentication, EJS, and basically everything I've learnt other than React.js. You can sign up for my website here.

Now, I am doing JavaScript challenges at various websites. This is to gain practice of one of the most important languages in web developing.

By Safwan Samsudeen
Grade 8

No comments:

Post a Comment

Au Revoir

  Au Revoir  The crucible moment came for me when, 16 years ago, I pulled my 7 year old son from school. Once again. Thrice in four years. W...