Closed abdulredd closed 5 days ago
Tagging in @AlecKap and @margdaly to review this lesson for the Polymorphism additions.
In an effort to generalize some of our lesson work so that it is more focused on programming concepts taught with Ruby, rather than being focused on Ruby (with some programming concepts thrown in), Abdul has updated this lesson to highlight polymorphism.
We would love your review on how this lesson teaches this concept:
In general I thought the lesson had a very approachable flow to it. I think the content made sense in the chronological order you all have it in.
I definitely think a mod1 student would benefit from this lesson. I feel that the content not only exposes the students some of the behind the scenes code, but also does a great job of reinforcing the main pillars of oop. I also think the activity is really helpful in providing directly applicable hands on experience.
I added specific comments on the areas of code I though could potentially use some clarification, but overall I found the examples useful and clear.
does the lesson flow make sense?
will a Mod1 student be able to pick up some knowledge of polymorphism?
are there any examples that don't make sense, or any examples you would add to this lesson?
@memcmahon ... Should we be keeping this lesson as Ruby Object Model? I have it currently named as Object-Oriented Programming, but we also have an individual lesson for Inheritance. I think calling this lesson The Lookup Chain may fit better, since all languages have it. Thoughts?
I went ahead and updated this lesson title. I think The Lookup Chain makes a lot of sense here, but please feel free to push back if you have other suggestions.
Curriculum PR Template
Does this PR close any issues?
This PR doesn't close any issues, it is a first draft for a redesign of the Ruby Object Model lesson with more of a focus on Polymorphism.
Description
There is already a dedicated lesson on Inheritance, but it is also mentioned in this lesson briefly as well. I didn't include Abstraction or Encapsulation in this lesson because I didn't see where it fit unless we want to rework this entire lesson to be more OOP focused.
What questions do you have/what do you want feedback on? (optional)
Any insight you have is appreciated. I would love to know if this is the direction we were thinking about taking this lesson. Also, should this class be renamed to Polymorphism, similar to how the Inheritance class is named. We could also call is Look Up Chain, or something along those lines. Calling is Object-Oriented Programming might be a stretch since we only touch on Polymorphism.
Also, I did not overwrite the previous Ruby Object Model lesson, I just copied the original and made changes to is and renamed the file to
ruby_object_model_poly.md
.I also forked off of my
class_methods
branch so that code also came along in this PR. Sorry about that. It might be better to just spin up the Jekyll server and view the page online. Thanks again.