We may earn an affiliate commission when you visit our partners.
Take this course
Kevin Noelsaint, Anh Le, and Elise Deitrick

Code and run your first C++ program in minutes without installing anything!

This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended.

Read more

Code and run your first C++ program in minutes without installing anything!

This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics that can be transferred to other languages. The modules in this course cover inheritance, encapsulation, polymorphism, and other object-related topics. Completion of the prior 3 courses in this specialization is recommended.

To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and runnable code examples with suggested edits to explore code examples further, building a deeper understanding by doing. You'll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling code blocks) to small, approachable coding exercises that take minutes instead of hours.

Enroll now

What's inside

Syllabus

Encapsulation
Welcome to Week 1 of the Object-Oriented C++: Inheritance and Encapsulation course. These assignments cover encapsulation, or the bundling of related functions and data related to an object within it's class. The module ends with a lab and graded coding exercises.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Taught by Kevin Noelsaint, Elise Deitrick, and Anh Le, who have extensive experience in both academics and technology
Provides an in-depth understanding of not only C++ but also core Computer Science concepts
Offers self-paced learning with plenty of opportunities to practice coding, including multiple-choice questions, fill-in-the-blank exercises, and coding exercises
Covers encapsulation, inheritance, polymorphism, and other object-related topics, which are important concepts in object-oriented programming
Does not require students to install anything, making it accessible to learners with limited resources
Expects learners to have some prior coding experience and recommends completing earlier courses on C++

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on c++ oop for solid foundations

According to students, this course provides a highly effective and hands-on approach to Object-Oriented C++. Learners consistently praise the clarity and conciseness of explanations for OOP concepts, making them easy to grasp. The practical coding exercises and labs are a major strength, offering instant feedback. It's largely considered well-suited for beginners and intermediate learners. One older review, however, cited confusing content and non-functional code examples, struggling as a novice. Yet, more recent feedback is overwhelmingly positive, suggesting the course has either improved or that experience was an outlier. The video-free, self-paced format supports active learning.
Well-suited for beginners and solidifying OOP skills.
"It is great for learning OOP from scratch, even with limited prior coding experience, as the course builds up well."
"This course provides a solid foundation for those looking to understand C++ object-oriented programming."
"Despite limited coding experience, I found the clear explanations and exercises helped me grasp complex OOP concepts."
Complex OOP concepts are explained clearly and concisely.
"The instructor did a great job explaining concepts very clearly, making even difficult topics easy to grasp."
"I found the explanations concise and easy to understand, which is crucial for foundational topics like OOP."
"Concepts are very clear and helpful, providing a solid foundation for C++ and transferable CS topics."
Emphasizes hands-on coding and immediate feedback.
"The hands-on coding and practical examples are the strongest part of the course for me, they really solidify understanding."
"I enjoyed the labs and graded coding exercises; they were challenging but very rewarding and helped me learn by doing."
"The practical examples helped in making the concepts clear and I got instant feedback, which was great for learning."
Early reviews found it confusing; recent ones praise its clarity.
"I found some of the code examples provided in the course are not working, which made it very difficult to follow along."
"The concepts were confusing and the course content is not really for beginners, I struggled a lot."
"I successfully completed the course, finding the explanations clear and the exercises functional and highly beneficial."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Object-Oriented C++: Inheritance and Encapsulation with these activities:
Practice Essential C++ Syntax
Refresh your C++ skills before starting the course to ensure a stronger foundation
Browse courses on C++
Show steps
  • Review basic C++ syntax and data structures
  • Practice writing simple C++ programs
Comprehend Object-Oriented Concepts
Review object-oriented concepts, strengthening your foundation for this course
Show steps
  • Revisit the principles of object-oriented programming
  • Explore different object-oriented design patterns
  • Apply your understanding by designing and implementing a simple object-oriented system
Attend C++ Workshop for Enhanced Skills
Enhance your C++ proficiency through a hands-on workshop experience
Show steps
  • Locate and register for relevant C++ workshop events
  • Attend the workshop and actively participate in exercises and discussions
  • Network with other participants and industry experts
Six other activities
Expand to see all activities and additional details
Show all nine activities
Practice Creating Encapsulation Methods
Review encapsulation by practicing creating encapsulation methods to solidify understanding
Browse courses on Encapsulation
Show steps
  • Review the definition of encapsulation
  • Examine examples of encapsulation in provided code
  • Create your own functions to encapsulate data and methods
  • Test your functions through runnable code examples
Explore C++ Inheritance in Tutorials
Solidify your inheritance understanding by engaging in guided tutorials
Browse courses on Inheritance
Show steps
  • Find and review tutorials on C++ inheritance
  • Follow along with examples provided in tutorials
  • Implement inheritance principles in your own code
C++ Project: Create a Simple Class Hierarchy
Apply your understanding to a hands-on project involving polymorphism
Browse courses on Polymorphism
Show steps
  • Design a simple class hierarchy with base and derived classes
  • Implement polymorphism through function overriding and method overloading
  • Test your project to demonstrate polymorphic behavior
Complete a Personal C++ Project
Apply your learning by embarking on a personal C++ project
Show steps
  • Identify a project idea that aligns with your interests and course objectives
  • Design and implement the project using C++ principles and techniques
  • Test and debug your project to ensure its functionality
  • Document your project, including project rationale, design decisions, and implementation details
Solve Advanced C++ Coding Exercises
Challenge your C++ skills and deepen your understanding
Browse courses on C++
Show steps
  • Find and attempt advanced C++ coding exercises
  • Implement solutions using advanced C++ concepts and techniques
  • Review your solutions and identify areas for improvement
Organize and Review Course Materials
Ensure success by organizing and thoroughly reviewing course materials
Show steps
  • Compile notes, assignments, quizzes, and exams
  • Review and reinforce your understanding of key concepts
  • Seek clarification on any topics that need further explanation

Career center

Learners who complete Object-Oriented C++: Inheritance and Encapsulation will develop knowledge and skills that may be useful to these careers:
Game Developer
Game Developers design, develop, and maintain video games. The Object-Oriented C++: Inheritance and Encapsulation course can provide Game Developers with a strong foundation in object-oriented programming. This will enable them to work with complex game engines and create more immersive and engaging games.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. The Object-Oriented C++: Inheritance and Encapsulation course can provide Data Scientists with a strong foundation in object-oriented programming. This will enable them to work with complex data structures and algorithms more efficiently.
Software Engineer
Software Engineers apply engineering principles to the design, development, implementation, and management of software systems. The Object-Oriented C++: Inheritance and Encapsulation course will help Software Engineers to strengthen their understanding of object-oriented programming and learn how to apply these concepts in software development.
Computer Scientist
Computer Scientists leverage their expertise in computer theory and problem-solving to solve complex challenges. The Object-Oriented C++: Inheritance and Encapsulation course can serve as a useful resource for Computer Scientists. By learning the fundamentals of object-oriented programming, including encapsulation, inheritance, and polymorphism, Computer Scientists can expand their skillset and potentially develop innovative solutions to problems.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for ensuring that software products meet the required standards of quality. The Object-Oriented C++: Inheritance and Encapsulation course will provide Quality Assurance Analysts with a better understanding of object-oriented programming principles. This will enable them to test code more effectively and identify potential defects.
Software Tester
Software Testers are responsible for testing software to ensure that it meets the required standards of quality. The Object-Oriented C++: Inheritance and Encapsulation course will provide Software Testers with a better understanding of object-oriented programming principles. This will enable them to test code more effectively and identify potential defects.
Software Developer
Software Developers are responsible for the design, development, and maintenance of software applications. The Object-Oriented C++: Inheritance and Encapsulation course will provide learners with a solid foundation in C++, a popular programming language used by many Software Developers. Through the course, learners will gain a better understanding of object-oriented programming concepts, such as encapsulation, inheritance, and polymorphism.
Applications Developer
Applications Developers use their coding skills to create and maintain computer programs, usually in a specific area of knowledge. By enrolling in the Object-Oriented C++: Inheritance and Encapsulation course, Applications Developers can enhance their knowledge of object-oriented programming principles. This will provide them with the skills to work with complex systems and write modular and flexible code.
Embedded Systems Engineer
Embedded Systems Engineers design and develop electronic systems that are embedded in larger mechanical or electrical systems. The Object-Oriented C++: Inheritance and Encapsulation course will provide Embedded Systems Engineers with a solid understanding of how to use object-oriented programming to create efficient and reliable embedded systems.
Systems Analyst
Systems Analysts work with businesses to analyze their needs and design and implement systems to meet those needs. The Object-Oriented C++: Inheritance and Encapsulation course can provide Systems Analysts with a better understanding of how object-oriented programming can be used to develop efficient and effective systems.
IT Project Manager
IT Project Managers oversee the planning, implementation, and execution of information technology projects. The Object-Oriented C++: Inheritance and Encapsulation course will provide IT Project Managers with a better understanding of the technical aspects of software development. This will enable them to make informed decisions and manage projects more effectively.
Network Administrator
Network Administrators are responsible for the management and maintenance of computer networks. The Object-Oriented C++: Inheritance and Encapsulation course can provide Network Administrators with a better understanding of how object-oriented programming can be used to design and implement network systems.
Database Administrator
Database Administrators are responsible for the management and maintenance of databases. The Object-Oriented C++: Inheritance and Encapsulation course can help Database Administrators to gain a better understanding of how object-oriented programming can be used to design and implement database systems.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites. The Object-Oriented C++: Inheritance and Encapsulation course can be useful for Web Developers who want to gain a deeper understanding of object-oriented programming in C++. This knowledge will help them to build more robust and scalable web applications.
Computer Programmer
Computer Programmers design, develop, test, and maintain different types of applications and computer programs. Taking the Object-Oriented C++: Inheritance and Encapsulation course can be useful for people working as or aiming to work as Computer Programmers. The course will help learners to understand the fundamentals of object-oriented programming, including encapsulation, inheritance, and polymorphism.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Object-Oriented C++: Inheritance and Encapsulation.
Comprehensive reference for C++ programming. It covers a wide range of topics, including object-oriented programming concepts. It valuable resource for those who want a deep understanding of the language.
Provides a comprehensive reference for the C++ standard library. It covers a variety of topics, including object-oriented programming concepts and best practices. It valuable resource for those who want to learn more about this important topic.
Provides a comprehensive overview of effective modern C++ programming techniques. It covers a variety of topics, including object-oriented programming concepts and best practices. It valuable resource for those who want to learn more about this important topic.
Fast-paced introduction to C++ that covers object-oriented programming concepts. It good choice for those who want a more in-depth understanding of the language.
Provides a comprehensive overview of C++ concurrency. It covers a variety of topics, including object-oriented programming techniques for concurrent programming. It valuable resource for those who want to learn more about this important topic.
Covers the fundamentals of object-oriented programming in C++, including encapsulation, inheritance, and polymorphism. It useful reference for understanding the concepts covered in the course.
Provides a comprehensive overview of C++ network programming. It covers a variety of topics, including object-oriented programming techniques for network programming. It valuable resource for those who want to learn more about this important topic.
Provides a comprehensive overview of C++ programming, including object-oriented programming concepts. It valuable resource for understanding the broader context of the topics covered in the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser