To prepare for Module 4, please complete & submit the following before 12 noon Sunday, the day before the inning begins. This will allow instructors time to review and provide feedback.
Submit all links here.
1. Reflection on Learning Experiences
Complete this exercise to reflect on your learning experience thus far here at Turing.
Submit: Link to gist.
2. Number Guesser
Complete phases 1-3 of Number Guesser. You can use jQuery for this.
On a branch called
Submit: Link to Number Guesser Repo AND GitHub Pages deployment link. Make sure this includes the
Submit: Nothing. But you should still do it.
4. Sorting Suite
Submit: Link to repo for Sorting Suite.
Tips for JS success
Suggested resources to utilize:
- Data Types, Variables, Conditionals, Function Basics
- Function Fundamentals, Variable Scope, Loops, Arrays
- Objects, This, Data Structures
- Array Prototype Methods
- ES6, Webpack Tutorial
- Array Cardio Days 1
- Array Cardio Day 2
- Objects and Arrays
- Tally String Times with Reduce
Some biggies if you’re coming from Ruby:
- Methods are called Functions
- You should know the difference between
null; JS does not have a
nillike Ruby does
requireing a file you’ve written does nothing if you didn’t export from that file
return, your return value will be
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.
- Chapter 3 (Eloquent): Functions
- Chapter 5 (Eloquent): Higher Order Functions
- Chapter 6: (Eloquent) The Secret Life of Objects
All you need to know about importing and exporting files
- Review solutions by 5 other people for the same exercises, and compare your solution to theirs
Then select and complete one of the sections below.
Work through at least two of the following courses:
Work through Bocoup’s jQuery 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:
- 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?
- 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?