- Recognize a class structure and be able to identify the instance variables and methods
- Explain how the instance variables and methods represent the characteristics and actions of an object respectively.
- Infer a class structure from driver test code
- Create, access and traverse nested arrays and understand how they can model a real world object like a board
- Understand the difference between procedural and object oriented programming and how to convert from one to the other
- See an object in the real world (say a pez dispenser) and have an idea of how to represent it as a ruby object
- Recognize a user story and be able to translate it into driver code
- Comfortably write driver code to access and manipulate a ruby object
- Understand that there are tradeoffs and costs/benefits to using different ways of structuring the objects in a program
- Give feedback on your previous pairing partner if you haven't yet. Use Feedbackinator.
- Take part in at least 1 pairing session without a teacher guiding
- Creating a PezDispenser Class
- A Nested Array to Model a Boggle Board
- Creating a BoggleBoard Class
- Debugging The Drawer
For each challenge:
- Formulate pseudocode before solving the problem (include it as a comment when appropriate).
- Write good test code that includes an expectation and an output. (eg
puts car.doors #=> prints the number 4
) - Refactor each solution so the names are clear and the code is concise and D.R.Y. (Don’t Repeat Yourself). Your methods should be short and have a single responsibility. Make sure your naming accurately denotes that responsibility.
- Reflect on your process and understanding (see section below). Include your reflection as comments in your solution.