├── sqltools_20220125131157_20584.log
├── .DS_Store
├── www
├── TTP_Logo_0.png
├── TTP_Logo_1.png
├── TTP_Logo_2.gif
└── Under_Construction.png
└── README.md
/sqltools_20220125131157_20584.log:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ArielAvshalom/winter-2022-ttp-residency-pis/HEAD/.DS_Store
--------------------------------------------------------------------------------
/www/TTP_Logo_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ArielAvshalom/winter-2022-ttp-residency-pis/HEAD/www/TTP_Logo_0.png
--------------------------------------------------------------------------------
/www/TTP_Logo_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ArielAvshalom/winter-2022-ttp-residency-pis/HEAD/www/TTP_Logo_1.png
--------------------------------------------------------------------------------
/www/TTP_Logo_2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ArielAvshalom/winter-2022-ttp-residency-pis/HEAD/www/TTP_Logo_2.gif
--------------------------------------------------------------------------------
/www/Under_Construction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ArielAvshalom/winter-2022-ttp-residency-pis/HEAD/www/Under_Construction.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # 📚 Tech Talent Pipeline Residency: Winter 2022 Bootcamp
4 |
5 | ## :scroll: Course Information
6 |
7 | Click to Expand
8 |
9 | - Class Days and Times
10 |
11 | - Monday - Friday, 10AM - 4PM
12 | - Dates: January 3, 2022(Monday) - January 28, 2022(Friday)
13 |
14 | - [:movie_camera: Zoom Link](https://us02web.zoom.us/j/85857451767?pwd=SVlZbG5UYkhzb0tOaXIzSk9ONTUwdz09)
15 | - [:computer: Slack](https://cunyttp.slack.com/archives/C02N91RHGM9)
16 | - [:notebook: OneNote](https://1drv.ms/u/s!An3mqqGZuSCthdMUP8u8X3kS06rYhg)
17 |
18 |
19 |
20 |
21 | ## :watch: Daily Schedule (Subject to Change)
22 |
23 | Click to Expand
24 |
25 | 10 AM - 12 PM - :speaking_head: Lecture, Review, Demo, Workshop of the Day
26 |
27 | 12PM - 1 PM - :plate_with_cutlery: Lunch
28 |
29 | 1PM - 4PM - :keyboard: Continuation of Lecture, Complete The Workshops/Homework For The Day
30 |
31 |
32 |
33 | ## :shipit: Your Teaching Team
34 |
35 | Click to Expand
36 |
37 | ### Lead Instructor : Ariel Avshalom(He/Him)
38 |
39 | - [:e-mail: Email](csciprofessor+ttp@gmail.com)
40 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/arielavshalom)
41 | - [:octocat: Github](http://github.com/ArielAvshalom)
42 |
43 | ### Lead TA: Tenzin Jamyang
44 |
45 | - [:e-mail: Email](jamyangu@gmail.com)
46 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/tenzinjamyang/)
47 | - [:octocat: Github](http://github.com/TenzinJam)
48 |
49 | ### Teaching Assistants
50 |
51 | #### Ariel Benzur
52 |
53 | - [:e-mail: Email](aab171@outlook.com)
54 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/ariel-benzur-01072001/)
55 | - [:octocat: Github](https://github.com/ArielBenz171)
56 |
57 | #### Yasmine Kamel
58 |
59 | - [:e-mail: Email](yasminecodes@gmail.com)
60 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/yasmine-kamel/)
61 | - [:octocat: Github](https://github.com/YasmineCodes)
62 |
63 | #### Victor Li
64 |
65 | - [:e-mail: Email](vliboolean1010@gmail.com)
66 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/victor-li-b45bab148/)
67 | - [:octocat: Github](https://github.com/victorFFFF)
68 |
69 | #### Abi Scholz
70 |
71 | - [:e-mail: Email](abi.scholz@gmail.com)
72 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/abischolz/)
73 | - [:octocat: Github](https://github.com/abischolz)
74 |
75 | ### Mohammed Shafee
76 |
77 | - [:e-mail: Email](m.shafee1993@gmail.com)
78 | - [:card_file_box: LinkedIn](https://www.linkedin.com/in/mohamed-shafee1/)
79 | - [:octocat: Github](https://github.com/Moe82)
80 |
81 | ### Program Manager: Allan James S. Lapid
82 |
83 | - [:e-mail: Email](ajLapid718@gmail.com)
84 | - [:card_file_box: LinkedIn]()
85 | - [:octocat: Github]()
86 |
87 |
88 |
89 | ## :card_file_box: Curriculum Index
90 |
91 | Click to Expand
92 |
93 | Pre-Bootcamp Material
94 |
95 | ## Week 1
96 |
97 | Class Session 1: Pilot Assessment and Tailwind | (01/03/2022)
98 |
99 | Class Session 2: Collaborative Workflow I and Introduction to JS | (01/04/2022)
100 |
101 | Class Session 3: DOM Manipulation | (01/05/2022)
102 |
103 | Class Session 4: Introduction to React | (01/06/2022)
104 |
105 | Class Session 5: Introduction to External API Requests and ReactJS | (01/07/2022)
106 |
107 | ## Week2
108 |
109 | Class Session 6: Introduction to External API Requests and in-depth ReactJS classes and functions | (01/10/2021)
110 |
111 | Class Session 7: APIs, JSon, Hooks, Promises and Async | (01/12/2021)
112 |
113 | Class Session 8: React Router and React Context | (01/13/2021)
114 |
115 | Class Session 9: Introduction to NodeJS | (01/14/2021))
116 |
117 | Class Session 10: Introduction to Express | (01/15/2021))
118 |
119 | ## Week 3
120 |
121 | Class Session 11: PostgreSQL/Sequelize I| (01/18/2021))
122 |
123 | Class Session 12: PostgreSQL/Sequelize II| (01/19/2021))
124 |
125 | Class Session 13: CRUD App I | (01/20/2021))
126 |
127 | Class Session 14: CRUD App II | (01/21/2021))
128 |
129 | ## Week 4
130 |
131 | [comment]: # "Class Session 15: Project Building I | (01/25/2021))"
132 |
133 | [comment]: # "Class Session 16: Project Building II | (01/26/2021))"
134 |
135 | [comment]: # "Class Session 17: Project Building III | (01/27/2021))"
136 |
137 | [comment]: # "Class Session 18: Project Building IV | (01/28/2021))"
138 |
139 | [comment]: # "Class Session 19: Exit Assessment and Demo Day | (01/29/2021))"
140 |
141 |
142 |
143 | ## :school: Curriculum
144 |
145 | Click to Expand
146 |
147 | ### Pre-Bootcamp Material
148 |
149 | [Fundamentals of Javascript Repo](https://github.com/ttp-residency-2020/Assignment-0)
150 |
151 | ### Week 1
152 |
153 | Welcome! We will be going over alot this week! This week includes tailwind, git workflow, javascript, The DOM, and React!
154 |
155 | Click to open
156 |
157 | #### Day 1: Pilot Assessment and Tailwind
158 |
159 | Click to Expand
160 |
161 | Goals:
162 | - try your hand at an assessment! You're not expected to be able to answer all of the questions, but by the end of the bootcamp, most of it should be doable!
163 |
164 | - Orientation: what we'll learn and why over the next month
165 |
166 | - Play around with tailwind (a css framework)
167 |
168 |
169 |
170 | | Topic | Lecture | Slides |
171 | | ---------- | ------------------------------------------------- | ------------------------------------------------------------------- |
172 | | CSS Frameworks | [📺](https://drive.google.com/file/d/1WMS8yGPGHCtB7wZgh_0EON782eYGuu4g/view?usp=sharing) | [🖼️](https://1drv.ms/u/s!An3mqqGZuSCthdMdVebOdy9JsowCfg?e=Aoiwsd) |
173 |
174 | Assignment(s):
175 | This assignment is to get your feet wet, there is no submission required.
176 |
177 | GitHub is one of the most popular collaboration hosting platforms out there. In order to familiarize yourself with it, either install git-it-electron (first link) or run githug (second link) with ruby.
178 |
179 | Then play the game available and learn some practical github (and git) in a fun and interactive way!
180 |
181 | - https://github.com/jlord/git-it-electron
182 | - https://github.com/Gazler/githug
183 |
184 |
185 |
186 | #### Day 2: Onboarding, Git/Github/Collaborative Software Development (Pair Programming)
187 |
188 | Click to Expand
189 |
190 |
191 | Pre-Readings:
192 |
193 | - [HubSpot's Github intro](https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners)
194 |
195 | - [Git Codecademy Tutorial](https://www.codecademy.com/learn/learn-git)
196 |
197 | - [Writing good commit messages](https://medium.com/compass-true-north/writing-good-commit-messages-fc33af9d6321)
198 |
199 | - [Advanced Git Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows)
200 |
201 | | Topic | Lecture | Slides |
202 | | ---------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
203 | | Git Part 1 | [📺](https://drive.google.com/file/d/1GMIl7Vp4z5X9LkC35BqzpwmFWxOhuBw4/view?usp=sharing) | [🖼️](https://docs.google.com/presentation/d/12tgnThkuKGHpbxZEv2RTWOTLpViL1O3hcHEGNJv9Wzo/edit?usp=sharing) |
204 | | Git Part 2 | [📺](https://drive.google.com/file/d/1G2xBB109gbvIDMrsMc2_49f4Xm5swIyE/view?usp=sharing) | [🖼️](https://docs.google.com/presentation/d/1Qkz1Z83P2b2EUFDrMN8L1X7BcMwZzzkSqCKCI8INH78/edit?usp=sharing) |
205 |
206 | Assignment(s):
207 |
208 | - [Collaboration Workshop Assignment #1](https://docs.google.com/document/d/1Yp10nGa09vAWzIlCxmkayuEf2RhKN0UhakKl_Zgplak)
209 | - [About Students Assignment 1.5](https://1drv.ms/w/s!An3mqqGZuSCthdMgVlSlgbpK_I6Xww?e=pFgRBe)
210 |
211 | Additional Resources:
212 |
213 | Adding git your machine:
214 |
215 | - https://www.atlassian.com/git/tutorials/install-git
216 | - https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
217 | - https://help.github.com/en/github/using-git/getting-started-with-git-and-github
218 |
219 | Git Workflow:
220 |
221 | -https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
222 |
223 | Git Cheat Sheets:
224 |
225 | - https://education.github.com/git-cheat-sheet-education.pdf
226 | - https://www.atlassian.com/git/tutorials/atlassian-git-cheatsheet
227 | - https://www.git-tower.com/learn/cheat-sheets/vcs-workflow
228 |
229 | Git Tutorial Videos:
230 |
231 | - https://www.youtube.com/watch?v=HVsySz-h9r4&t=443s&ab_channel=CoreySchafer
232 | - https://www.youtube.com/watch?v=SWYqp7iY_Tc&ab_channel=TraversyMedia
233 | - [Merge Conflicts](https://www.youtube.com/watch?v=XX-Kct0PfFc&ab_channel=TheNetNinja)
234 |
235 |
236 |
237 |
238 | #### Day 3: Javascript Basics Overview
239 |
240 | Click to Expand
241 |
242 | Pre-Readings:
243 |
244 | - [Eloquent Javascript Chapter 3: Functions](http://eloquentjavascript.net/03_functions.html)
245 |
246 | - [Eloquent Javascript Chapter 4: Objects and Arrays](http://eloquentjavascript.net/04_data.html)
247 |
248 | - [Eloquent Javascript Chapter 5: Higher Order Function](http://eloquentjavascript.net/05_higher_order.html)
249 |
250 | | Topic | Lecture | Slides |
251 | | ---------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
252 | | Javascript! | [📺](https://youtu.be/QMrNICSDqyo) | [🖼️](https://drive.google.com/file/d/1JL2pjlW0np5sxY8uKLQdU_W8vd3PPXdM/view?usp=sharing) |
253 | | More Javascript! | [📺](https://youtu.be/WVKrV0Uz79U) | [🖼️](https://drive.google.com/file/d/1RAYPYLNmtDRqLy1bBFuDxpqsiOnYOpRg/view?usp=sharing) |
254 |
255 | [TAs JavaScript Examples](https://github.com/ArielAvshalom/JavaScript-Examples)
256 |
257 | Assignment(s):
258 |
259 | - [Assignment #2](https://docs.google.com/document/d/1sB2_tX6U8_OiLHNrqa2KSleKFE_SjOkl9uO_IC_hLh8/edit?usp=sharing)
260 |
261 | Additional Resources:
262 |
263 | - [Repl Link](https://repl.it/@DBorhara/TTPWiinter2021JS#index.js)
264 | - [Awwwards Site](https://www.awwwards.com/websites/reactjsdah/)
265 |
266 |
267 |
268 | #### Day 4 : DOM Manipulation
269 |
270 | Click to Expand
271 |
272 | Pre-Readings:
273 |
274 | - [Eloquent Javascript Chapter 13: Javascript and the Browser](http://eloquentjavascript.net/13_browser.html)
275 |
276 | - [Eloquent Javascript Chapter 14: The Document Object Model](http://eloquentjavascript.net/14_dom.html)
277 |
278 | - [Eloquent Javascript Chapter 15: Handling Events](http://eloquentjavascript.net/15_event.html)
279 |
280 | - [A Series of DOM Slides](https://www.teaching-materials.org/jsweb/slides/dom#/)
281 |
282 | | Topic | Lecture | Slides/Repo |
283 | | ------- | ----------------- | ---------------------------------------------------------------------------------------------------------- |
284 | | The DOM | [📺](https://youtu.be/tCEd2o-3n8g) | [🖼️](https://docs.google.com/presentation/d/1TjI1htHMMbvmoN0A4RcgepSKP-AJ-z08XzVXWD_ZBOk/edit?usp=sharing) |
285 | | JS OOP | [📺](https://youtu.be/X3RorjoUiiw) | [:desktop_computer:](https://github.com/tenzinjam/oopinjs)
286 |
287 |
288 | Assignment(s):
289 |
290 | - [Assignment #3: DOM Challenges I](https://docs.google.com/document/d/1kY-L3-Nc1tGqcqNZMfxgRvQ6FBvQ6J8fFknki0BE8Ps/edit?usp=sharing)
291 |
292 | - [Assignment #4: DOM Challenges II](https://docs.google.com/document/d/1LPxdisEKHdqf9Xs9khDEQzMvtrOWNumcW_h700jP8Z8/edit?usp=sharing)
293 |
294 | - [Assignment #5: DOM Challenges III](https://docs.google.com/document/d/1ZoWo5FtpiWP7LxsskteMGYPoYWQWzCsaHB2xjrLAqfA/edit?usp=sharing)
295 |
296 | Additional Resource:
297 |
298 | - [Homemade Reducer](https://repl.it/@DBorhara/Reduceeeeerrr#index.js)
299 |
300 | - [List of JS Events](https://developer.mozilla.org/en-US/docs/Web/Events)
301 |
302 | - [HTML Collection vs NodeList](https://teamtreehouse.com/community/understanding-the-difference-between-an-htmlcollection-and-a-nodelist)
303 |
304 | - [NodeList Docs](https://developer.mozilla.org/en-US/docs/Web/API/NodeList)
305 |
306 | Useful video series on the DOM:
307 |
308 | - [Part 1](https://www.youtube.com/watch?v=l-0nPnSvbX8)
309 |
310 | - [Part 2](https://www.youtube.com/watch?v=8LWQNnVAMh4)
311 |
312 | - [Part 3](https://www.youtube.com/watch?v=QE1YQnhntgw)
313 |
314 |
315 |
316 | #### Day 5 : Introduction to React
317 |
318 | Click to Expand
319 |
320 | Pre-Readings:
321 |
322 | - [React: Hello World](https://reactjs.org/docs/hello-world.html)
323 |
324 | - [React: Introducing JSX](https://reactjs.org/docs/introducing-jsx.html)
325 |
326 | - [React: Rendering Elements](https://reactjs.org/docs/rendering-elements.html)
327 |
328 | - [React: Components and Props](https://reactjs.org/docs/components-and-props.html)
329 |
330 | - [React: State and Lifecycle](https://reactjs.org/docs/state-and-lifecycle.html)
331 |
332 | - [React: Handling Events](https://reactjs.org/docs/handling-events.html)
333 |
334 | - [React: Conditional Rendering](https://reactjs.org/docs/conditional-rendering.html)
335 |
336 | - [React: List and Keys](https://reactjs.org/docs/lists-and-keys.html)
337 |
338 | - [React: Forms](https://reactjs.org/docs/forms.html)
339 |
340 | - [React: Lifting State Up](https://reactjs.org/docs/lifting-state-up.html)
341 |
342 | - [React: Composition vs Inheritance](https://reactjs.org/docs/composition-vs-inheritance.html)
343 |
344 | - [Thinking in React](https://reactjs.org/docs/thinking-in-react.html)
345 |
346 | - [React: An Overview via Videos](https://www.youtube.com/watch?v=FRjlF74_EZk&list=PLruo2gSoqleiMVEIqmvZkIpFEN_TPt0hR)
347 |
348 | _Reading for the weekend_:
349 |
350 | - [ReactJS: Quick Guide](https://www.tutorialspoint.com/reactjs/reactjs_quick_guide.htm) (An Optional Read) (Skip the section on Flux Architecture --- we'll be discussing that in Week 3)
351 |
352 | | Topic | Lecture | Slides |
353 | | ------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
354 | | ReactJS | [📺](https://youtu.be/m1aeRId3yX0) | [🖼️](https://docs.google.com/presentation/d/1ztwgOYekXjr0c58Le8tIWwEcIuwYYLz-9XnLh9NoPB8/edit#slide=id.gb4930cdae2_1_32) |
355 |
356 | Passcode: yb20gK!7
357 |
358 | ##### VsCode Addons
359 |
360 | Auto Rename Tag
361 | Auto Close Tag
362 | Bracket Pair Colorizer 2
363 | ESLint
364 | Markdownlint
365 | Path Inellisense
366 | Prettier
367 | vscode-icons
368 |
369 | Additional Resources:
370 | [React Docs](https://reactjs.org/docs/getting-started.html)
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 | ### Week 2
386 |
387 | This week we will finish up with React, and go into React-Router, State Management with Redux, and NodeJS.
388 |
389 | Click to open
390 |
391 | #### Day 6 : Introduction to External API Requests and ReactJS Continued
392 |
393 | Pre-Readings:
394 |
395 | [React Lifecyle Methods](https://reactjs.org/docs/state-and-lifecycle.html)
396 |
397 | - [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)
398 |
399 | - [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
400 |
401 | | Topic | Lecture | Slides |
402 | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
403 | | React Class Components and Life Cycle | 📺(https://youtu.be/wswiShANrOE) | [🖼️](https://drive.google.com/file/d/1HXGVusEsJjIVsYaMyscbwiLwggMphV2s/view?usp=sharing) |
404 | | React Function Components and Events | 📺[https://youtu.be/WpN9K5WtC1w] | [🖼️](https://drive.google.com/file/d/1n_wwOKf6cjvAQPYK7Z0P3qN_mRw82ozY/view?usp=sharing) |
405 | | AJAX, fetch, and Axios | 📺[Insert Link Here] | [🖼️](https://drive.google.com/file/d/1xMVz85U_cwgEqjynGaEMfwT_JNYbI1E6/view?usp=sharing) |
406 | | Promises | 📺[Insert Link Here] | [🖼️](https://drive.google.com/file/d/1xVo6kagZiOvdXexzT7ujiIXZTFC2ov0F/view?usp=sharing) |
407 |
408 | Access Passcode: w.4@7Tc=
409 |
410 | [Class React Code](https://github.com/ArielAvshalom/Cars-using-React-Classes)
411 | [Functional React Code](https://github.com/ArielAvshalom/reactfunctions)
412 |
413 |
414 | #### Day 7 : Fetch, async, await and functional hooks
415 |
416 | Pre-Readings:
417 |
418 | - [React Router Resource 1](https://codeburst.io/getting-started-with-react-router-5c978f70df91)
419 | - [React Router Resource 2](https://reacttraining.com/react-router/web/guides/quick-start)
420 | - [React Router Resource #3](https://reacttraining.com/react-router/web/guides/philosophy)
421 | - [React Router Resource #4](https://www.techiediaries.com/react-router-dom-v4/)
422 |
423 | | Topic | Lecture | Slides |
424 | | ------------ | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
425 | | Fetch async await| 📺(https://youtu.be/8Eh8L8ms30E) | [🖼️](https://drive.google.com/file/d/1X7DB3LbAPPPEklKE-359GVKKFFsDGOg3/view) |
426 | | React Functional Hooks |📺(https://youtu.be/HfnPddlM0vE) |
427 |
428 | Access Passcode: Z6r+ANfw
429 |
430 | Assignment(s):
431 | New teams for these assignments!
432 | - Due Monday at 10 AM
433 | - [Assignment #6](https://gist.github.com/ajLapid718/6abcbd05383b178d200ea00a09edd0bc)
434 | - [Assignment #7](https://gist.github.com/ajLapid718/dfc6f6c7377336d916686bb148c031c1)
435 | - [DOM Challenges III with ReactJS: Assignment #8](https://docs.google.com/document/d/1Wk--Xn8oTGWk6Lv39jl--8JtGC-MJQ49Qadv1Y0bv2s/edit)
436 |
437 |
438 | Additional Resources:
439 |
440 | - [Live Code Pokemon API](https://github.com/DBorhara/liveClassDemoTTPWinter)
441 |
442 | - [Handling Multiple Inputs With One HandleChange Function](https://medium.com/@tmkelly28/handling-multiple-form-inputs-in-react-c5eb83755d15)
443 |
444 | - [An Approach for a Cancel Button](https://medium.com/@justintulk/best-practices-for-resetting-an-es6-react-components-state-81c0c86df98d)
445 |
446 | - [Sabe React Tutorial](https://sabe.io/tutorials/getting-started-with-react)
447 | - [Async/Await](https://www.youtube.com/watch?v=vn3tm0quoqE&t=170s)
448 |
449 | - [Conditional Rendering: I](https://react-cn.github.io/react/tips/if-else-in-JSX.html)
450 | - [Conditional Rendering: II](http://devnacho.com/2016/02/15/different-ways-to-add-if-else-statements-in-JSX/) (Be aware of all options, but disregard Option 2 for the time being)
451 | - [Conditional Rendering: III](https://reactjs.org/docs/conditional-rendering.html)
452 |
453 | - [Expected Behavior of Form/Folder Exercises](https://545q7.codesandbox.io/)
454 | - [Bank of React Assignment](https://gist.github.com/ajLapid718/0a95c08420ea645735bac88113928f63)
455 |
456 | #### Day 8 : State Management with Hooks and context && React Router and Client-Side Routing In a Single-Page-Application
457 |
458 | Pre-Readings:
459 |
460 | - [Redux Tutorial by Dan Abramov](https://egghead.io/courses/getting-started-with-redux)
461 | - [Follow Up Redux Tutorial by Dan Abramov](https://egghead.io/courses/building-react-applications-with-idiomatic-redux)
462 |
463 | | Topic | Lecture | Slides |
464 | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
465 | | useContext and useReducer hooks | 📺(https://youtu.be/LTQbzS8RBrA) | [🖼️](https://drive.google.com/file/d/1lg62vSdB3kS0PHBQJrzfNuCfgq7v7Ed6/view?usp=sharing) |
466 | | Router continued | 📺(https://youtu.be/E1wY20Vi87c) | [🖼️](https://drive.google.com/file/d/1T4kvykmcM2MvKvnExjopJv2i4cOjZw1O/view?usp=sharing) |
467 | | Redux Middleware Slides | N/A | [🖼️](https://drive.google.com/file/d/13D5Wv4-evRB9FUgRlr9cH_vPE0oRgafi/view?usp=sharing) |
468 | | Redux Thunk Middleware Slides | N/A | [🖼️](https://drive.google.com/file/d/1CWDPOigoVDwZDc4iLEpJMJ7MN42cT3qI/view?usp=sharing) |
469 |
470 | Our GitHub hooks examples from the morning:
471 | [Use State, Use Reducer and Use Context,](https://github.com/ArielAvshalom/reducer)
472 |
473 |
474 | Additional Resources:
475 |
476 | -[Redux Set Up Checklist](https://docs.google.com/document/d/1PFQ0eg-CzBW1i7dVV_VtWhvkjQ3ssqGSPWbqi5w9dJ0/edit?usp=sharing)
477 |
478 | - [What Thunks Are, What They Solve, and Other Options](https://medium.com/fullstack-academy/thunks-in-redux-the-basics-85e538a3fe60)
479 |
480 | - [Free "Learn Redux" Course by Wes Bos](https://learnredux.com/)
481 | - [Redux-Thunk Explanation](https://learn.co/lessons/redux-thunk-readme)
482 | - [React-Redux Gist](https://gist.github.com/ajLapid718/5597d565c3090955c22ae0e2b6a2ca84)
483 | - [Redeux](https://github.com/ajLapid718/Redeux)
484 | - A repository with different branches containing code that briefly goes over Redux-Thunks, Redux-Saga, Redux-Loop, Redux-Promise, and Redux-Observable
485 | - Also a valuable resource to review barrel files, code splitting and organization, combineReducers(), and Redux middleware such as redux-logger
486 |
487 | #### Day 9 : Introduction to NodeJS
488 |
489 | | Topic | Lecture | Slides |
490 | | ------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
491 | | Intro to Node | 📺(https://youtu.be/ZelQe5LnR9Y) | [🖼️](https://drive.google.com/file/d/1ipobX-kGeBf7bW5cshE7Nx3PS3dwpY9z/view?usp=sharing) |
492 | | Yasmine and Abi showcase lifecycle vs hooks! | 📺(https://youtu.be/wk4JatKHojw) | [🖼️](https://drive.google.com/file/d/1HBf6oLbu5VIBfFM2P-a2A2FYmFaN_4W4/view?usp=sharing) |
493 |
494 | [code from office hour](https://github.com/YasmineCodes/TTP)
495 |
496 |
497 | Additional Resources:
498 |
499 | - [JavaScript Conference 2014: The Event Loop](https://www.youtube.com/watch?v=8aGhZQkoFbQ&feature=youtu.be&t=676) <= _The entire video is recommended to understand Node's async implementation, but the core explanation begins around 11 minutes into the video_
500 |
501 | - [NodeJS: Module Exports](https://www.sitepoint.com/understanding-module-exports-exports-node-js/) <= _Main Takeaway: A deeper understanding of Node's module system_
502 |
503 | - [JavaScript Conference 2019: 10 Things I Regret About NodeJS by the creator of NodeJS](https://www.youtube.com/watch?v=M3BM9TB-8yA&vl=en)
504 |
505 | - [Express Codecademy Tutorial](https://www.codecademy.com/learn/learn-express)
506 |
507 | #### Day 10 : Introduction to Express
508 |
509 | | Topic | Lecture | Slides |
510 | | ---------------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
511 | | Intro to Express | [📺](https://youtu.be/qdH27iNPjcs) | [🖼️](https://drive.google.com/file/d/16awMgO3cPkabEpa08NZCaOjFH7J9E1Yg/view?usp=sharing) |
512 | |Express Routing |[📺](https://youtu.be/n70gf9M0GdI) | |
513 |
514 |
515 |
516 |
517 | [express example](https://github.com/ArielAvshalom/express-for-ttp)
518 |
519 | [comment]: # ""
520 |
521 |
522 | ### Week 3
523 |
524 | Databases/Sequelize/PostgresSQL andCapstone Project Starts
525 |
526 | Click to open
527 |
528 | #### Day 11 : PostgreSQL/Sequelize I
529 |
530 | | Topic | Lecture | Slides |
531 | | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
532 | | Intro to PostgresSQL Databases | [📺](https://youtu.be/tLDeneWNTe4) | [🖼️](https://drive.google.com/file/d/1lrJMJQ6sIN9Xk0AImzOgTKkXh741VI3p/view?usp=sharing) |
533 | | PostgreSQL part 2 diagramming and database design | [📺](https://youtu.be/Hk95hcw-pLo) | [🖼️](https://drive.google.com/file/d/1m-xlhm4QL93bxWvYsR0MVhF13a9USEXH/view) |
534 | | Sequelize | | [🖼️](https://drive.google.com/file/d/1aiuzts6wny4Wk0ipB_ohBk3CJzOmr65M/view?usp=sharing) |
535 |
536 | Access Passcode: &d46%@F?
537 |
538 | - [Sequelize Querying and Associations: Part I](https://gist.github.com/ajLapid718/ca67efc0360c617e5eebb6f1342ae53e)
539 | - [Sequelize Querying and Associations: Part II](https://gist.github.com/ajLapid718/dfb48815a7472e9f6df09131bd0a7d49)
540 |
541 | - Due Thursday at 10 AM:
542 | - [Assignment 10 psql](https://tinyurl.com/ttpa10)
543 |
544 | Additional Resources:
545 |
546 | - [SQLBolt Tutorial](https://sqlbolt.com/)
547 | - [SQLZoo Tutorial](https://sqlzoo.net/)
548 | - [Tom Kelly Sequelize Docs](https://github.com/tmkelly28/sequelize-reference)
549 |
550 | Group Project #1:
551 |
552 |
553 | [Fullstack CRUD Application](https://tinyurl.com/CrudSpec)
554 |
555 | #### Day 12 : PostgreSQL/pg-node and more express
556 |
557 | | Topic | Lecture | Slides |
558 | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
559 | | Express and Postico | [📺](https://youtu.be/hFKNU0HdBxE) | [🖼️](https://drive.google.com/file/d/16cL5H3i5Yo9S2GNDqQJrFOHfT9QZbOKI/view?usp=sharing) |
560 | | PG Client and querying from express serve | 📺[https://youtu.be/D8AoC0ECk7A] | [🖼️](https://drive.google.com/file/d/1uuGYZ-ag-NXMTLt1yp63mIdsGp_mYAWJ/view?usp=sharing) |
561 | | Rounding Out Express and Sequelize | 📺[Insert Link Here] | [🖼️](https://drive.google.com/file/d/1X13dFSydJiMV1Xfg6a5qyrMfwJfvQQ6d/view?usp=sharing) |
562 |
563 |
564 | [Sample Code](https://github.com/ArielAvshalom/Example-CRUD-API-for-TTP)
565 |
566 | [Cliff's Resume Talk](https://youtu.be/ogYtQ3_oADQ)
567 |
568 | [Cliff's Slide Deck](https://docs.google.com/presentation/d/1J8MK9zX9YCx_7PSRyN5-RSMH3W4Ir4NK/edit?usp=sharing&ouid=102426324810325156318&rtpof=true&sd=true)
569 |
570 | [TTP Candidate Profiles Form](https://airtable.com/shrnKwnZOvkqbw0nd)
571 |
572 | #### Day 13 : CRUD APP
573 |
574 | CRUD Kickoff and Review Session with Dino
575 | [📺 Sequelize (morning)](https://youtu.be/79l-7t94OJA)
576 | [📺 Sequlize and CRUD Backend](https://youtu.be/5jZGVsqGuyU)
577 |
578 | Access Passcode: !s@0k89f
579 |
580 | [CRUD CODE : It's not all that cruddy, and it's really neat!](https://github.com/ArielAvshalom/backend_crud)
581 |
582 | #### Day 14 : CRUD APP II
583 |
584 | Review Session with Dino-mite!
585 | [📺 Frontend CRUD and data flow](https://youtu.be/E2Jsxulsqv4)
586 |
587 | [Front End CRUD code](https://github.com/ArielAvshalom/CRUD-Front-End-TTP)
588 |
589 |
590 |
591 | ### Week 4
592 |
593 | Capstone Project, Demo Day, and Exit Assessment
594 |
595 | Click to open
596 |
597 | Day 15: Beginning the Capstone!
598 |
599 | Goals:
600 |
601 | - View our [spec](https://1drv.ms/p/s!An3mqqGZuSCthdM701hmrjaXOuWNsA?e=fKs7aq) (a powerpoint) on the Capstone
602 | - Break up into assigned teams
603 | - Begin the planning phase
604 | - Meet the instructor and your assigned TA to work out what you'd like to develop
605 | - Build a wire frame
606 |
607 | Additionally, join us for a lunch and learn with a Google Software Engineer!
608 |
609 | [Spec day recording](https://www.youtube.com/watch?v=2TDSbMxhfUk)
610 |
611 | Day 16: Capstone part 2:
612 |
613 | - Work with teams on the Capstone
614 | - Meet with TAs and instructor if there are any issues
615 | - Consider both the frontend and backend and decide what you'd like to prioritize
616 |
617 |
618 | Day 17: Capstone part 3:
619 |
620 | - Have an MVP (minimum viable product) ready by the morning today
621 | - Continue working on your project and consider your stretch goal
622 |
623 | Additionally join us for a mandatory lunch and learn session with American Express!
624 |
625 |
626 | Day 18: Wrapping up the Capstone:
627 |
628 | - Work with your teams (likely till really late at night...)
629 | - Meet with TAs and instructor for any final issues or tweaking
630 |
631 | Additionally, join us for a lunch and learn session with a recruiter from HubSpot!
632 |
633 | Day 19: Demo Day:
634 |
635 | - Take the exit assessment
636 | - Present your demos!!!
637 | - Hear our closing statements and get ready for the Spring semester (and your Summer internships)!
638 |
639 | [Demo Day Recording](example.com/demoday)
640 |
641 |
642 |
--------------------------------------------------------------------------------