We may earn an affiliate commission when you visit our partners.
David Silver, Stephen Welch, and Andreas Haja

What's inside

Syllabus

Welcome
In this lesson, you will explore some of the basic object oriented functionality of the C++ language.
In this lesson, we'll get into some of the more advanced topics in object oriented programming, including inheritance, polymorphism and templates.
Read more
Time to build the project! In this lesson, you'll get the tools you need to build the project for this course, a system monitor application similar to htop!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Appeals to learners new to object-oriented programming, specifically in C++
Engages learners with an accessible introduction to OOP
Provides learners with hands-on experience building a system monitor application

Save this course

Save Object-Oriented Programming 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 Object-Oriented Programming with these activities:
Review Basic C++ Syntax
Brush up on the fundamentals of C++ syntax to ensure a solid foundation before starting the course.
Browse courses on C++ Syntax
Show steps
  • Review online tutorials or documentation on C++ syntax.
  • Complete practice exercises to test your understanding of syntax rules.
Follow Guided Tutorials on Object-Oriented Programming Concepts
Enhance your understanding of object-oriented programming principles through guided tutorials.
Browse courses on OOP Concepts
Show steps
  • Identify online tutorials or video courses on OOP concepts.
  • Follow the tutorials, taking notes and practicing the concepts.
  • Complete quizzes or exercises to assess your progress.
Attend a C++ Workshop or Hackathon
Immerse yourself in the C++ community and learn from experts and peers.
Show steps
  • Research and find C++ workshops or hackathons in your area.
  • Register and attend the event, actively participating in discussions and hands-on activities.
  • Network with other C++ enthusiasts and professionals.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Inheritance and Polymorphism Exercises
Reinforce your understanding of inheritance and polymorphism by solving practice problems.
Browse courses on Inheritance
Show steps
  • Find online coding exercises or platforms that focus on inheritance and polymorphism.
  • Solve the exercises, experimenting with different scenarios and debugging your code.
  • Review solutions and explanations to improve your understanding.
Design and Implement a Small C++ Project
Apply your knowledge by building a small C++ project that demonstrates your understanding of the concepts covered in the course.
Browse courses on Software Development
Show steps
  • Identify a problem or task that can be solved using C++.
  • Design and plan the project, including the classes, objects, and relationships.
  • Implement the project, testing and debugging your code.
  • Document your code and write a brief report on the project.
Volunteer as a C++ Mentor
Reinforce your understanding of C++ while helping others learn the language.
Browse courses on Mentoring
Show steps
  • Join online forums or communities dedicated to C++.
  • Offer your help to beginners or students who have questions or need guidance.
  • Share your knowledge and experience, fostering a supportive learning environment.
Contribute to an Open-Source C++ Project
Engage with the C++ open-source community and contribute to real-world projects.
Browse courses on Open Source
Show steps
  • Identify a C++ open-source project that aligns with your interests.
  • Review the project's documentation and codebase.
  • Identify an area where you can contribute, such as fixing bugs, adding features, or improving documentation.
  • Submit a pull request with your proposed changes.

Career center

Learners who complete Object-Oriented Programming will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply engineering principles to the design, development, and maintenance of software systems. They work with software developers, quality assurance (QA) engineers, and other engineers to ensure that software systems are reliable, efficient, and meet the needs of users. Software Engineers typically need a bachelor's degree in computer science or a related field, however this course may be helpful as a supplement to college-level study.
Data Analyst
Data Analysts collect, clean, and analyze data to help organizations make informed decisions. They work with data scientists, statisticians, and other professionals to develop data-driven solutions to business problems. Data Analysts typically need a bachelor's degree in statistics, mathematics, or a related field.
Database Administrator
Database Administrators are responsible for the installation, maintenance, and security of an organization's database systems. They work with database software and hardware to ensure that data is stored, organized, and retrieved efficiently. Database Administrators typically need a bachelor's degree in computer science or a related field, however this course may be helpful as a supplement to college-level study.
Web Developer
Web Developers design and create websites. They are responsible for the look and feel of a website, as well as its functionality. Web Developers typically need a bachelor's degree in computer science, web design, or a related field, however this course may be helpful as a supplement to college-level study.
Network Administrator
Network Administrators are responsible for the installation, maintenance, and security of an organization's computer networks. They work with network hardware and software to ensure that the network is running smoothly and efficiently. Network Administrators typically need a bachelor's degree in computer science, information technology, or a related field.
Information Security Analyst
Information Security Analysts protect an organization's computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. They work with other IT professionals to develop and implement security measures, such as firewalls, intrusion detection systems, and access control lists. Information Security Analysts typically need a bachelor's degree in computer science, information technology, or a related field.
Information Technology (IT) Manager
IT Managers plan, implement, and maintain an organization's computer systems and networks. They work with other IT professionals to ensure that the organization's technology is running smoothly and efficiently. IT Managers typically need a bachelor's degree in computer science, information technology, or a related field.
Computer Scientist
Computer Scientists research, design, and develop computer systems and applications. They work in a variety of industries, including software development, artificial intelligence, and data science. Computer Scientists typically need a master's or doctoral degree in computer science or a related field, however this course may be helpful as a supplement to college-level study.
Technical Writer
Technical Writers create instruction manuals, technical reports, and other documentation to explain complex technical information to a variety of audiences. They work with engineers, scientists, and other technical professionals to gather information and translate it into clear and concise language. Technical Writers typically need a bachelor's degree in English, technical writing, or a related field, however this course may be helpful as a supplement to college-level study.
Software Developer
Software Developers specialize in designing, installing, and maintaining software systems for an organization's computer networks. The work can involve research, development, programming, and testing in areas such as network and database administration, cloud and mobile computing, and systems integration. This course may be useful for this role, since building a strong foundation in object-oriented programming can help advance a career in software development.
Systems Analyst
Systems Analysts study an organization's current business processes and procedures and design solutions to help the organization operate more efficiently. They may also research, analyze, and recommend new software and hardware systems. Systems Analysts typically need a bachelor's degree in computer science, information systems, or a related field, however this course may be helpful as a supplement to college-level study.
User Experience (UX) Designer
UX Designers research, design, and test user interfaces for software systems and websites. They work with other designers, engineers, and product managers to ensure that user interfaces are user-friendly and efficient. UX Designers typically need a bachelor's degree in human-computer interaction, graphic design, or a related field.
Computer Programmer
Computer Programmers write and test code that allows computer applications and software programs to run. They work closely with software engineers, quality assurance (QA) engineers, and other programmers. Computer Programmers typically need a bachelor's degree in computer science or a related field, however this course may be helpful as a supplement to college-level study.
Computer Systems Analyst
Computer Systems Analysts study an organization's computer systems and procedures and design solutions to improve efficiency. They may also research, analyze, and recommend new software and hardware systems. Computer Systems Analysts typically need a bachelor's degree in computer science, information systems, or a related field.
Quality Assurance (QA) Engineer
QA Engineers test software systems to ensure that they meet the needs of users. They work with software developers and other engineers to identify and fix bugs. QA Engineers typically need a bachelor's degree in computer science, software engineering, or a related field.

Reading list

We've selected 11 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 Programming.
Is the definitive guide to design patterns. It covers all aspects of design patterns, from the basics to the most advanced patterns. It valuable resource for both beginners and experienced programmers.
Is the definitive reference for the C++ programming language. It was written by Bjarne Stroustrup, the creator of C++. It covers all aspects of the language, from the basics to the most advanced features.
Provides a comprehensive introduction to object-oriented design with C++. It covers all aspects of object-oriented design, from the basics to the most advanced patterns.
Provides a comprehensive introduction to concurrency in C++. It covers all aspects of concurrency, from the basics to the most advanced features. It valuable resource for both beginners and experienced programmers.
Comprehensive guide to C++ templates. It covers all aspects of templates, from the basics to the most advanced features. It valuable resource for both beginners and experienced programmers.
Provides a comprehensive introduction to object-oriented programming in C++. It covers the basics of object-oriented programming, such as classes, objects, inheritance, and polymorphism. It also covers more advanced topics, such as templates and the Standard Template Library (STL).
Comprehensive reference for the C++ programming language. It covers all aspects of the language, from the basics to the most advanced features. It valuable resource for both beginners and experienced programmers.
Provides a clear and concise introduction to object-oriented programming in C++. It covers the basics of object-oriented programming, such as classes, objects, inheritance, and polymorphism. It also covers more advanced topics, such as templates and the Standard Template Library (STL).
Provides a comprehensive introduction to C++ programming. It covers all aspects of the language, from the basics to the most advanced features. It valuable resource for both beginners and experienced programmers.
Fun and engaging introduction to C++. It uses a conversational style and plenty of examples to make learning C++ easy and enjoyable.

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 - 2024 OpenCourser