You should understand the meaning of the following terminal commands and related words:
bash, shell, root, path, . .. ~ / * cd, ls, pwd, cp, mv, mkdir, rm, rmdir, sudo, chmod, chown, ps, top, man, which, history, more, less, head, tail, env, $PATH, node, vim, emacs, git
You should understand the meaning of the following git terminology:
local repo, remote repo, working directory, origin, clone, branch, status, checkout, add, remove, commit, staged, untracked, merge, push, pull
You should be able to do the following basic git actions:
- Create a repository
- Clone a repository
- Check the status of a local repo
- Create a new local branch
- Move from one branch to another
- Add changes to be committed
- Commit a set of changes
- Pull master from origin
- Push a branch to origin
- Make a pull request
You should understand the meaning and behavior of the following:
- Operators:
+ _(numeric and string)_
- / * %
== === != !== < > <= >=
= += -= /= *= %=
++X --X X++ X--
! && ||
X?Y:Z
typeof
- Statements and keywords:
var
if () {...}
if () {...} else {...}
- Special primitives:
true
false
undefined
''
NaN
Infinity
- Vocabulary:
infix, prefix, postfix, unary, binary, ternary, evaluation, operator, operand, type, number, integer, float, string, numeric string, string literal, concatenation, interpolation, boolean, expression, statement, primitive, auto-conversion, type coercion, parsing, precedence, declare, initialize, keyword, REPL, mod, conditional, condition, consequent, block, short-circuit, truthy/truish, falsey/falsish
You should be able to:
-
Work confidently in the console of at least one browser and in the node REPL.
-
Declare and initialize variables, and use assignment and incremental assignment operators to modify them.
-
Articulate branching conditions both with and without boolean operators.
-
Use short-circuit boolean operators in conditional evaluation.
-
Anticipate the behavior of special Numbers (NaN, Infinity), non-integer numbers, and non-numbers in computations.
-
Use common mathematical functions from the Math and Number objects.
-
Manipulate variables to represent and solve simple arithmetic and geometric problems.
-
Parse any expression, deconstructing it into a tree of constituent expressions and tracing their evaluation in the correct order.
-
Notice all operators with side-effects and track any changes in the value of variables.
-
Predict the exact result of any expression whose constituent values are known.
-
Reason about the possible behavior of expressions which contain some unknown values.
-
Trace on paper the execution of simple programs.