General Assembly

Welcome to JavaScript Development

Wilson Espina

Introduction

Your Instructional Team

Profile picture of Wilson

Wilson

ITV logo
Pug Coding Cat

Introduction

Introduce Yourselves

1. In pairs, take 5 minutes to get to know your classmates by finding out:

  • Their name
  • Why they are taking this course
  • First thing they're looking forward to after Lockdown

2. Be prepared to introduce them to the rest of the class


Intros 5 mins

Sharing 10 mins

Introduction

Course Dates

  • Mondays & Wednesdays, 6pm - 9pm
  • May 11th - July 20th
  • No lesson on Bank Holiday Monday 25th May
  • Calendar

Curriculum

Syllabus

Unit 1: Unit 2: Unit 3: Unit 4:
  • 01 Installfest
  • 02 Command Line & Data Type
  • 03 Collections and Loops
  • 04 Conditionals & Functions
  • 05 Scope & Variables
  • 06 Objects & JSON
  • 07 Slackbot Lab
  • 08 DOM & jQuery
  • 09 Events jQuery
  • 10 AJAX & APIs
  • 11 Asynchronous JavaScript & Callbacks
  • 12 Advanced APIs
  • 13 APIs Lab
  • 14 Prototypal Inheritance
  • 15 Closures & this
  • 16 Intro to CRUD and Firebase Lab
  • 17 Deploying Your App
  • 18 Student Choice
  • 19 Final Project Lab
  • 20 Final Project Presentations

Introduction

Homework

  • Assigned every Wednesday, starting this week
  • Due End of Day Sunday
  • Expect feedback within 5 days
  • Late assignments will not receive feedback
  • Details of Homework and how to submit it can be found on the JSD Web Portal:
Homework screenshot

Final Projects

Introduction

Tips for success

  • Complete homework on time
  • Brush up on HTML/CSS skills
  • Challenge yourself
  • Ask questions
Questions

Introduction

Classroom Norms for a Remote Class

Environment

  • Do you like noise or silence?
  • Does movement distract you, or does it help you focus on the task at hand?

Video Practices

  • Always keeping your video on and your microphone muted is a great way to feel present in a group without disrupting the experience for your peers.
  • If you would like to chime in or ask a question, you can (and should!) come off mic 🎤
  • If you need to step away from your computer for a few minutes, direct message your instructor and turn your video off.

Introduction

Classroom Norms for a Remote Class

Professionalism

  • Think about the last time you were in a classroom environment - how did you interact with your peers?
  • Learning in your own space is very comfortable, and at times, it is easy to forget that you are on camera and in class!

Community

  • Participate!
  • Come off mic to ask questions, actively engage in the breakout rooms - we learn through doing!
  • GA's remote classroom is an interactive experience.

Discussion - Classroom Culture

Discussion

Topic

  • Think about what YOU want/need from the instructional team and each other to be successful in this course?

Location

  • Pairs
  • Breakout rooms

Timing

6 mins

  1. In pairs, discuss what you think you want/need from the instructional team and your classmates.
  2. Post your answers to the thread on Slack.

Resources

JSD Web Portal

Web Portal

All resources are available on the Web Portal:

https://pages.git.generalassemb.ly/wilson-espina/jsd-portal/

Resources

Github Enterprise

  • Github Enterprise will have starting code for all class activities and assignments.
  • You’ll also use GitHub Enterprise to submit homework.
Slack

Slack

  • All course communication with each other and instructor happens here
  • GIFs encouraged
Slack

Introduction

Installfest

Activity - Install Visual Studio Code

Install Icon

Tasks

2 mins

Download Visual Studio Code

  1. Visit https://code.visualstudio.com/
Visual Studio Code logo

Activity - Download Slack

Install Icon

Tasks

2 mins

Download Slack

  1. Visit slack.com/downloads to download the application
  2. Sign up using your email and join our class Slack channel:
    js9-11may
Slack logo

Activity - Open the Terminal (Command Line)

Terminal picture

Tasks

1 min

Find Your Terminal

  • MAC Open the Terminal app
    (Applications > Utilities > Terminal)
  • WINDOWS Open Windows PowerShell
    (Start Button > type powershell)
  • LINUX press ctrl + alt + T

Activity - Installation

Install Icon

Tasks

  • Install all the tools required for development during the course.

Timing

15 mins

  1. Follow the instructions on how to install tools with one of the following guides:

Activity - Installation

Just breath

General Assembly

JavaScript and The Web

Wilson Espina

Introduction

Learning Objective

Learning Objectives

At the end of this class, you will be able to:

  • Differentiate between the Internet and the World Wide Web.
  • Summarise the client-server model & explain how DNS lookup works.
  • Run Node.js, npm, Git, and other command line tools on your computer.
  • Write pseudocode and explain how it relates to programmatic thinking.

Introduction

Agenda

  • What is the Web?
  • What is JavaScript?
  • What is Pseudocode?
  • How to think Programmatically

Javascript & The Web

The Web

Javascript & The Web

What is the Web

  • The World Wide Web is a collection of HTML pages accessed by the Internet.
  • Accessed over the Internet.
  • Communication is based on Hypertext Transfer Protocol (HTTP).

Javascript & The Web

What is the Web Development

The process of building sites and applications for The Web which falls under two categories:

  • Front-end Development
  • Back-end Development

Javascript & The Web

What is Front-End Development

The development of code for the client/browser (HTML, CSS, JavaScript).

  • Interactive elements on a web page
  • The way a website looks and feels
Websites

Javascript & The Web

What is Back-end development

Server-side code that handles routing, data handling and databases.

  • Python, Java, Ruby, JavaScript
Websites

Javascript & The Web

The Internet

Internet flow

The Internet is a Big Collection of Computers and Cables.

  • ”Internet” is short for "interconnection of computer networks."
  • It's an infrastructure that connects millions of computers around the world together.

Javascript & The Web

There are around 380 underwater cables in operation around the world, spanning a length of over 1.2 million kilometers (745,645 miles).

Internet diagram

Javascript & The Web

Internet vs The Web

Name some things you use the Internet for that are not part of The Web:

  • Email
  • Skype/Zoom/FaceTime
  • Cloud storage/iCloud/Google Drive
  • Spotify
  • YouTube/Netflix

Javascript & The Web

First Website

  • In March 1989, Berners-Lee gave managers at CERN a proposal for an information management system that used hypertext to link documents on different computers that were connected to the Internet.
  • Sir Tim Berners-Lee published site on 6th August 1991.
First Website

Javascript & The Web

Client Server Model

Request response diagram

Hyper Text Tranfer Protocol

  • Set of rules for communication between clients and servers

Javascript & The Web

How do you reach a specfic server

DNS diagram

Demonstration

Demonstration

Javascript & The Web

What is JavaScript

Javascript & The Web

JavaScripts Role in The Web

Javascript role in web

Javascript & The Web

What is JavaScript

A scripting or programming language that allows you to implement complex features on web pages and servers

  • The language of the browser
  • Front-end AND Back-end language
  • Extremely Popular
Javascript logo

Javascript & The Web

Javascript & The Web

The Birth of JavaScript

Brendan Eich was hired by Netscape to build their new client-side language in 1995. It was first released with Netscape 2, early in 1996

  • Brendan Eich wrote the original code for Javascript in 10 days.
  • There is a lot of rumours about the fact that he was either drunk or potentially high when he wrote it...
Brandon Eich

BONUS - A brief history of JavaScript

Javascript & The Web

How is Javascript used?

Javascript logo

Javascript & The Web

Pseudocode

Javascript & The Web

The importance of planning

Railway misalignment

Javascript & The Web

Pseudo Code

  • A great way to break down a problem into small chunks is to use pseudo code.
  • Pseudo code is usually typed using comments, so that it has no effect on the program being written. It is typically written in a mixture of natural language and high-level programming constructs.

Javascript & The Webe

JS Comments

These comments for pseudo-code can be either single line or multi-line syntax:


// Single-line comment syntax

/*
multi-line
comment
*/
						

To comment out a line hit cmd + /

Code along

Code Along

We want to make a cup of tea, let's think about the steps involved.

Cup of tea

Activity - Coloured Light Bulb

Bulb exercise

Task

  • Imagine that we have 3 different colored buttons (red, blue and yellow) and if a user taps one of the colored buttons the light changes to the selected color. If the selected color is tapped again, the light turns off.

Type of Exercise

  • Groups (2-3 people)

Timing

10 mins

  1. Write the pseudocode for a program for that controls a light that can change colour based on user input.
  2. Choose 1 person to write your pseudocode as JS comments

Javascript & The Web

Learning Objectives - Review

  • Differentiate between the Internet and the World Wide Web.
  • Summarise the client-server model & explain how DNS lookup works.
  • Run Node.js, npm, Git, and other command line tools on your computer.
  • Write pseudocode and explain how it relates to programmatic thinking.

Javascript & The Web

Q&A

Resources

Exit Tickets

Please complete this brief Exit Ticket at the end of each lesson to check in with you and you can tell me if you need more help on the day's topic: link

  • There is also a link in the Web Portal.
Exit Ticket

Javascript & The Web

Exit Ticket

(Lesson 01)