SICT

WEB700

Web Programming Foundations

Schedule Notes Resources Graded Work MyApps Instructions Vercel Guide Code examples

Notes

Here, you will find the links to the weekly notes. Please also remember to refer to the learning resources for additional help.


Week Theme
1 - Notes Welcome to WEB700:

  • Course Introduction
  • Internet Architecture
  • Development Environment / Technology / Tools
  • Introduction to JavaScript
2 - Notes JavaScript Continued:

  • JavaScript Functions
  • Built In / Global Functions
  • Scope & Closures
  • Built In / Global Objects (String & Array)
3 - Notes Object Oriented JavaScript / ES6 Features:

  • Custom Objects using Object Literal Notation, Function Constructors & Class Keyword
  • Error handling with try / catch / finally & throw
  • Promises
  • "var" vs "let" vs "const"
  • “this” keyword & arrow functions (lexical “this”)
4 - Notes Formal Node.js Introduction:

  • Modules explained
  • NPM – Node Package Manager
  • Package.json Explained
  • Building a simple web server using Node.js with Express.js
5 - Notes Express.js Introduction & Deployment:

  • What is Express.js?
  • Configuration & Settings
  • Routing
  • Middleware
  • Error Handling
  • Chrome Dev tools – Network tab, Response data
  • Git & Vercel ("Vercel Guide")
6 - Notes HTML5 Introduction:

  • Document Structure
  • Common Elements (Containers, Lists, Tables, Multimedia)
  • Grouping Elements using Semantic HTML
  • Including Scripts (Inline & External)
7 - Notes CSS Introduction:

  • Selectors, Web Colors, Units, Properties & Values, Fonts
  • Box Model, Display & Positioning, Layout
8 - Notes Forms Introduction / Processing Forms with Express.js:

  • HTML Forms Review
  • Processing Forms in Express.js
    • HTTP Post & Urlencoded data
    • Content-Type in POST header & enctype in HTML forms
    • Handling urlencoded form data
    • Multer module (multipart form data – file uploads)
9 - Notes Template Engines – Handlebars.js:

  • Template Engines in Express.js
    • What is a Template Engine / Why do we need one
  • Handlebars.js
    • Including the express-handlebars module
    • Getting Started with Handlebars.js & Samples
    • Block Expressions / Helpers
    • Built-In Helpers
        if, unless, each
    • Partials
10 - Notes Introduction to AJAX & "REST" API:

  • What is AJAX? Why do we need it?
  • Requesting data (JSON) on the Client Side using JavaScript
    • Fetch API Introduction
  • Processing AJAX Requests on the server and returning data
  • RESTful API Introduction
11 - Notes Introduction to Postgres / Sequelize ORM:

  • Setting up a “Postgres” Database
  • Downloading the “sequelize” & “pg” modules
  • Object-Relational Mapping Explained & Requesting Data
  • Returning & Formatting data using Handlebars.js
12 - Notes Security Considerations:

  • HTTPS
  • Letsencypt.org, free https certificates forever
  • Password Encryption, bcrypt.js