We may earn an affiliate commission when you visit our partners.
Course image
edX logo

C++ Programming

Object-Oriented Design

Anh Le

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

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 2 courses in this program 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.

What's inside

Learning objectives

  • How to architect larger programs using object-oriented principles
  • Re-use parts of classes using inheritance
  • Encapsulate relevant information and methods in a class

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches foundational computer science knowledge
Builds a strong foundation for learners with limited coding experience
Provides hands-on learning experience without installing anything
Covers core object-oriented programming concepts such as inheritance and encapsulation
Enhances code understanding through runnable code examples and suggested edits
Assesses learning through various approaches, transitioning from multiple choice questions to coding exercises

Save this course

Save C++ Programming: Object-Oriented Design to your list so you can find it easily later:
Save

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 C++ Programming: Object-Oriented Design with these activities:
Read 'Object-Oriented Programming in C++' by Robert Lafore
Provide a foundational understanding of object-oriented programming concepts and their application in C++.
Show steps
  • Read the book thoroughly.
  • Take notes and highlight key concepts.
  • Complete the practice exercises.
Gather resources on object-oriented programming
Provide a comprehensive collection of resources that can supplement your learning in this course and beyond.
Show steps
  • Search for online tutorials, articles, and videos on object-oriented programming.
  • Organize the resources into a document or folder.
  • Review the resources and make notes.
Join a study group or online forum for C++
Allow you to connect with other learners, discuss concepts, and get support.
Browse courses on C++ Programming
Show steps
  • Find a study group or online forum for C++.
  • Introduce yourself and participate in discussions.
  • Ask questions and share your knowledge.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice inheritance and encapsulation
Help you understand the concepts of inheritance and encapsulation better by practicing writing code that utilizes these features.
Browse courses on Inheritance
Show steps
  • Create a base class with some properties and methods.
  • Create a derived class that inherits from the base class.
  • Override some methods in the derived class.
Watch tutorials on polymorphism
Provide a deeper understanding of polymorphism and how it can be used in C++.
Browse courses on Polymorphism
Show steps
  • Find a tutorial on polymorphism for C++.
  • Watch the tutorial and take notes.
  • Try out the examples in the tutorial.
Build a small C++ program using inheritance and polymorphism
Help you apply the concepts of inheritance and polymorphism in a practical setting and reinforce your understanding.
Browse courses on Inheritance
Show steps
  • Design the classes and their relationships.
  • Implement the classes and their methods.
  • Test your program.
Contribute to an open-source C++ project
Provide an opportunity to apply your skills, learn from others, and make a contribution to the open-source community.
Browse courses on C++ Programming
Show steps
  • Find an open-source C++ project to contribute to.
  • Read the project's documentation and codebase.
  • Identify an area where you can contribute.
  • Make a pull request with your changes.

Career center

Learners who complete C++ Programming: Object-Oriented Design will develop knowledge and skills that may be useful to these careers:
Data Scientist
A Data Scientist analyzes data to extract insights and build predictive models. This course may be useful for learning about object-oriented programming concepts that are commonly used in data science. By understanding these concepts, you can build a foundation for success in this role.
Machine Learning Engineer
A Machine Learning Engineer develops and deploys machine learning models. This course may be useful for learning about object-oriented programming concepts that are commonly used in machine learning. By understanding these concepts, you can build a foundation for success in this role.
Software Engineer
A Software Engineer designs, builds, tests, and maintains software applications and systems. This course may be useful for learning about object-oriented programming concepts that are commonly used in software development. By understanding these concepts, you can build a foundation for success in this role.
Database Administrator
A Database Administrator manages and maintains databases. This course may be useful for learning about object-oriented programming concepts that are commonly used in database administration. By understanding these concepts, you can build a foundation for success in this role.
Web Developer
A Web Developer designs and develops websites and web applications. This course may be useful for learning about object-oriented programming concepts that are commonly used in web development. By understanding these concepts, you can build a foundation for success in this role.
Game Developer
A Game Developer designs and develops video games. This course may be useful for learning about object-oriented programming concepts that are commonly used in game development. By understanding these concepts, you can build a foundation for success in this role.
Technical Writer
A Technical Writer writes technical documentation, such as user manuals and software documentation. This course may be useful for learning about object-oriented programming concepts that are commonly used in technical writing. By understanding these concepts, you can build a foundation for success in this role.
Information Technology Manager
An Information Technology Manager plans and manages the information technology needs of an organization. This course may be useful for learning about object-oriented programming concepts that are commonly used in information technology management. By understanding these concepts, you can build a foundation for success in this role.
Systems Analyst
A Systems Analyst analyzes and designs computer systems. This course may be useful for learning about object-oriented programming concepts that are commonly used in systems analysis. By understanding these concepts, you can build a foundation for success in this role.
Software Architect
A Software Architect designs and develops the overall architecture of software systems. This course may be useful for learning about object-oriented programming concepts that are commonly used in software architecture. By understanding these concepts, you can build a foundation for success in this role.
Computer Programmer
A Computer Programmer writes and maintains computer code. This course may be useful for learning about object-oriented programming concepts that are commonly used in computer programming. By understanding these concepts, you can build a foundation for success in this role.
Computer Science Teacher
A Computer Science Teacher teaches computer science to students. This course may be useful for learning about object-oriented programming concepts that are commonly taught in computer science classes. By understanding these concepts, you can build a foundation for success in this role.
Mobile App Developer
A Mobile App Developer designs and develops mobile applications. This course may be useful for learning about object-oriented programming concepts that are commonly used in mobile app development. By understanding these concepts, you can build a foundation for success in this role.
Computer Systems Analyst
A Computer Systems Analyst analyzes and designs computer systems. This course may be useful for learning about object-oriented programming concepts that are commonly used in computer systems analysis. By understanding these concepts, you can build a foundation for success in this role.
Software Quality Assurance Analyst
A Software Quality Assurance Analyst tests and evaluates software to ensure that it meets quality standards. This course may be useful for learning about object-oriented programming concepts that are commonly used in software quality assurance. By understanding these concepts, you can build a foundation for success in this role.

Reading list

We've selected eight 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 C++ Programming: Object-Oriented Design.
Comprehensive guide to object-oriented programming in C++. It covers all the essential concepts of OOP, including classes, objects, inheritance, polymorphism, and more.
Classic introduction to the C++ programming language. It covers all the essential topics, from basic syntax to advanced features like templates and exception handling.
Is the definitive guide to design patterns. It covers 23 classic design patterns in detail, and provides a lot of insight into how to use them effectively.
Comprehensive guide to software construction. It covers all the essential topics, from planning and design to testing and maintenance.
Classic essay on software engineering. It discusses the challenges of building large software systems, and offers some timeless advice.

Share

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

Similar courses

Here are nine courses similar to C++ Programming: Object-Oriented Design.
Java Programming: Object-Oriented Design
Most relevant
Python Programming: Object-Oriented Design
Most relevant
Object-Oriented C++: Inheritance and Encapsulation
Most relevant
Object-Oriented Java: Inheritance and Encapsulation
Most relevant
Object-Oriented Python: Inheritance and Encapsulation
Most relevant
C++ Programming: Basic Skills
Most relevant
C++ Programming: Intermediate Concepts
Most relevant
C++ in Aerospace Simulations
Most relevant
C++ Basic Structures: Vectors, Pointers, Strings, and...
Most relevant
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 - 2024 OpenCourser