Optional Work

Optional Work

All of these things were at one time part of the intermission week work. We’ve retooled the module, and are focused on getting you coding during intermission week. However, there’s some good resources below if you want to pick and choose the things that seem interesting to you.

Suggested resources to utilize:

JavaScript 30:

  • Array Cardio Days 1
  • Array Cardio Day 2
  • Objects and Arrays
  • Tally String Times with Reduce

Introduction to JavaScript Topics Reading

Read the following selections from Speaking JavaScript & Eloquent JavaScript:

Then finish it all with JavaScript Garden.

All you need to know about importing and exporting files

ES6 import, export, default cheatsheet

Exercisms

  • Complete 5 of your own completed exercism.io exercises in JavaScript
  • Review solutions by 5 other people for the same exercises, and compare your solution to theirs

If you have trouble with the exercism UI, you can find other versions of exercisms you submitted at this link:http://exercism.io/tracks/javascript/exercises

Extensions

Then select and complete one of the sections below.

NodeSchool.io

Work through at least two of the following courses:

jQuery Fundamentals

Work through Bocoup’s jQuery Fundamentals.

CSS Fundamentals

Scaling Up as a Developer

As we move into the final module of Turing, we’re getting fairly competent at producing useful software. But rather than being the end of the journey, this really just opens the door to even deeper rabbit holes—now that I can get something done, what other ways might there be to accomplish the same thing? The same observable effects could be accomplished via numerous different combinations of code. What are the underlying opinions and ideas embodied by each choice?

Read: Sandi Metz’ Rules For Developers (10 minutes)

  • Which of Sandi’s rules do you feel like might be the hardest to follow—why?

Listen: Shop Talk: Tom Dale (1.5 hours)

  • Do you agree with Tom? What parts of his argument are compelling? What parts do you disagree with?

Here are are a few more “philosophical” materials to hopefully help us contemplate this side of the issue:

  • Execution in the Kingdom of Nouns by Steve Yegge - You’ve been doing object-oriented programming for almost 6 months now. What are some of the limitations imposed by this approach? How do Ruby and/or Javascript capture the benefits of OO while avoiding some of the pitfalls?
  • Simplicity Matters by Rich Hickey - As we move into working on larger and more sophisticated systems, some of the approaches that have worked on smaller projects may no longer be so effective. What does Rich Hickey say about the common pitfalls of Ruby and Rails applications?
  • The Birth and Death of Javascript by Gary Bernhardt - This talk takes a tongue-in-cheek tone, but the concepts discussed are very topical. What does Bernhardt suggest about the role of Javascript in shaping the modern web?
  • Real Software Engineering by Glenn Vanderburg - What does Glenn have to say about Software Engineering as a discipline? How does Software Engineering differ fundamentally from other Engineering disciplines? What can we as Software Engineers take away from other disciplines?