- [Primary] - Indicates an essential topic that a student must have proficiency with upon completion of the module.
- [Secondary] - Indicates a non-essential topic that should be understood or at least known by the student upon completion of the module.
- [Tertiary] - Indicates a non-essential topic that can be optionally taught to a student if there is extra time within the module.
WDI-101 will introduce students to the basics and fundamentals of web development and Javascript. Students will learn how to use basic tooling such as VSCode, Git, and file system navigation. Students will learn basic web concepts such as HTML and inline styling. Students will spend the majority of the time learning Javascript language basics such as variable manipulation, variable primitive types, string and array methods, and mathematical operators.
- [Primary] VSCode
- [Primary] Git/Version Control
- [Primary] HTML
- [Primary] Inline Styles
- [Primary] Basic File System Navigation VIA Terminal
- ls
- cd
- touch
- mkdir
- rm
- open
- clear
- sudo
- [Secondary] cp
- [Secondary] mv
- [Secondary] pwd
- [Primary] Running Node.js Scripts
- [Primary] Console.log()
- [Primary] Variables
- [Secondary] var
- [Primary] const, let
- [Primary] camelCasing
- [Primary] Comments
- [Primary] JS Primitives
- string
- number
- boolean
- array
- object
- null
- undefined
- NaN
- [Primary] String Methods 1
- .concat() / +
- .substr()
- .toLowerCase()
- .toUpperCase()
- [Secondary] .trim()
- [Primary] Array Methods 1
- .push()
- .pop()
- .split()
- .join()
- .reverse()
- .slice()
- .splice()
- [Primary] Object Methods 1
- Object Literal Syntax
- .hasOwn()
- [Primary] Assignment Operators
- =
- +=
- -=
- *=
- /=
- [Primary] Arithmetic Operators
- %
- ++
- --
- [Primary] Grouping Operator
- ( )
- [Secondary] Math Methods
- .abs()
- .sqrt()
- .ceil()
- .floor()
- .round()
- .max()
- .min()
- .random()
Building upon the topics introduced in WDI-101, WDI-102 will dive deeper into how to create basic website functionality as well as functional Javascript concepts. Students will learn how to manipulate website DOM elements using JQuery selectors as well as how to run basic Javascript functions in the browser. Students will learn the fundamentals of Javascript functions, loops, comparison and logical operators, and control flow.
- [Primary] HTML Pages
- [Primary] HTML Navigation
- [Primary] HTML Script Tags
- [Primary] JQuery Selectors and Methods
-
$('#id') and $ ('.class') - hide()
- show()
- html()
- append()
- prepend()
- on()
- off()
- css()
- attr()
- val()
- text()
- [Secondary] find()
- [Secondary] each()
-
- [Primary] Evaluating Javascript In Browser
- [Primary] DOM Element Manipulation
- [Primary] Expression Evaluation Order
- [Primary] Basic Boolean Logic
- [Primary] Comparison Operators
- ===
- !==
- >
- <
- [Primary] Logical Operators
- &&
- ||
- !
- !!
- [Primary] String/Array Methods 2
String literals with ${variables}
- .includes()
- .indexOf()
- [Primary] Loops 1
- For
- While
- [Primary] Conditionals & Control Flow
- [Primary] Truthy vs Falsy
- [Primary] Functions
- Function Declaration Statement
- Arrow Functions
- Calling Functions
- return
- Arguments and Parameters
- [Secondary] Try Catch
- [Tertiary] Ternary Operators
WDI-103 Functional Websites, Styled Websites & Javascript Programming 3: Intermediate Topics and Intro to Async
WDI-103 will move the class into more intermediate web and Javascript topics. Students will learn how to get and send data across the internet via HTTP methods. Students will learn how to manipulate information on webpages using events, inputs, forms and HTTP requests. Students will be introduced to modern website styling with CSS, Flexbox/Grid, and Twitter Bootstrap. Students will learn higher level Javascript topics such as variable scoping, advanced loops, advanced functions, advanced array and object methods, and synchronous vs. asynchronous Javascript.
- [Primary] HTTP Methods
- GET
- POST
- PUT
- DELETE
- [Primary] Ajax/Fetch
- [Primary] HTML Events
- [Primary] HTML Inputs
- [Primary] HTML Forms
- [Primary] CSS
- id selector
- class selector
- [Secondary] Flexbox
- [Secondary] Grid
- [Secondary] Bootstrap
- [Primary] Advanced Variables
- [Primary] const vs let vs var
- [Primary] This Keyword
- [Primary] Arrow Function vs Hoisted Function
- [Secondary] Variable Type Coersion
- [Secondary] Global vs Block/Lexical/Function Scope / Avoiding Naming Conflicts
- [Primary] Array Methods 2
- .forEach()
- .sort()
- [Primary] Object Methods 2
- .entries()
- .keys()
- .values()
- [Secondary] Loops 2
- do ... while
- for ... in
- for ... of
- break
- continue
- [Secondary] Functions 2
- Hoisting
- Closures
- Nesting
- Recursion
- Rest Parameter / ...args
- [Secondary] typeof Operator
- [Secondary] Array and Object Destructuring
- [Primary] Asynchronous Javascript 1
- Synchronous vs Asynchronous Execution
- Call Stack
- [Primary] JSON Methods
- .stringify()
- .parse()
WDI-104 Advanced Websites & Javascript Programming 4: Advanced Topics, Advanced Async, and Data Structures
WDI-104 serves as the last phase of introduction for all the web and Javascript topics the students will need to create fullstack web applications. Students will be introduced to advanced web topics such as API's and the Model-View-Controller website methodology. Students will learn advanced Javascript topics such as advanced array and string methods, class based syntax, Functional vs. Object-Oriented Programming, advanced asynchronous Javascript functions, file system access methods, and intermediate data structures.
- [Primary] API
- [Primary] Require/Import/Export Syntax
- Default vs Named Export
- [Secondary] MVC Model
- [Primary] Array Methods 3
- .map()
- .filter()
- [Secondary] .reduce()
- [Secondary] String Methods 3
- Regex
- Unicode
- [Primary] Asynchronous Javascript 2
- Promises
- Async/Await
- [Secondary] Date Objects
- new Date()
- .get{METHOD}()
- .set{METHOD}()
- [Secondary] File System Methods/FS
- .readFile()
- .writeFile()
- [Secondary] Additional Iterative Objects
- Map
- Set
- [Tertiary] Additional Data Structures and Concepts
- Linked-List
- Hash-Map
- Queue
- Stack
- Time Complexity
- [Tertiary] Class Syntax
- new Keyword
- super
- getters
- setters
- [Tertiary] Functional vs Object-Oriented Programming