Note - SPPU's Degreeplus Beta Version is up, stay tuned for more details.
Note - SPPU's Degreeplus Beta Version is up, stay tuned for more details.

Course

Javascript Novice to Professional

48 hours 37 minutes

Credits: Optional Learning

Description

This course teaches learners how to develop in JavaScript from the ground up, progressing from core language fundamentals through intermediate programming concepts, professional-grade testing practices, and interactive web development. Learners build practical skills through a combination of interactive courses and hands-on labs covering syntax, control flow, functions, objects, asynchronous programming, test-driven development using Mocha, DOM manipulation, form validation, and templating with Handlebars.

What Students Will Learn

  • Basic JavaScript Syntax
  • JavaScript Variables
  • JavaScript Basics Lab: Kelvin Weather
  • JavaScript Basics Lab: Dog Years
  • JavaScript Control Flow
  • JavaScript Control Flow Lab: Magic 8 Ball
  • JavaScript Control Flow Lab: Race Day
  • JavaScript Functions
  • JavaScript Functions Lab: Rock Paper Scissors
  • JavaScript Functions Lab: Sleep Debt Calculator
  • JavaScript Scope
  • JavaScript Scope Lab: Training Days
  • JavaScript Arrays
  • JavaScript Arrays Lab: Secret Message
  • JavaScript Loops
  • JavaScript Loops Lab: Whale Talk
  • JavaScript Higher-Order Functions
  • JavaScript Iterators
  • JavaScript Iterator Lab: Grammar Checker
  • JavaScript Objects
  • JavaScript Advanced Objects
  • JavaScript Objects Lab: Meal Maker
  • JavaScript Objects Lab: Team Stats

  • JavaScript Classes
  • JavaScript Classes Lab: Build A Library
  • JavaScript Classes Lab: School Catalog
  • JavaScript Runtime Environments
  • JavaScript Modules in Node.js
  • JavaScript Modules in Node.js Lab: Message Mixer
  • JavaScript Modules in ES6 Syntax
  • JavaScript Modules in ES6 Lab: Workaround
  • JavaScript Promises
  • JavaScript Async-Await
  • HTTP Requests
  • JavaScript Requests with Fetch API
  • JavaScript Requests Lab: Film Finder
  • JavaScript Debugging
  • JavaScript Error Handling
  • JavaScript Currying
  • JavaScript Design Patterns
  • JavaScript Memory Management
  • JavaScript Debugging Memory Issues

  • JavaScript Testing
  • JavaScript Testing Lab: Cake Clock
  • JavaScript Mocha Testing
  • JavaScript Assertion Testing
  • JavaScript Mocha Testing Lab: Rooster Regulation
  • JavaScript TDD with Mocha
  • JavaScript TDD with Mocha Lab: Factorial

  • JavaScript: Working with the DOM & Events
  • JavaScript DOM Lab: Chore Door
  • JavaScript DOM Events Lab: Piano Keys
  • HTML Forms
  • JavaScript: Form Validation & Async Programming
  • HTML Forms Lab: Form a Story
  • Introduction to Handlebars
  • Handlebars Lab: Musicon

  • Basic JavaScript Syntax Cheatsheet
  • JavaScript Variables Cheatsheet
  • JavaScript Control Flow Cheatsheet
  • JavaScript Functions Cheatsheet
  • JavaScript Scope Cheatsheet
  • JavaScript Arrays Cheatsheet
  • JavaScript Loops Cheatsheet
  • JavaScript Higher-Order Functions Cheatsheet
  • JavaScript Iterators Cheatsheet
  • JavaScript Objects Cheatsheet
  • JavaScript Advanced Objects Cheatsheet
  • JavaScript Classes Cheatsheet
  • JavaScript Async-Await Cheatsheet
  • JavaScript Promises Cheatsheet
  • JavaScript Requests with Fetch API Cheatsheet
  • JavaScript Debugging Cheatsheet
  • JavaScript Error Handling Cheatsheet
  • JavaScript Memory Management Cheatsheet
  • JavaScript Currying Cheatsheet
  • Javascript Design Patterns Cheatsheet
  • JavaScript Mocha Testing Cheatsheet
  • JavaScript Assertion Testing Cheatsheet

Overall Learning Outcomes

  • Write JavaScript programs using core syntax, variables, control flow, functions, and scope
  • Work with arrays, loops, higher-order functions, iterators, and objects in JavaScript
  • Apply advanced object concepts and build programs using object-oriented principles
  • Implement JavaScript classes, modules (Node.js and ES6), and runtime environments
  • Handle asynchronous operations using Promises and Async/Await patterns
  • Make HTTP requests using the Fetch API to interact with external data sources
  • Debug and handle errors, manage memory, and apply currying and design patterns
  • Write unit tests using Mocha and assertion libraries applying TDD principles
  • Manipulate the DOM and handle browser events to build interactive web experiences
  • Build and validate HTML forms with asynchronous programming support
  • Implement dynamic templating using Handlebars