From e5efa83d63938be63a73160e6ee63310ea2c7b35 Mon Sep 17 00:00:00 2001
From: Andrej Rasevic <andrej@rasevicengineering.com>
Date: Tue, 6 Jul 2021 22:39:40 -0400
Subject: [PATCH] adding Final Exam details

---
 FinalExam/FinalExamDetails.md | 96 +++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 FinalExam/FinalExamDetails.md

diff --git a/FinalExam/FinalExamDetails.md b/FinalExam/FinalExamDetails.md
new file mode 100644
index 0000000..982d93b
--- /dev/null
+++ b/FinalExam/FinalExamDetails.md
@@ -0,0 +1,96 @@
+## Final Exam Friday, July 9th, 2021 8:30 AM EST - 10:30 AM EST
+
+### Details  
+1. Duration - 120 minutes, starting during our scheduled class meeting time 8:30 AM EST and ending at 10:30 AM EST
+2. closed book,notes, browser, etc. - do not consult with anyone during the exam.  
+3.  You will join the same ta group you were assigned for the midterm exam. We have pinned the post in Piazza letting you know which zoom meeting you should join. You must have your camera on for the duration of the exam. Ta's will be taking attendance during the first 10 minutes of the exam.
+4. Distributed via git and for submission you will submit via git as well just like exercises and projects.
+
+### Format
+Format (possibilities):
+  * short answer
+  * multiple choice
+  * true/false
+  * code analysis/completing code snippets
+  * coding 
+
+### Suggested Topics to review 
+
+1. HTML5 (https://www.w3schools.com/html/default.asp)
+  * tags discussed in class/code examples (table, list, a, form, input, div, h's, script, body, head, span, fieldset, ...etc.)
+  * associated attributes for each tag element listed above
+  * forms, lists (ordered and unordered), tables
+  * DOM (what is it?)
+  * attaching events/handlers to elements in a web page
+  * data validation
+  * box model
+  * default behavior
+
+
+2. CSS (https://www.w3schools.com/css/default.asp)
+  * class/id selectors
+  * child/ancestor selectors
+  * rule definitions
+
+3. Javascript
+  * variable declaration
+  * var,let,const (how are they different from one another)
+  * variable scopes
+  * function declaration
+  * call, bind, apply
+  * javascript objects
+  * seal, freeze
+  * arrays
+  * map, reduce, filter, sort, find
+  * spread/rest operator
+  * array/object destructuring
+  * arrow functions
+  * `this` , function execution context
+  * template literals
+  * ES6 Classes and Inheritance
+  * modules
+  * promises
+  * async await
+  * webAPI (document.querySelector, etc...) https://developer.mozilla.org/en-US/docs/Web/API
+  * different ways javascript interacts with a web page 
+  * the javascript Event loop and the order in which asynchronous code gets executed in Javascript
+
+4. React
+  * class component declaration (be able to write your own component)
+  * ReactDOM.render()
+  * JSX (https://reactjs.org/docs/jsx-in-depth.html)
+  * state
+  * props
+  * component lifecycle Methods
+  * lifting state from child to parent
+  * function components 
+  * React Hooks (useState, useEffect, useContext and custom hooks)
+  * fetch - what it is and how we used it
+  * data validation on the client
+
+5. Node/Express/API
+  * "proper" layout of an express api
+  * app.js
+  * middleware - what is it and how does it get invoked and where
+  * flow of middleware - what are the parameters it takes
+  * what triggers the end of the request-response transaction
+  * mongoose/schema what role ORM's play in our application stack
+  * HTTP verbs we discussed (GET, POST, PUT, DELETE) what actions they correspond to, what the request gets attached to
+  * diffence between url params and query params (where are they placed in the request)
+  
+
+__Suggestions:__
+  * review the tic-tac-toe tutorial on the React website (https://reactjs.org/tutorial/tutorial.html)  
+  * review projects/exercises
+  * go over the midterm
+  * api examples
+
+
+
+__Note:__ This is a suggested listed but by no means necessarily a complete list of topics for the final exam.
+
+### Topics not included on the exam
+* git
+* text editors
+* postman
+* curl
-- 
GitLab