TheOdinProject / ruby_course

The Ruby course on The OdinProject

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Basics of Object Oriented Programming Lessons

KevinMulhern opened this issue · comments

commented

We are seeking people to take charge of coordinating the creation of these lessons. If you would like to fill take this role, please let us know by commenting on this issue with your desire take ownership of these lessons.

For each lesson, reply to this issue with:

  1. An Introduction for the lesson
    A brief summary about what the lesson is about and why the topics or concepts it teaches are important.

  2. Learning Outcomes
    A list of bullet points of what the student is expected to know or be able to do by the end of this lesson

  3. Content for the lesson
    Explanations of the main concepts in the lesson, include code snippets and easy to understand metaphors where applicable.

  4. Assignment
    Either a list of links to resources the user will go through to learn about the topic of this lesson more in depth. Have no more than 5 resources, ideally no more than three. Or an exercise the student should do to solidify their understanding of the lesson content.

  5. Additional Resources
    A list of links to other resources which are valuable and or complement the assignment resources. Link to no more than three additional resources to avoid this section becoming too cluttered.


List of lessons:

  • Why Object Oriented Programming - What OOP is and what problems it solves
  • Classes and Instances - Whats a class and instance and whats the difference between them
  • Methods in OOP - Instance methods, class methods and getter and setter methods
  • Inheritance - What is inheritance, what does it do.
  • Method scope- Public, protected and private methods
  • Modules - Whats a module, whats the difference between them and classes and what to use them for
  • Working with Collaborator Objects - How to get your objects to work together
  • Intermediate Enumerables - Intermediate enumerables, inject, max, sort etc
commented

Potential resource for the introduction lesson, comparing procedural to OOP https://neonbrand.com/website-design/procedural-programming-vs-object-oriented-programming-a-review/

Plus-One to @KevinMulhern comment ^^^

For the longest time i struggled because I didn't know what WASN'T OOP. A comparison will be very useful in showing the differences

Kevin , do you mean I have to use this resource?

commented

Hey @mariatikhonova , yeah its a resource that can be used in the assignment of that lesson. When I come across a resource I think can be used on these lessons I usually link them on issues so I can remember them 😄

commented

We're going to reopen this issue when this course is merged back into the curriculum repo (commit history will be preserved)