├── 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 | ![TTP](./www/TTP_Logo_1.png) 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]: # "![Construction](./www/Under_Construction.png)" 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 | --------------------------------------------------------------------------------