To prepare for Module 4 we’d like for you to complete the following before 9 AM Monday (the first day of M4).
1. Reflection on Learning Experiences
Complete this exercise to reflect on your learning experience thus far here at Turing.
- Data Types, Variables, Conditionals, Function Basics
- Function Fundamentals, Variable Scope, Loops, Arrays
- Objects, This, Data Structures
- Array Prototype Methods
- Array Cardio Days 1
- Array Cardio Day 2
- Objects and Arrays
- Tally String Times with Reduce
- Feel free to choose a few more that look interesting to you! They are all great resources, we just think the 4 above are most relevant to what you need to start Mod 4.
- Code along as you follow the videos and copy and paste the code into a gist (one gist is fine; separate each video with a comment)
4. ES5 vs. ES6
5. Sorting Suite
6. DOM Manipulation Challenges
Clone down both of the repos and complete steps laid out in the README. You will need to create a repo for each and push your work to it to submit.
7. Submit your work.
Send your instructors all your links to any gists or repos that you may have created or have to show off.
Tips for JS success
Some biggies if you’re coming from Ruby:
- Methods are called Functions
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?