Git Product home page Git Product logo

immersive-module-one-mini-mock-challenge-london-web-career-021819's Introduction

Mini Mock Code Challenge

The topics covered in each module build upon the topics covered in the last. For example, in Module 2 you will learn about the Ruby on Rails framework. To build an application in Rails one should have a solid foundation in Ruby. In Module 3, covering JavaScript, you will continue to use Rails as a backend and build upon the foundations of how web applications work covered in Module 2. Learning React in Module 4 will require understanding of both functional and object oriented JavaScript.

But we're getting ahead of ourselves...

We understand that the idea of the Code Challenges can be stressful. We're not trying to unduly stress you out, we swear. So what's the point?

What's the point?

Flatiron did not always have this structure of modules and code challenges. One problem of that previous structure was that because of the way the course builds upon the previous material, if a student ever got behind during a particular week, as the class continued on to the next week and then the next, it became impossible for a student to catch up. In the end, some students had to essentially re-do large sections of the curriculum after the course was over with more limited instructor support and without the daily classroom structure. This is much more difficult and ultimately takes many more weeks than if there was the opportunity for a student to pause, focus on the current material and shore up any misundersrandings, and then proceed.

The utility of the challenges is that they provide a built-in moment to review the major topics covered in the current unit. When the code from a challenge is being looked at by instructors, they are looking for indicators of understanding of the main principles taught in the module. The guiding idea is:

  • Will this student be successful moving forward into the next module?

The point of a code challenge is NOT to:

  • Stump students with a trick question
  • 'Grade' the results in the sense of '-3 points here, which means this student has received an 82%'
  • Penalize for every small mistake. Having functioning code will make your job significantly easier as you complete the challenge because you will be able to run and test your work. Having said that, if there is one feature that you couldn't get working and it is apparent from your work that you were attempting to do the right thing but made a small syntax error somewhere, the instructors may still be able to determine that you demonstrated your understanding of the material.

Mock Challenge

Do not expect every module to have a mock version of the code challenge. We are providing an example for the first module only as a way to familiarize you with the feel and structure of our code challenges. We want to remove some of the stress leading up to the first code challenge so that the results can be more indicative of what you have learned and less about how you may handle 'exam stress'. Generally, we are careful not to 'teach to the test' and while we will be able to indicate what are the main areas to focus on we will not provide an example version of the code challenge

The information below is what you might expect to see when taking a new code challenge. One point of note is that the code challenges will not have tests. This is intentional. It is really important to practice writing and running code outside of the framework of the labs and tests.

Topics

  • Classes and Instances
  • Object Relationships
  • Single Source of Truth
  • Array methods
  • Class methods

Notes

You will be building out an application that can track Authors and Books. For our purposes, assume that all books are written by one-- and only one-- author. Your goal is to build out all of the methods listed below in the deliverables. Do your best to follow Ruby best practices. For example, use higher-level array methods such as map, select, and find when appropriate in place of each. Be sure to consider whether your implementation reflects the principle of Single Source of Truth.

We've provided you with a console that you can use to test your code. To enter a console session, run ruby console.rb. You'll be able to test out the methods that you write here.

Deliverables

Book

Build the following methods on the Book class

  • Book.all should return all of the books
  • Book#author should return the author instance who wrote this book
  • Book#title should return the title of the book
  • Book#word_count should return the number of words in the book

Author

Build the following methods on the Author class

  • Author.all should return all of the authors
  • Author#books should return all of the books an author has written
  • Author#write_book should take arguments of a title and word count and make a new Book instance associated with this author
  • Author#total_words should return the total number of words that author has written across all of their authored books.
  • Author.most_words should return the author instance who has written the most words

immersive-module-one-mini-mock-challenge-london-web-career-021819's People

Contributors

rrcobb avatar alexgriff avatar maxwellbenton avatar

Watchers

James Cloos avatar  avatar Mohawk Greene avatar Victoria Thevenot avatar Bernard Mordan avatar Otha avatar raza jafri avatar  avatar Joe Cardarelli avatar The Learn Team avatar  avatar  avatar Matt avatar Antoin avatar  avatar  avatar  avatar Amanda D'Avria avatar  avatar Ahmed avatar Nicole Kroese  avatar Kaeland Chatman avatar Lisa Jiang avatar Vicki Aubin avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.