diff --git a/module-exercises/errors-and-lifecycle.js b/module-exercises/errors-and-lifecycle.js
index 20c029e..ec1a796 100644
--- a/module-exercises/errors-and-lifecycle.js
+++ b/module-exercises/errors-and-lifecycle.js
@@ -97,8 +97,7 @@ function missingBeforeformal() {
evaluate(missingBeforeformal);
function unEscapedLineBreak() {
- const a = 'this is
- two lines';
+ const a = 'this is\n two lines';
}
evaluate(unEscapedLineBreak);
diff --git a/module-exercises/explicit-coercion.js b/module-exercises/explicit-coercion.js
index d6bcfd4..7ce1b20 100644
--- a/module-exercises/explicit-coercion.js
+++ b/module-exercises/explicit-coercion.js
@@ -23,12 +23,12 @@
// fix the test cases' expected values to pass the function
const StringTests = [
// string values remain unchanged
- { name: 'str, any string', args: ['any string'], expected: null },
+ { name: 'str, any string', args: ['any string'], expected: 'any string' },
// casting with String just puts quotes around a thing
- { name: 'num, 3', args: [3], expected: null },
- { name: 'boo, true', args: [true], expected: null },
- { name: 'obj, null', args: [null], expected: null },
- { name: 'und, undefined', args: [undefined], expected: null },
+ { name: 'num, 3', args: [3], expected: '3' },
+ { name: 'boo, true', args: [true], expected: 'true'},
+ { name: 'obj, null', args: [null], expected: 'null' },
+ { name: 'und, undefined', args: [undefined], expected: 'undefined'},
// write at least 5 more test cases for the String function
];
String.quizzing = true;
@@ -39,22 +39,22 @@ delete String.quizzing;
// fix the test cases' expected values to pass the function
const NumberTests = [
// numbers remain unchanged
- { name: 'num, 3', args: [3], expected: 3 },
- { name: 'num, 0', args: [0], expected: 0 },
- { name: 'num, 1e3', args: [1000], expected: 1e3 },
- { name: 'num, Infinity', args: [Infinity], expected: Infinity },
- { name: 'num, NaN', args: [NaN], expected: NaN },
+ { name: 'num, 3', args: [3], expected: "NaN" },
+ { name: 'num, 0', args: [0], expected: "0" },
+ { name: 'num, 1e3', args: [1000], expected: "1000" },
+ { name: 'num, Infinity', args: [Infinity], expected: Infinity},
+ { name: 'num, NaN', args: [NaN], expected: "NaN"},
// true and false, the only boolean values
- { name: 'boo, true', args: [true], expected: 0 },
- { name: 'boo, false', args: [false], expected: 1 },
+ { name: 'boo, true', args: [true], expected: "1" },
+ { name: 'boo, false', args: [false], expected: "0" },
// null & undefined
- { name: 'obj, null', args: [null], expected: NaN },
- { name: 'und, undefined', args: [undefined], expected: 0 },
+ { name: 'obj, null', args: [null], expected: "0" },
+ { name: 'und, undefined', args: [undefined], expected: 'NaN' },
// strings are bit more interesting, write 7 more test cases with string args
- { name: 'str, undefined', args: ['undefined'], expected: NaN },
- { name: 'str, Infinity', args: ['Infinity'], expected: Infinity },
- { name: 'str, three', args: ['three'], expected: NaN },
- { name: 'str, 3', args: ['3'], expected: 3 },
+ { name: 'str, undefined', args: ['undefined'], expected: "undefined"},
+ { name: 'str, Infinity', args: ['Infinity'], expected: "Infinity"},
+ { name: 'str, three', args: ['three'], expected: "three"},
+ { name: 'str, 3', args: ['3'], expected: "3"},
];
Number.quizzing = true;
evaluate(Number, NumberTests);
diff --git a/module-exercises/functions.js b/module-exercises/functions.js
index f22570a..7df52e8 100644
--- a/module-exercises/functions.js
+++ b/module-exercises/functions.js
@@ -174,11 +174,11 @@ function tracing1() {
};
// set values in the args to pass the assert
- let arg1 = "", arg2 = "", arg3 = "";
+ let arg1 = "y", arg2 = "x", arg3 = "z";
let returnval = f(arg1, arg2, arg3);
console.assert(returnval === "zyx", "1 a");
- arg1 = "", arg2 = "", arg3 = "";
+ arg1 = "z", arg2 = "x", arg3 = "y";
returnval = f(arg1, arg2, arg3);
console.assert(returnval === "yzx", "1 b");
@@ -194,11 +194,11 @@ function tracing2() {
};
// set values in the args to pass the assert
- let arg1 = "", arg2 = "", arg3 = "";
+ let arg1 = "x", arg2 = "y", arg3 = "z";
let returnVal = f(arg1, arg3, arg2);
console.assert(returnVal === "yxz", "returnVal should be yxz");
- arg1 = "", arg2 = "", arg3 = "";
+ arg1 = "y", arg2 = "x", arg3 = "z";
returnVal = f(arg2, arg1, arg3);
console.log(returnVal === "zxy", "returnVal should be zxy");
@@ -217,12 +217,12 @@ function tracing3() {
};
// set values in the args to pass the assert
- let arg1 = "", arg2 = "", arg3 = "";
+ let arg1 = "z", arg2 = "x", arg3 = "y";
let returnVal = f(arg1, arg2, arg3);
console.assert(returnVal === "yxz", "returnVal should be yxz");
- arg1 = "", arg2 = "", arg3 = "";
+ arg1 = "z", arg2 = "y", arg3 = "x";
returnVal = f(arg3, arg2, arg1);
console.assert(returnVal === "zyx", "returnVal should be zyx");
@@ -239,11 +239,11 @@ function tracing4() {
// pass x, y and z to the function in the right order
// don't change their values!
let x = "x", y = "y", z = "z";
- let returnVal = f();
+ let returnVal = f(x,z,y);
console.assert(returnVal === "yxz", "returnVal should be yxz");
x = "x", y = "z", z = "y";
- returnVal = f();
+ returnVal = f(z,x,y);
console.assert(returnVal === "zyx", "returnVal should be zyx");
}
@@ -260,11 +260,11 @@ function tracing5() {
// pass x, y and z to the function in the right order
// don't change their values!
let x = "x", y = "y", z = "z";
- let returnVal = f();
+ let returnVal = f(z,x,y);
console.assert(returnVal === "xzy", "returnVal should be xzy");
x = "y", y = "x", z = "z";
- returnVal = f();
+ returnVal = f(x,z,y);
console.assert(returnVal === "zyx", "returnVal should be zyx");
}
@@ -275,7 +275,7 @@ function tracing6() {
// concatinate the params to pass the tests
function f(param1, param2, param3) {
- const result = null;
+ const result = param3+param1+param2;
return result;
};
@@ -295,7 +295,7 @@ function tracing7() {
// concatinate the params to pass the tests
function f(param1, param2, param3) {
- const result = null;
+ const result = param2+param3+param1;
return result;
};
@@ -314,16 +314,16 @@ evaluate(tracing7);
function tracing8() {
// arrange the parameters to pass the asserts
- function f() {
+ function f(param1, param2, param3) {
var result = param2 + param1 + param3;
return result;
};
- let arg1 = "z", arg2 = "y", arg3 = "x";
+ let arg1 = "x", arg2 = "y", arg3 = "z";
let returnVal = f(arg1, arg2, arg3);
console.assert(returnVal === "yxz", "returnVal should be yxz");
- arg1 = "x", arg2 = "z", arg3 = "y";
+ arg1 = "x", arg2 = "y", arg3 = "z";
returnVal = f(arg3, arg1, arg2);
console.assert(returnVal === "xzy", "returnVal should be xzy");
@@ -334,16 +334,16 @@ evaluate(tracing8);
function tracing9() {
// arrange the parameters to pass the asserts
- function f() {
+ function f(param1, param2, param3) {
var result = param1 + param2 + param3;
return result;
};
- let arg1 = "y", arg2 = "z", arg3 = "x";
+ let arg1 = "x", arg2 = "y", arg3 = "z";
let returnVal = f(arg1, arg2, arg3);
console.assert(returnVal === "xyz", "returnVal should be xyz");
- arg1 = "z", arg2 = "x", arg3 = "y";
+ arg1 = "y", arg2 = "z", arg3 = "x";
returnVal = f(arg3, arg1, arg2);
console.assert(returnVal === "xyz", "returnVal should be xyz");
@@ -354,21 +354,21 @@ evaluate(tracing9);
function tracing10() {
// do what needs to be done!
- function f() { // <--
+ function f(param1, param2, param3,param4) { // <--
var result = param3 + param1 + param2 + param4;
return result;
};
- let arg1 = "", arg2 = "", arg3 = "", arg4 = ""; // <--
+ let arg1 = "y", arg2 = "z", arg3 = "x", arg4 = "w"; // <--
let returnVal = f(arg1, arg2, arg3, arg4);
console.assert(returnVal === "xyzw", "returnVal should be xyzw");
arg1 = "z", arg2 = "w", arg3 = "y", arg4 = "x";
returnVal = f(arg3, arg1, arg4, arg2);
- console.assert(returnVal === "", "returnVal should be ?"); // <--
+ console.assert(returnVal === "xyzw", "returnVal should be xyzw"); // <--
arg1 = "z", arg2 = "w", arg3 = "y", arg4 = "x";
- returnVal = f(); // <--
+ returnVal = f(arg3, arg2, arg1, arg4); // <--
console.assert(returnVal === "zywx", "returnVal should be zywx");
}
@@ -431,12 +431,12 @@ evaluate(example2_testCases, exampleTestCases);
const writeTestCases1 = [
- { name: 'first', args: [/* what adds to be 5? */], expected: 5 },
- { name: 'second', args: [/* what else adds to be 5? */], expected: 5 },
- { name: 'third', args: [-2, 2], expected: null }, // what return value do you expect?
- { name: 'fourth', args: [100, 20], expected: null }, // what return value do you expect?
- { name: 'fifth', args: [], expected: null }, // create your own test case!
- { name: 'sixth', args: [], expected: null }, // create your own test case!
+ { name: 'first', args: [1,4], expected: 5 },
+ { name: 'second', args: [2,3], expected: 5 },
+ { name: 'third', args: [-2, 2], expected: 0 }, // what return value do you expect?
+ { name: 'fourth', args: [100, 20], expected: 120 }, // what return value do you expect?
+ { name: 'fifth', args: [3,5], expected: 8 }, // create your own test case!
+ { name: 'sixth', args: [4,6], expected: 10 }, // create your own test case!
];
function functionToTest1(a, b) {
const result = a + b;
@@ -445,12 +445,12 @@ function functionToTest1(a, b) {
evaluate(functionToTest1, writeTestCases1);
const writeTestCases2 = [
- { name: 'first', args: [/* what subtracts to be 5? */], expected: 5 },
- { name: 'second', args: [/* what else subtracts to be 5? */], expected: 5 },
- { name: 'third', args: [10, 2], expected: null }, // what return value do you expect?
- { name: 'fourth', args: [10, 20], expected: null }, // what return value do you expect?
- { name: 'fifth', args: [], expected: null }, // create your own test case!
- { name: 'sixth', args: [], expected: null }, // create your own test case!
+ { name: 'first', args: [6,1], expected: 5 },
+ { name: 'second', args: [7,2], expected: 5 },
+ { name: 'third', args: [10, 2], expected: 8 }, // what return value do you expect?
+ { name: 'fourth', args: [10, 20], expected: -10 }, // what return value do you expect?
+ { name: 'fifth', args: [2,1], expected: 1 }, // create your own test case!
+ { name: 'sixth', args: [3,1], expected: 2 }, // create your own test case!
];
function functionToTest2(a, b) {
const result = a - b;
@@ -461,12 +461,12 @@ evaluate(functionToTest2, writeTestCases2);
const writeTestCases3 = [
- { name: 'first', args: [/* what multiplies to be 5? */], expected: 5 },
- { name: 'second', args: [/* what else multiplies to be 5? */], expected: 5 },
- { name: 'third', args: [10, 2], expected: null }, // what return value do you expect?
- { name: 'fourth', args: [10, 20], expected: null }, // what return value do you expect?
- { name: 'fifth', args: [], expected: null }, // create your own test case!
- { name: 'sixth', args: [], expected: null }, // create your own test case!
+ { name: 'first', args: [5,1], expected: 5 },
+ { name: 'second', args: [1,5], expected: 5 },
+ { name: 'third', args: [10, 2], expected: 20 }, // what return value do you expect?
+ { name: 'fourth', args: [10, 20], expected: 200 }, // what return value do you expect?
+ { name: 'fifth', args: [1,2], expected: 2 }, // create your own test case!
+ { name: 'sixth', args: [1,3], expected: 3 }, // create your own test case!
];
function functionToTest3(a, b) {
const result = a * b;
@@ -477,12 +477,12 @@ evaluate(functionToTest3, writeTestCases3);
const writeTestCases4 = [
- { name: 'first', args: [/* what letters in what order will return "zyx"? */], expected: 'zyx' },
- { name: 'second', args: [/* what letters in what order will return "yzx"? */], expected: 'yzx' },
- { name: 'third', args: ['y', 'z', 'x'], expected: null }, // what return value do you expect?
- { name: 'fourth', args: ['x', 'y', 'z'], expected: null }, // what return value do you expect?
- { name: 'fifth', args: [], expected: null }, // create your own test case!
- { name: 'sixth', args: [], expected: null }, // create your own test case!
+ { name: 'first', args: ['y','x','z'], expected: 'zyx' },
+ { name: 'second', args: ['z','x','y'], expected: 'yzx' },
+ { name: 'third', args: ['y', 'z', 'x'], expected: 'xyz' }, // what return value do you expect?
+ { name: 'fourth', args: ['x', 'y', 'z'], expected: 'zxy' }, // what return value do you expect?
+ { name: 'fifth', args: ['y','x','z'], expected: 'zyx' }, // create your own test case!
+ { name: 'sixth', args: ['x','z','y'], expected: 'yxz' }, // create your own test case!
];
function functionToTest4(a, b, c) {
const result = c + a + b;
@@ -493,12 +493,12 @@ evaluate(functionToTest4, writeTestCases4);
const writeTestCases5 = [
- { name: 'first', args: [/* what letters in what order will return "zyx"? */], expected: 'zyx' },
- { name: 'second', args: [/* what letters in what order will return "yzx"? */], expected: 'yzx' },
- { name: 'third', args: ['y', 'z', 'x'], expected: null }, // what return value do you expect?
- { name: 'fourth', args: ['x', 'y', 'z'], expected: null }, // what return value do you expect?
- { name: 'fifth', args: [], expected: null }, // create your own test case!
- { name: 'sixth', args: [], expected: null }, // create your own test case!
+ { name: 'first', args: ['x', 'z', 'y'], expected: 'zyx' },
+ { name: 'second', args: ['x', 'y', 'z'], expected: 'yzx' },
+ { name: 'third', args: ['y', 'z', 'x'], expected: 'zxy'}, // what return value do you expect?
+ { name: 'fourth', args: ['x', 'y', 'z'], expected:'yzx' }, // what return value do you expect?
+ { name: 'fifth', args: ['z', 'y', 'x'], expected: 'yxz' }, // create your own test case!
+ { name: 'sixth', args:['z', 'x', 'y'], expected: 'xyz' }, // create your own test case!
];
function functionToTest5(a, b, c) {
const result = b + c + a;
diff --git a/module-exercises/index.html b/module-exercises/index.html
index 2ef651b..773f6c5 100644
--- a/module-exercises/index.html
+++ b/module-exercises/index.html
@@ -24,7 +24,7 @@
-
+
challenge exercises
diff --git a/module-exercises/primitive-types.js b/module-exercises/primitive-types.js
index 2ab5eb0..9c4c6e5 100644
--- a/module-exercises/primitive-types.js
+++ b/module-exercises/primitive-types.js
@@ -59,27 +59,27 @@ evaluate(example_allValuesHaveAType);
// the type of a value is very important to understanding how JS works
const typeofTests = [
// boolean values
- { name: 'boo, true', args: [true], expected: '' },
- { name: 'boo, false', args: [false], expected: '' },
+ { name: 'boo, true', args: [true], expected: 'boolean' },
+ { name: 'boo, false', args: [false], expected: 'boolean'},
// null's type is 'null'. just remember, don't try yet to understand
- { name: 'obj, true', args: [null], expected: '' },
+ { name: 'obj, true', args: [null], expected: 'object' },
// undefined. like with null, there is only one value with this type
- { name: 'und, undefined', args: [undefined], expected: '' },
+ { name: 'und, undefined', args: [undefined], expected: 'undefined' },
// strings are anything with quotes around it
- { name: 'str, ', args: [''], expected: '' },
- { name: 'str, anything with quotes!', args: ['anything with quotes!'], expected: '' },
+ { name: 'str, ', args: [''], expected: 'string' },
+ { name: 'str, anything with quotes!', args: ['anything with quotes!'], expected: 'string' },
// numbers are a bit more strange and varied
{ name: 'num, 0.0', args: [0.0], expected: 'number' },
{ name: 'num, NaN', args: [NaN], expected: 'number' },
{ name: 'num, Infinity', args: [Infinity], expected: 'number' },
{ name: 'num, 4', args: [4], expected: 'number' },
// write 6 more passing test cases with expected value 'number'
- { name: '', args: null, expected: null },
- { name: '', args: null, expected: null },
- { name: '', args: null, expected: null },
- { name: '', args: null, expected: null },
- { name: '', args: null, expected: null },
- { name: '', args: null, expected: null },
+ { name: 'boo, true', args: [true], expected: 'boolean' },
+ { name: 'num, 2', args: [2], expected: 'number' },
+ { name: 'str,fruit', args: ['elma'], expected: 'string' },
+ { name: 'und, undefined', args: [undefined], expected: 'undefined' },
+ { name: 'str,apple ', args: ['elma'], expected: 'string' },
+ { name: 'boo, false', args: [false], expected: 'boolean'},
]
function allValuesHaveAType(value) {
return typeof value;
@@ -90,12 +90,12 @@ evaluate(allValuesHaveAType, typeofTests);
// fix the test cases' expected values to pass the function
const typeofReturnsAStringTests = [
- { name: 'boo, true', args: [true], expected: 'boolean' },
- { name: 'boo, false', args: [false], expected: 'boolean' },
- { name: 'obj, true', args: [null], expected: 'object' },
- { name: 'und, undefined', args: [undefined], expected: 'undefined' },
+ { name: 'boo, true', args: [true], expected: 'string' },
+ { name: 'boo, false', args: [false], expected: 'string' },
+ { name: 'obj, true', args: [null], expected: 'string' },
+ { name: 'und, undefined', args: [undefined], expected: 'string' },
{ name: 'str, anything with quotes!', args: ['anything with quotes!'], expected: 'string' },
- { name: 'num, 4', args: [4], expected: 'number' },
+ { name: 'num, 4', args: [4], expected: 'string' },
];
function typeofReturnsAString(value) {
const typeofValue = typeof value;
@@ -125,16 +125,16 @@ evaluate(example_aBitAboutNaN);
// fix the expected values to pass the tests
const strictEqualityTests = [
- { name: 'NaN', args: [NaN, NaN], expected: null },
- { name: 'first', args: [true, 'true'], expected: null },
- { name: 'second', args: [1, '1'], expected: null },
- { name: 'third', args: ['1', '1'], expected: null },
- { name: 'fourth', args: [1000, 1e3], expected: null },
- { name: 'fifth', args: [+0, -0], expected: null },
- { name: 'sixth', args: [1, 1.0], expected: null },
- { name: 'seventh', args: ['', ""], expected: null },
- { name: 'eighth', args: ["", ``], expected: null },
- { name: 'ninth', args: [' ', ' '], expected: null },
+ { name: 'NaN', args: [NaN, NaN], expected: false },
+ { name: 'first', args: [true, 'true'], expected: false },
+ { name: 'second', args: [1, '1'], expected: false },
+ { name: 'third', args: ['1', '1'], expected: true },
+ { name: 'fourth', args: [1000, 1e3], expected: true },
+ { name: 'fifth', args: [+0, -0], expected: true},
+ { name: 'sixth', args: [1, 1.0], expected: true},
+ { name: 'seventh', args: ['', ""], expected: true },
+ { name: 'eighth', args: ["", ``], expected: true },
+ { name: 'ninth', args: [' ', ' '], expected: false },
];
function strictEquality(a, b) {
// if type OR value are not the same, returns false
@@ -147,16 +147,16 @@ evaluate(strictEquality, strictEqualityTests);
const strictInequalityTests = [
- { name: 'NaN', args: [NaN, NaN], expected: null },
- { name: 'first', args: [true, 'true'], expected: null },
- { name: 'second', args: [1, '1'], expected: null },
- { name: 'third', args: ['1', '1'], expected: null },
- { name: 'fourth', args: [1000, 1e3], expected: null },
- { name: 'fifth', args: [+0, -0], expected: null },
- { name: 'sixth', args: [1, 1.0], expected: null },
- { name: 'seventh', args: ['', ""], expected: null },
- { name: 'eighth', args: ["", ``], expected: null },
- { name: 'ninth', args: [' ', ' '], expected: null },
+ { name: 'NaN', args: [NaN, NaN], expected: true },
+ { name: 'first', args: [true, 'true'], expected: true },
+ { name: 'second', args: [1, '1'], expected: true},
+ { name: 'third', args: ['1', '1'], expected: false },
+ { name: 'fourth', args: [1000, 1e3], expected: false },
+ { name: 'fifth', args: [+0, -0], expected: false },
+ { name: 'sixth', args: [1, 1.0], expected: false },
+ { name: 'seventh', args: ['', ""], expected: false },
+ { name: 'eighth', args: ["", ``], expected: false },
+ { name: 'ninth', args: [' ', ' '], expected: true },
];
function strictInequality(a, b) {
// if type OR value are not the same, returns true
diff --git a/module-exercises/variables.js b/module-exercises/variables.js
index 0ed91de..b346a3d 100644
--- a/module-exercises/variables.js
+++ b/module-exercises/variables.js
@@ -82,6 +82,10 @@ function threeVariableSwap1() {
let temp = '';
// can be done in 4 lines
+ temp=a;
+ a=b;
+ b=c;
+ c=temp;
console.assert(a === "a", "a should store 'a'");
@@ -96,6 +100,10 @@ function threeVariableSwap2() {
let temp = '';
// can be done in 4 lines
+ temp=a;
+ a=c;
+ c=b;
+ b=temp;
console.assert(a === "a", "a should store 'a'");
@@ -110,6 +118,12 @@ function fourVariableSwap1() {
let temp = '';
// can be done in 5 lines
+ temp=a;
+ a=b;
+ b=c;
+ c=d;
+ d=temp;
+
console.assert(a === "a", "a should store 'a'");
@@ -125,6 +139,12 @@ function fourVariableSwap2() {
let temp = '';
// can be done in 6 lines
+ temp=a;
+ a=d;
+ d=temp;
+ temp=b;
+ b=c;
+ c=temp;
console.assert(a === "w", "a should store 'w'");
@@ -140,6 +160,12 @@ function fiveVariableSwap() {
let temp = ' ';
// can be done in 6 lines
+ temp=a;
+ a=e;
+ e=temp;
+ temp=b;
+ b=d;
+ d=temp;
console.assert(a === "v", "a should store 'v'");
@@ -189,6 +215,7 @@ function multipleAssignments1() {
let temp = '';
// can be done in 1 line
+ temp = a, a = b, b = c, c = temp;
console.assert(a === "a", "a should store 'a'");
@@ -203,6 +230,7 @@ function multipleAssignments2() {
let temp = '';
// can be done in 1 line
+ temp = a, a = c, c = b, b = temp;
console.assert(a === "a", "a should store 'a'");
@@ -217,6 +245,7 @@ function multipleAssignments3() {
let temp = '';
// can be done in 1 line
+ temp=a, a=b, b=c, c=d, d=temp;
console.assert(a === "a", "a should store 'a'");
@@ -232,6 +261,7 @@ function multipleAssignments4() {
let temp = '';
// can be done in 1 line
+ temp=a, a=d, d=temp, temp=b, b=c, c=temp;
console.assert(a === "w", "a should store 'w'");
@@ -264,11 +294,12 @@ evaluate(example_chainedAssignments);
function chainedAssignments1() {
-
+
let a1 = a2 = 'b', b = 'a';
let temp = '';
// can be done in 3 lines or less
+ temp=a1=a2, a1=a2=b, b=temp;
console.assert(a1 === "a", 'a1 should store "a"');
console.assert(a1 === a2, 'a1 should store the same value as a2');
@@ -285,6 +316,7 @@ function chainedAssignments2() {
let temp = '';
// can be done in 4 lines or less
+ temp=a, a=b1=b2, b1=b2=c1, c1=c2=c3=temp;
diff --git a/week-1-project/README.md b/week-1-project/README.md
index 24d8141..7744f45 100644
--- a/week-1-project/README.md
+++ b/week-1-project/README.md
@@ -1,13 +1 @@
-
-## Week 1 Project
-
-| __a user can ...__ | _User Interface_ | _Handlers_ | _Core Logic_ |
-| --- | --- | --- | --- |
-| _... visit the page_ | (already done for you) | (already done for you) | (already done for you) |
-| _know what this page is for_ | Structure the page (header, footer, sections, ...)
provide some explanation of what everything will do | (nothing!) | (nothing!) |
-| _... sort characters in a string_ | (nothing!) |
This JavaScript function sorts the characters of the + word you typed in accordance with their charCode numbers.
+This JavaScript function reverses the characters of the + word you typed.
+This JavaScript function takes the vowels out of the + word you typed.
+This JavaScript function repeats the words you typed as many as you want.
+This function repeats the charecters in a string according to these rules
This function will take in a string of any length and returns one of a set length
This is a simple encoding algorithm that replaces letters in a message with a new letter
+This function that takes in a string of any length and returns one of a set length
+