Object Oriented Programming
Learning Experience Project
Most learn-to-code resources focus on syntax for a specific programming language. I wanted to take a different approach to focus on reusable code design patterns for any language.
OOP Fundamentals is a learning resource in the form of a website that guides a learner through the process of creating classes by progressing through the realms of a fantasy world -- without writing any code!






Video Instruction
The learner is introduced to each lesson of OOP Fundamentals with a video narrated by the pedagogical agent, Steve. Once the learner has viewed the learning material from the video, they have the opportunity to apply the knowledge with an interactive activity and take a quiz that tests their knowledge.
Gamified Learning
OOP Fundamentals presents the basics of object-oriented programming to the learner from the perspective of building a customizable character for a quest game. The learner has the opportunity to build their character using the principles leared in the module.
Try it yourself!
Learning Assessment
OOP Fundamentals presents the basics of object-oriented programming to the learner from the perspective of building a customizable character for a quest game. The learner has the opportunity to build their character using the principles leared in the module.
Try it yourself!
Learner Support
OOP Fundamentals presents the basics of object-oriented programming to the learner from the perspective of building a customizable character for a quest game. The learner has the opportunity to build their character using the principles leared in the module.
Try it yourself!
Class
A class in OOP is a template that describes one or more objects. It serves as a template for creating, or instantiating, specific objects within a program.
Object
An object is a specific instance of a class, containing values declared during the instantiation process.
Instantiate
The process of creating an instance of a class.
Encapsulation
A class encapsulates its data and protects it by declaring values inside the class, preventing unauthorized access to them