└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # DevMountain Immersive Syllabus 2 | 3 | - [Week 1](#week1) 4 | - [Day 1](#day11) 5 | - [Day 2](#day12) 6 | - [Day 3](#day13) 7 | - [Day 4](#day14) 8 | - [Day 5](#day15) 9 | 10 | - [Week 2](#week2) 11 | - [Day 1](#day21) 12 | - [Day 2](#day22) 13 | - [Day 3](#day23) 14 | - [Day 4](#day24) 15 | - [Day 5](#day25) 16 | 17 | - [Week 3](#week3) 18 | - [Day 1](#day31) 19 | - [Day 2](#day32) 20 | - [Day 3](#day33) 21 | - [Day 4](#day34) 22 | - [Day 5](#day35) 23 | 24 | - [Week 4](#week4) 25 | - [Day 1](#day41) 26 | - [Day 2](#day42) 27 | - [Day 3](#day43) 28 | - [Day 4](#day44) 29 | - [Day 5](#day45) 30 | 31 | - [Week 5](#week5) 32 | - [Day 1](#day51) 33 | - [Day 2](#day52) 34 | - [Day 3](#day53) 35 | - [Day 4](#day54) 36 | - [Day 5](#day55) 37 | 38 | - [Week 6](#week6) 39 | - [Day 1](#day61) 40 | - [Day 2](#day62) 41 | - [Day 3](#day63) 42 | - [Day 4](#day64) 43 | - [Day 5](#day65) 44 | 45 | - [Week 7](#week7) 46 | 47 | - [Week 8](#week8) 48 | - [Day 1](#day71) 49 | - [Day 2](#day72) 50 | - [Day 3](#day73) 51 | - [Day 4](#day74) 52 | - [Day 5](#day75) 53 | 54 | - [Week 9](#week9) 55 | - [Day 1](#day81) 56 | - [Day 2](#day82) 57 | - [Day 3](#day83) 58 | - [Day 4](#day84) 59 | - [Day 5](#day85) 60 | 61 | - [Week 10](#week10) 62 | - [Day 1](#day91) 63 | - [Day 2](#day92) 64 | - [Day 3](#day93) 65 | - [Day 4](#day94) 66 | - [Day 5](#day95) 67 | 68 | - [Week 11](#week11) 69 | - [Day 1](#day101) 70 | - [Day 2](#day102) 71 | - [Day 3](#day103) 72 | - [Day 4](#day104) 73 | - [Day 5](#day105) 74 | 75 | - [Week 12](#week12) 76 | - [Day 1](#day111) 77 | - [Day 2](#day112) 78 | - [Day 3](#day113) 79 | - [Day 4](#day114) 80 | - [Day 5](#day115) 81 | 82 | - [Week 13](#week13) 83 | - [Day 1](#day121) 84 | - [Day 2](#day122) 85 | - [Day 3](#day123) 86 | - [Day 4](#day124) 87 | - [Day 5](#day125) 88 | 89 | ## Week 1 90 | #### Day 1 - Orientation & Version Control 91 | - Pre-Reading: 92 | - [Git - The Simple Guide](http://rogerdudler.github.io/git-guide/) 93 | - [Atlassian Git Tutorial](https://www.atlassian.com/git/tutorials/setting-up-a-repository) 94 | - **Make sure you [Install Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)** 95 | - Learning Objectives 96 | - Students will understand and be able to use the command line for 97 | - creating a folder 98 | - creating a file 99 | - editing a file 100 | - changing directories 101 | - Students will understand what Git and Github are and how they fit into the web app landscape 102 | - Students will be able to clone a repo and know its purpose 103 | - Students will be able to add, commit, and push files to github 104 | - Students will understand basic branching 105 | - Students will understand how to use github in a group setting 106 | - Students be able to understand what a "Fork" is and be able to Fork a repo 107 | - Students will be able to handle merge conflicts 108 | - Students will be able to minimally manage vim to escape merge conflict messages 109 | - Students will know how to make a Pull Request 110 | - Project: 111 | - [Learn Git](https://github.com/DevMountain/learn-git) 112 | - Additional Practice: 113 | - [Learn Git Branching] (http://pcottle.github.io/learnGitBranching/) 114 | - Additional Reading: 115 | - [The Command Line Crash Course] (http://cli.learncodethehardway.org/book/) 116 | - [Lecture archive] (https://vimeo.com/groups/331341/videos/142188795) 117 | - [Visual Git guide] (http://marklodato.github.io/visual-git-guide/index-en.html) 118 | - [Getting Started with Git](http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control) 119 | - Assessment 120 | - [Command Line & git](https://codecard.io/a/cardio-preview/N4XGkKbju) 121 | 122 | #### Day 2 - HTML & CSS Fundamentals 123 | - Pre-Reading: 124 | - [Codecademy HTML/CSS](http://www.codecademy.com/en/tracks/web) 125 | - Learning Objectives 126 | - Students will understand the purpose of HTML 127 | - Students will understand the purpose of CSS 128 | - Students will from scratch, be able to create a skeleton for their html and css page 129 | - understand and be able to use the following HTML Elements 130 | - p 131 | - footer 132 | - header 133 | - h1 - h6 134 | - ul 135 | - li 136 | - div 137 | - Understand and be able to use the following CSS properties 138 | - id (#) vs class(.) and specificity 139 | - width px & % 140 | - height px & % 141 | - background-color 142 | - background-image 143 | - color 144 | - font-size 145 | - text-align: center 146 | - line-height 147 | - box-model (margin, padding, border) 148 | - float 149 | - clear 150 | - Project: 151 | - [HTML Layouts](https://github.com/DevMountain/html-layout) 152 | - Additional Reading: 153 | - Assessment 154 | - [HTML](https://codecard.io/a/cardio-preview/BE04fHLj2) 155 | 156 | #### Day 3 - HTML & CSS Positioning 157 | - Pre-Reading: 158 | - [Positioning: MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/position) 159 | - Learning Objectives 160 | - Students will be able to use Chrome Dev Tools to inspect their HTML/CSS 161 | - Students will understand the purpose of CSS 162 | - Students will be able to compare and contrast fixed, relative, absolute, and static positioning in CSS 163 | - Students will be able to compare and contrast display block, inline-block, inline, and none 164 | - Students will be able to compare and contrast overflow hidden, auto, scroll 165 | - Students will understand and be able to use max/min-width and max/min-height 166 | - Projects: 167 | - [HTML Layout 2](https://github.com/DevMountain/html-layouts-2) 168 | - [Wikimedia Layout](https://github.com/DevMountain/wikimedia-layout) 169 | - Additional Reading: 170 | - Assessment 171 | - [CSS Positioning](https://codecard.io/a/cardio-preview/N48JWYIl2) 172 | 173 | #### Day 4 - Advanced HTML & CSS 174 | - Pre-Reading: 175 | - [Positioning in CSS](http://quirksmode.org/css/css2/position.html) 176 | - Learning Objectives 177 | - Students will understand and be able to explain the box model to someone else 178 | - Students will understand media queries and be able to implement them 179 | - Students will understand when and when not to use floating elements 180 | - Project: 181 | - [WideopenTech](http://wideopentech.com/) - Clone the homepage for this website 182 | - Additional Reading: 183 | - Assessment 184 | - [Advanced CSS](https://codecard.io/a/cardio-preview/drowaufeV) 185 | 186 | #### Day 5 - JavaScript Fundamentals I 187 | - Pre-Reading: 188 | - [Eloquent JavaScript - Functions](http://eloquentjavascript.net/03_functions.html) 189 | - Learning Objectives 190 | - Students will understand how the web works: 191 | - front-end vs back-end 192 | - the web app landscape 193 | - Students will understand JavaScript vs jQuery 194 | - Students will understand what the DOM is 195 | - Students will understand conditional statements and how they’re used 196 | - Students will understand functions: 197 | - invocation vs definition 198 | - parameters vs arguments 199 | - global and local scope 200 | - anonymous functions 201 | - return values and how to save the returned value to another variable 202 | - Closures 203 | - Projects: 204 | - [JavaScript Basics](https://github.com/DevMountain/JS-Basics) 205 | - Additional Reading: 206 | - [Everything you need to know about Scopes](https://github.com/toddmotto/toddmotto.github.io/blob/master/_posts/2013-12-29-everything-you-wanted-to-know-about-javascript-scope.md) 207 | - Assessments 208 | - [JS Fundamentals I](https://codecard.io/a/cardio-preview/74hCukylV) 209 | - [Advanced JS Problems](https://codecard.io/a/cardio-preview/N4cJ_s7lR) 210 | 211 | ## Week 2 212 | #### Day 1 - JavaScript Fundamentals II & III 213 | - Pre-Reading: 214 | - [JS is Sexy - Objects](http://javascriptissexy.com/javascript-objects-in-detail/) 215 | - Learning Objectives 216 | - Objects 217 | - Students will understand use cases for objects 218 | - Students will understand how to create and add properties/values to objects 219 | - Students will understand how to loop through objects 220 | - Students will understand how to create and invoke a method 221 | - Students will understand bracket notation vs dot notation 222 | - Students will understand how to remove keys/props from objects (delete) 223 | - Arrays 224 | - purpose 225 | - how to get values from arrays 226 | - array properties (length, push/pop, shift/unshift, split/join, splice/slice, reverse, indexOf) 227 | - how to create an array 228 | - how to loop through an array 229 | - Projects: 230 | - [JavaScript Objects](https://github.com/DevMountain/object-fiddles) 231 | - [JavaScript Arrays](https://github.com/DevMountain/JS-Arrays) 232 | - Additional Reading: 233 | - Assessment 234 | - [JS Fundamentals II & III](https://codecard.io/a/cardio-preview/NE7Le2j0R) 235 | 236 | #### Day 2 - JS Fundamentals IV 237 | - Pre-Reading: 238 | - [This with Clarity](http://javascriptissexy.com/understand-javascripts-this-with-clarity-and-master-it/) 239 | - Learning Objectives 240 | - the purpose of the ‘this’ keyword 241 | - 4 rules for determining what ‘this’ is bound to 242 | - Implicit Binding 243 | - Explicit Binding 244 | - call 245 | - apply 246 | - bind 247 | - new binding 248 | - Default Binding 249 | - Projects: 250 | - [The This Keyword](https://github.com/DevMountain/the-keyword-this) 251 | - Additional Reading: 252 | - Assessment 253 | - [JS Fundamentals IV](https://codecard.io/a/cardio-preview/NY1gPKpju) 254 | 255 | 256 | #### Day 3 - JS Fundamentals V 257 | - Pre-Reading: 258 | - [JS is Sexy - Callbacks](http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/) 259 | - [JS is Sexy - Prototypes](http://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/) 260 | - Learning Objectives 261 | - Students will understand synchronous vs asynchronous programming 262 | - Students will be able to talk about what a callback is 263 | - Students will understand the use cases of callbacks 264 | - Students will be able to identify and use callbacks 265 | - Students will understand what prototypes are in JavaScript 266 | - Students will be able to add a method on a function’s prototype and create instances of that function that invoke the prototypes method 267 | - Project: 268 | - [Callback Practice](https://github.com/DevMountain/callbackPractice) 269 | - [Constructor Conductor](https://github.com/DevMountain/ConstructorConductor) 270 | - [Utilities](https://github.com/DevMountain/utilities) 271 | - Additional Reading: 272 | - Assessment 273 | - [JS Fundamentals V](https://codecard.io/a/cardio-preview/B4otuPc52) 274 | 275 | #### Day 4 - jQuery I 276 | - Pre-Reading: 277 | - Mini Project: 278 | - [Paint](https://github.com/DevMountain/mini-paint) 279 | - Learning Objectives 280 | - Students will understand the DOM 281 | - Students will be able to make basic manipulations to the DOM 282 | - Students will understand visual and functional purpose of the jQuery 283 | - Project: 284 | - [Todo List](https://github.com/devmountain/jquery2) 285 | - Additional Reading: 286 | - [CodeAcademy](http://www.codecademy.com/en/tracks/jquery) 287 | - Assessment 288 | - [jQuery I](https://codecard.io/a/cardio-preview/N4mpVQGj2) 289 | 290 | 291 | #### Day 5 - jQuery II 292 | - Project: 293 | - [Twitter Clone](https://github.com/DevMountain/twitter-clone) 294 | 295 | ## Week 3 296 | #### Day 1 - AngularJS I 297 | - Pre-Reading: 298 | - [Starting with Angular](http://stephanebegaudeau.tumblr.com/post/48776908163/everything-you-need-to-understand-to-start-with) 299 | - [Conceptual Intro to Angular](http://paislee.io/a-conceptual-introduction-to-angularjs/) 300 | - [Watch "Angular in 60-ish Minutes"](https://www.youtube.com/watch?v=i9MHigUZKEM) 301 | - Mini Project: 302 | - [Babies first Angular](https://github.com/DevMountain/mini-BabiesFirstAngular) 303 | - Learning Objectives 304 | - Students will understand the difference between jQuery and Angular and how Angular fits into the web app landscape 305 | - Students will understand what a module, controller, directive, and service is in angular 306 | - Students will be able to, from scratch, build a basic angular application, put data on a controller's scope, and bind that data to the view 307 | - Students will be able to ng-repeat over data 308 | - Students will be able to filter data 309 | - Project: 310 | - [Angular Friends](https://github.com/DevMountain/angular-friends) 311 | - Weeklong Project: 312 | - [DevMt.In](https://github.com/DevMountain/dev-mt-in) 313 | - Additional Reading: 314 | - Assessment 315 | - [AngularJS Day 1](https://codecard.io/a/cardio-preview/B4yCwFR8R) 316 | 317 | #### Day 2 - AngularJS II 318 | - Pre-Reading: 319 | - [Angular Services](http://tylermcginnis.com/angularjs-factory-vs-service-vs-provider/) 320 | - Mini Project: 321 | - [User Profiles](https://github.com/DevMountain/mini-userProfiles) 322 | - Learning Objectives 323 | - Students will understand the purpose of Services in Angular 324 | - Students will know how to inject services into their controllers 325 | - Students will know how to call methods on their services from in their controllers and put the response on $scope 326 | - know the difference between factories and services 327 | - Project: 328 | - [Quote Book](https://github.com/DevMountain/quoteBook) 329 | - Additional Reading: 330 | - Assessment 331 | - [AngularJS II - Services](https://codecard.io/a/cardio-preview/dYsMX9ChR) 332 | 333 | #### Day 3 - AngularJS III 334 | - Pre-Reading: 335 | - [Angular's $http](https://egghead.io/lessons/angularjs-http) 336 | - [Promises](http://andyshora.com/promises-angularjs-explained-as-cartoon.html) 337 | - Mini Project: 338 | - [User Profiles II](https://github.com/DevMountain/mini-userProfiles2) 339 | - Learning Objectives 340 | - Students will be able to explain what JSON is 341 | - Students will be able to explain was REST is 342 | - Students will be able to explain what AJAX is 343 | - Students will make an ajax request with angular, call .then on the promise and add that data to the $scope 344 | - Project: 345 | - [Chatroom](https://github.com/DevMountain/chatroom) 346 | - Additional Reading: 347 | - Assessment 348 | - [AngularJS III - $http](https://codecard.io/a/cardio-preview/7465nq9JV) 349 | 350 | #### Day 4 - AngularJS IV 351 | - Pre-Reading: 352 | - [$q](http://www.webdeveasy.com/javascript-promises-and-angularjs-q-service/) 353 | - Mini Project: 354 | - [User Profile III](https://github.com/DevMountain/mini-userProfiles3) 355 | - Learning Objectives 356 | - Students will be able to make $http requests to various APIs 357 | - Students will be able to use outside directives and know how to inject those modules into their application 358 | - Students will be able to create, return, and resolve their own promises with $q 359 | - Project: 360 | - [iTunes API](https://github.com/DevMountain/itunes) 361 | - Additional Reading: 362 | - [The Power of Q](https://www.youtube.com/watch?v=33kl0iQByME) 363 | - [JSONP](https://en.wikipedia.org/wiki/JSONP) 364 | - Assessment 365 | - [AngularJS IV - APIs](https://codecard.io/a/cardio-preview/Bri37FtZV) 366 | 367 | #### Day 5 -Angular Review I 368 | 369 | ## In-class practice project : [Angular Drills](https://github.com/DevMountain/angular-drills) 370 | 371 | ## Week 4 372 | #### Day 1 - Angular V 373 | - Pre-Reading: 374 | - [Routing with UI-Router](https://scotch.io/tutorials/angular-routing-using-ui-router) 375 | - Install these before class!: 376 | - [Install Node - Mac](http://blog.teamtreehouse.com/install-node-js-npm-mac) 377 | - [Install Node - Windows](http://blog.teamtreehouse.com/install-node-js-npm-windows) 378 | - Mini Project: 379 | - [MiniRoute](https://github.com/DevMountain/mini-Routing) 380 | - Learning Objectives 381 | - Students will understand the methodology behind routing and templating 382 | - Students will be able to set up a basic routing system with multiple views and controllers using UI-Router 383 | - Students will be able to use resolve to resolve data and pass in data to their controller before theirn controller initializes 384 | - Students will be able to use stateParams to gather data from the URL 385 | - Project: 386 | - [NBA Routes](https://github.com/DevMountain/nbaRoutes) 387 | - Weeklong Project: 388 | - [Quiz](http://projectguide.devmounta.in/#/quiz) 389 | - Additional Reading: 390 | - Assessment 391 | - [AngularJS V - Routing](https://codecard.io/a/cardio-preview/NEyPyQlhV) 392 | 393 | #### Day 2 - Angular VI 394 | - Pre-Reading: 395 | - [Directives](http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) 396 | - Mini Project: 397 | - [Time Directive](https://github.com/DevMountain/mini-timeDirective) 398 | - Learning Objectives 399 | - Students will understand how Directives fit into the Angular ecosystem 400 | - Students will be able to create a custom directive and use it in a view 401 | - Project: 402 | - [Lesson Hider Directive](https://github.com/DevMountain/lesson-hider-directive) 403 | - Additional Reading: 404 | - [PRankings Directive](https://github.com/squireaj/PRankings) 405 | - [Dave Smith Presentation on Custom Directives](https://www.youtube.com/watch?v=UMkd0nYmLzY) 406 | - Assessment 407 | - [AngularJS VI - Directives](https://codecard.io/a/cardio-preview/7YFUaTqZV) 408 | 409 | #### Day 3 - Firebase 410 | - Pre-Reading: 411 | - [Firebase Tutorial](http://code.tutsplus.com/tutorials/creating-a-web-app-from-scratch-using-angularjs-and-firebase--cms-22391) 412 | - Learning Objectives 413 | - Students will understand the term CRUD 414 | - Students will be able to use Firebase in angular to persist data to a server 415 | - Mini-Project : [CarFire](https://github.com/DevMountain/carFire) 416 | - Project: 417 | - [Real Time Forum](https://github.com/DevMountain/rtfm) 418 | - Additional Reading: 419 | 420 | #### Day 4 - Firebase II & No Server Project 421 | - Learning Objectives 422 | - Students will understand how to use Firebase's authentication system 423 | - Students will start on their no server project 424 | 425 | #### Day 5 - Angular & Firebase Review II 426 | - Review & No server project Day 427 | 428 | 429 | ## Week 5 430 | #### Day 1 - No Server Project 431 | - Requirements 432 | - At least 3 routes 433 | - At least 2 directives 434 | - 1 directive can be just a templateUrl for code re-use 435 | - 1 directive needs to do some javascript (event if it's just elem.css({}) in the link function) 436 | - [Bonus] Use Firebase or an API 437 | - This should take a back seat to making a solid project with angular 438 | - [Bonus 2] Make it look nice! Styling is important to employers. It's important to practice. Feel free to Google for 'inspiration' to mimic. 439 | 440 | #### Day 2 - No Server Project 441 | 442 | #### Day 3 - NodeJS I 443 | - Mini Project: 444 | - [Siri](https://github.com/DevMountain/Siri) 445 | - Learning Objectives 446 | - Students understand what Node is and that it can be used as a server 447 | - Student will understand how HTTP works to communicate between client & server 448 | - Student will understand the need for a module like `express` 449 | - Student can use `require` to import a Node module 450 | - Student will understand the basic utility of a package.json file 451 | - Student can create a HTTP NodeJS server using express 452 | - Students can explain endpoints and create basic ones testing them with Postman 453 | - Project: 454 | - [Chatty](https://github.com/DevMountain/chatty) 455 | - Additional Reading: 456 | - [Node Basics Video Series](https://www.thenewboston.com/videos.php?cat=355) 457 | 458 | #### Day 4 - NodeJS II 459 | - Mini Project: 460 | - Rewrite in Progress 461 | - Learning Objectives 462 | - Student can require other .js files in the project 463 | - Student can use bodyParser to get data out of the body 464 | - Student can use req.params 465 | - Student is introduced to req.query 466 | - Student understands the request response lifecycle in express including the order in which functions are called 467 | - Student can utilize middleware 468 | - Project: 469 | - [Personal API](https://github.com/DevMountain/personal-api) 470 | - Additional Reading: 471 | 472 | #### Day 5 - NodeJS III 473 | - Mini Project: 474 | - Rewrite in Progress 475 | - Learning Objectives 476 | - Student can use Express to serve static files 477 | - Student can use routing in Express to create basic API endpoints 478 | - Student can use route params to make dynamic endpoints 479 | - Student can build a front-end Angular application that connects to a back-end NodeJS API 480 | - Project: 481 | - [User Profiles](https://github.com/DevMountain/user-profiles) 482 | - Additional Reading: 483 | 484 | 485 | ## Week 6 486 | 487 | #### Day 1 - MongoDB I 488 | - Before class: 489 | - Make sure you've installed MongoDB ([Mac](https://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/) or [PC](https://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/)) 490 | - Mini Project: 491 | - [Birds](https://github.com/jacob-israel-turner/mini-birds) 492 | - Learning Objectives 493 | - Understand the DB's place in the web app landscape (MongoDB vs DBaaS like Firebase) 494 | - Understand DBs, Collections, and Documents 495 | - Understand CRUD operations with MongoDB 496 | - Project: 497 | - [eCommerce I](https://github.com/DevMountain/ecommerce/blob/master/README.md) 498 | - Additional Reading: 499 | 500 | #### Day 2 - MongoDB II 501 | - Mini Project: 502 | - [Mini-Birds Mongoose](https://github.com/DevMountain/mini-birds-mongoose) 503 | - Learning Objectives 504 | - understand what object modeling is and why it’s used 505 | - understand the difference between Mongoose and MongoJS 506 | - Project: 507 | - [eCommerce II](https://github.com/DevMountain/ecommerce/blob/master/part-two.md) 508 | - Additional Reading: 509 | 510 | #### Day 3 - MongoDB III 511 | - Mini Project: 512 | - [Mini-Birds Related](https://github.com/DevMountain/mini-birds-mongoose/blob/master/day2README.md) 513 | - Learning Objectives 514 | - Understand the concept of relationships 515 | - Understand the different types of relationships, and when to use them 516 | - Understand how and when to use embedded and referential schemas 517 | - Project: 518 | - [eCommerce III](https://github.com/DevMountain/ecommerce/blob/master/part-three.md) 519 | - Additional Reading: 520 | 521 | #### Day 4 - NodeJS IV 522 | - Mini Project: 523 | - [Facebook Profile Viewer](https://github.com/DevMountain/FacebookViewer) 524 | - Learning Objectives 525 | - Student can distinguish between Basic Auth, Form-based Auth, Token-based Auth, and OAuth 526 | - Student can use express sessions to restrict access to resources 527 | - Student can use passport to authenticate users with providers like Twitter, Facebook, etc. 528 | - Project: 529 | - [Coder Friends](https://github.com/DevMountain/CoderFriends) 530 | - Additional Reading: 531 | 532 | #### Day 5 - Personal Projects 533 | 534 | ## Week 7 (INTERIM WEEK) 535 | #### Day 1 - Personal Projects 536 | #### Day 2 - Personal Projects 537 | #### Day 3 - Personal Projects 538 | #### Day 4 - Personal Projects 539 | #### Day 5 - Personal Projects 540 | 541 | ## Week 8 542 | #### Day 1 - Personal Projects 543 | #### Day 2 - Personal Projects 544 | #### Day 3 - Personal Projects 545 | #### Day 4 - Personal Projects 546 | #### Day 5 - Personal Projects 547 | 548 | ## Week 9 549 | #### Day 1 - Personal Projects 550 | #### Day 2 - Personal Projects 551 | #### Day 3 - Personal Projects 552 | #### Day 4 - Personal Projects 553 | #### Day 5 - Personal Projects 554 | 555 | ## Week 10 556 | #### Day 1 - React I 557 | - Pre-Reading: 558 | - Mini Project: 559 | - [react-basics](https://github.com/bsbeeks/react-day-1) 560 | - Learning Objectives 561 | - Understand how React compares to Angular 562 | - Understand how to use Webpack to set up a build process for your React App 563 | - Understand how to build a component which modifies and maintains it’s own state 564 | - Understand how to pass data into child components as props 565 | - Understand how to use CSS with React as well as “inline” styles 566 | CSS in React 567 | - Understand how to keep your components state up to date as well as invoke other methods in your component. 568 | - Project: 569 | - [todo-collection](https://github.com/ReactWeek/todo-collection) 570 | - Additional Reading: 571 | 572 | #### Day 2 - React II 573 | - Pre-Reading: 574 | - Mini Project: 575 | - [mini-chatroom](https://github.com/bsbeeks/react-jquery) 576 | - Learning Objectives 577 | - Understand the Life Cycle of a Components 578 | - Understand how to use propTypes and getDefaultProps 579 | - Understand what Mixins are and how they’re useful 580 | - How to use React w/ jQuery and specifically to make Ajax requests 581 | - Project: 582 | - [react-tunes](https://github.com/ReactWeek/react-tunes) 583 | - Additional Reading: 584 | 585 | #### Day 3 - React III 586 | - Pre-Reading: 587 | - Mini Project: 588 | - [react-router](https://github.com/bsbeeks/react-day-3) 589 | - Learning Objectives 590 | - Understand the purpose and benefits of Flux 591 | - Understand how to architect a Flux app with the following 592 | - actions 593 | - stores 594 | - constants 595 | - dispatcher 596 | - components 597 | - Project: 598 | - [note-taker](https://github.com/ReactWeek/github-notetaker) 599 | - Additional Reading: 600 | 601 | #### Day 4 - Group Projects 602 | #### Day 5 - Group Projects 603 | 604 | ## Week 11 605 | #### Day 1 - Group Projects 606 | #### Day 2 - Group Projects 607 | #### Day 3 - Group Projects 608 | #### Day 4 - Group Projects 609 | #### Day 5 - Group Projects 610 | 611 | ## Week 12 612 | #### Day 1 - Group Projects 613 | #### Day 2 - Group Projects 614 | #### Day 3 - Group Projects 615 | #### Day 4 - Group Projects 616 | #### Day 5 - Group Projects 617 | 618 | ## Week 13 619 | #### Day 1 - Group Projects 620 | #### Day 2 - Group Prjects 621 | #### Day 3 - Job Prep I 622 | #### Day 4 - Job Prep II 623 | #### Day 5 - Job Prep III 624 | --------------------------------------------------------------------------------