| theme | transition | highlightTheme | logoImg | slideNumber | title |
|---|---|---|---|---|---|
night |
slide |
monokai |
logo.png |
false |
JavaScript-Reintroduction |
::: block Introduction to JavaScript with Node.js {style=font-size:3em;text-align:center;} :::
This chapter will teach strong JavaScript fundementals using the node.js runtime environment.
It starts with a brief history of the language from origin to present. {.fragment .current-only }
Then it will teach fundemental on identifying syntax for variables and functions and the scope of them. {.fragment .current-only }
Next, students will learn about immutability and scope by distuishing primitive types and non-primitive types, using operators to evaluate Boolean expressions and type coercion. {.fragment .current-only }
Finally it will wrap up with two projects, one on creating functions to better log datatypes and another to demonstrate how to use node's API and callbacks to create a command line game. {.fragment .current-only }
- Define what Node.js is
- Identify primitive types and non-primitive types in code examples
- Identify the correct syntax for different types functions.
- Compare and constrast Primitive Types with Non-Primitive Types.
- Compare and constrast the different types of function.
- Demonstrate how to use functions with return values.
- Use operations on strings, including length, substring, and concatenation.
- Create functions that log different datatypes in JavaScript
- Develop a commandline application using node's API and using callbacks and other javascript fundementals.
State Standards Utilized
- 4.0 UTILIZE PRIMITIVE DATA TYPES AND STRINGS IN WRITING PROGRAMS (4.1 - 4.4)
- 6.0 UTILIZE CONDITIONAL STRUCTURES IN WRITING PROGRAMS
- 12.10 Demonstrate the use of parameters to pass data into program module (function)
- 12.11 Demonstrate the use of return values from modules
- STANDARD 14.0 UTILIZE AND CREATE COMMUNITY RESOURCES
- 14.1 Use standard library functions
- 14.2 Find and use third party libraries (e.g., web-based and package managers)
- 14.3 Explain and interact with an Application Program Interface (API)
:::block
- STANDARD 15.0 USE VERSION CONTROL SYSTEMS
- 15.1 Identify the purpose of version control systems (Git)
- 15.2 Create a new repository
- 15.3 Add, push, and pull source code from repository
- 15.4 Explain branching and its uses
- 15.5 Restore previous versions of code from the repository {.fragment .current-only } :::
:::block
- STANDARD 19.0 EMPLOY RUNTIME AND ERROR HANDLING TECHNIQUES
- 19.1 Identify runtime errors
- 19.2 Describe error handling strategies
- 19.3 Handle unexpected return values
- 19.4 Handle (catch) runtime errors and take appropriate action
- 19.5 Throw standard exception classes
- 19.6 Develop and throw custom exception classes {.fragment .current-only } :::
- Why Learn JavaScript with Node.js
- Why learn terminal, git, NVM and docker?
- Package.json
- npm install
- npm audit fix
- NVM
This makes it an ideal language to learn before chosing to specialize in any area of computer science and develop standardized curriculum around. {.fragment }
Learning terminal is essential to any modern developer for the following reasons:
- often required for common tasks such as git (source control), ssh, etc. {.fragment }
- Git helps us collaborate as developers and produce better code without zipping up our projects. {.fragment }
- installing NVM and wrapping an application in docker is a perfect example for using the terminal commands that you should know. {.fragment }
- Docker also provides an opportunity to fix the problem of "it works on my computer" by learning a light introduction to docker: {.fragment }
- Learning basic terminal basics can help develpers create more secure applications by ensuring any used ports are secure. {.fragment }
::: block Node Package Manager {style=font-size:1em;text-align:center;} ::: Why we use it?
- Allows users to install 3rd Party Software
- Technically, seperate from node.js but bundled with it.
- The company, NPM, now owned by Github.
::: block Node Version Manager {style=font-size:1em;text-align:center;} :::
- Allows use to install and use multiple different versions of node.
- Aids in maintaining legacy software.