We may earn an affiliate commission when you visit our partners.
Course image
Anh Le and Elise Deitrick

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 functions, recursion, objects, and mutability. Completion of the prior 2 courses in this specialization are 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

User-Defined Functions
Welcome to Week 1 of the C++ Object Basics: Functions, Recursion, and Objects course. These assignments cover re-using pieces of code by wrapping them in functions. You can create functions that take in and/or return data. The module ends with a lab and graded coding exercises.
Read more
Recursion
Welcome to Week 2 of the C++ Object Basics: Functions, Recursion, and Objects course. These assignments cover creating recursive functions and identifying when recursion can be used instead of traditional iteration. The module ends with a lab and graded coding exercises.
Introduction to Objects
Welcome to Week 3 of the C++ Object Basics: Functions, Recursion, and Objects course. These assignments cover creating user-defined classes and how to instantiate an object based on these classes. The module ends with a lab and graded coding exercises.
Mutability
Welcome to Week 4 of the C++ Object Basics: Functions, Recursion, and Objects course. These assignments cover changing attributes associated with an object through funtions. The module ends with a lab and graded coding exercises.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Designed for beginners with no or limited coding experience
Provides a solid foundation in not just C++, but core Computer Science topics that can be transferred to other languages
Delivers comprehensive coverage of functions, recursion, objects, and mutability
Employs an innovative video-free approach, allowing for a truly hands-on, self-paced learning experience
Provides instant feedback through various assessment items, gently progressing from quick understanding checks to approachable coding exercises
Prerequisites include completion of the prior 2 courses in this Specialization

Save this course

Save C++ Object Basics: Functions, Recursion, and Objects to your list so you can find it easily later:
Save

Reviews summary

Well-received c++ basics

Learners largely praise the engaging content and applicable examples. The course caters well to beginners and helps them understand the basics of C++. Reviewers mention that the labs have some errors that should be addressed, but they otherwise appreciate the course's practical approach.
The course includes applicable examples.
"G​reat pace and greatly applicable examples and exercises"
"very good course to understand various functions and other working things in c++"
Course is great for beginners.
"This course caters very well for those people who have little or no knowledge of object-oriented programming."
"It is a great introductory course."
"It would give you the best knowledge about the basics of objects , functions , recursions in c++"
The labs have some errors.
"It's a decent course, but the labs are in desperate need of proofreading."
"There are numerous spelling errors and even some programming errors that bring down the quality of the course."

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++ Object Basics: Functions, Recursion, and Objects with these activities:
Read 'The C++ Programming Language' by Bjarne Stroustrup
Written by the creator of C++, this book provides a comprehensive and in-depth understanding of the language's core concepts.
View Programming on Amazon
Show steps
  • Obtain a copy of 'The C++ Programming Language'
  • Read through the chapters relevant to the course
  • Take notes and highlight important concepts
Review Basic C++ Syntax
Before diving into advanced concepts, it's beneficial to refresh your understanding of basic C++ syntax.
Browse courses on Syntax
Show steps
  • Go through online C++ syntax tutorials
  • Review examples of C++ code
  • Write simple C++ programs to practice syntax
Join a C++ Study Group
Engaging with peers in a study group can enhance your learning experience and provide support.
Show steps
  • Find a C++ study group online or in your community
  • Attend study sessions regularly
  • Participate in discussions and ask questions
Three other activities
Expand to see all activities and additional details
Show all six activities
Practice Writing Functions
Writing functions is a core skill in C++. Practice writing functions to reinforce your understanding of their syntax and usage.
Browse courses on Functions
Show steps
  • Review the syntax of functions in C++
  • Write a simple function to print a message
  • Create a function that takes arguments and returns a value
Learn about Recursion in C++
Recursion is a powerful technique in programming. Explore tutorials to gain a deeper understanding of recursion and how it can be applied in C++.
Browse courses on Recursion
Show steps
  • Find online tutorials on recursion in C++
  • Follow the tutorials and try out the examples
  • Write your own recursive functions to solve problems
Build a Simple Object-Oriented Program
Creating an object-oriented program will help you grasp the concepts of classes, objects, and encapsulation in C++.
Show steps
  • Design a simple object-oriented program
  • Implement the program in C++
  • Test and debug your program

Career center

Learners who complete C++ Object Basics: Functions, Recursion, and Objects will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers design, build, and maintain software applications. They use their knowledge of programming languages and software development tools to create efficient and user-friendly software. This course can help aspiring Software Engineers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Computer Programmer
Computer Programmers write and maintain the code that makes computers and software work. They use their knowledge of programming languages and software development tools to create efficient and reliable software. This course can help aspiring Computer Programmers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Web Developer
Web Developers design and develop websites and web applications. They use their knowledge of programming languages and web development tools to create user-friendly and visually appealing websites. This course can help aspiring Web Developers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Data Scientist
Data Scientists use their knowledge of mathematics, statistics, and programming to extract insights from data. They use their skills to help businesses make better decisions and improve their operations. This course can help aspiring Data Scientists develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models that can learn from data and make predictions. They use their knowledge of mathematics, statistics, and programming to create accurate and efficient models. This course can help aspiring Machine Learning Engineers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design and develop artificial intelligence systems that can perform tasks that typically require human intelligence. They use their knowledge of mathematics, statistics, and programming to create intelligent systems that can learn, adapt, and reason. This course can help aspiring Artificial Intelligence Engineers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Robotics Engineer
Robotics Engineers design and develop robots that can perform tasks that are difficult or dangerous for humans to perform. They use their knowledge of mathematics, physics, and programming to create robots that are efficient, reliable, and safe. This course can help aspiring Robotics Engineers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Game Developer
Game Developers design and develop video games. They use their knowledge of programming languages and game development tools to create entertaining and engaging games. This course can help aspiring Game Developers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Information Security Analyst
Information Security Analysts design and implement security measures to protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. They use their knowledge of computer security principles and tools to protect sensitive data and systems. This course can help aspiring Information Security Analysts develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Database Administrator
Database Administrators design, implement, and maintain databases. They use their knowledge of database management systems and tools to ensure that databases are reliable, efficient, and secure. This course can help aspiring Database Administrators develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Systems Analyst
Systems Analysts design and implement computer systems. They use their knowledge of business processes and information technology to create systems that meet the needs of businesses. This course can help aspiring Systems Analysts develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Business Analyst
Business Analysts analyze business processes and systems to identify areas for improvement. They use their knowledge of business and information technology to help businesses improve their operations. This course can help aspiring Business Analysts develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Project Manager
Project Managers plan, execute, and close projects. They use their knowledge of project management principles and tools to ensure that projects are completed on time, within budget, and to the required quality standards. This course may help aspiring Project Managers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Technical Writer
Technical Writers create user manuals, technical reports, and other documentation for software and hardware products. They use their knowledge of technical writing principles and tools to create clear and concise documentation. This course may help aspiring Technical Writers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.
Teacher
Teachers develop and deliver lesson plans, teach students, and assess student learning. They use their knowledge of teaching methods and curriculum to create engaging and effective learning experiences for students. This course may help aspiring Teachers develop the foundational skills needed to succeed in this role, such as creating user-defined functions and classes, as well as understanding recursion and mutability.

Reading list

We've selected 12 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++ Object Basics: Functions, Recursion, and Objects.
Is the definitive reference for the C++ programming language. It covers all aspects of the language, from the basics to the most advanced features. It good resource for learners who want to learn more about the details of the C++ language.
Comprehensive reference for C++ programming. It covers topics such as the C++ standard library, templates, and exception handling. It good resource for learners who want to learn more about the details of the C++ language.
Provides a comprehensive overview of C++ programming, covering topics such as functions, recursion, and objects. It good resource for learners who want to gain a solid foundation in C++.
Provides a comprehensive guide to C++ templates. It covers topics such as template syntax, template metaprogramming, and template libraries. It good resource for learners who want to learn more about how to use templates to write more efficient and maintainable C++ code.
Provides a comprehensive guide to C++ concurrency. It covers topics such as threads, synchronization, and the C++ memory model. It good resource for learners who want to learn how to write concurrent C++ code.
Provides a collection of design patterns and best practices for C++ programming. It covers topics such as object-oriented design, code reuse, and performance optimization. It good resource for learners who want to learn how to write more efficient and maintainable C++ code.
Provides a set of coding standards for C++ programming. It covers topics such as naming conventions, code formatting, and error handling. It good resource for learners who want to learn how to write more consistent and maintainable C++ code.
Provides a collection of challenging C++ programming puzzles and problems. It good resource for learners who want to test their C++ skills and learn more about the language.
Introduces the concepts of object-oriented programming using Java. It covers topics such as classes, objects, and inheritance. While it is written in Java, the concepts it covers are applicable to C++ as well.
Provides a practical introduction to C++ programming. It covers topics such as variables, loops, and functions. It good resource for learners who want to learn the basics of C++ programming quickly.
Fun and engaging introduction to Java programming. It covers topics such as variables, loops, and methods. While it is written in Java, the concepts it covers are applicable to C++ as well.

Share

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

Similar courses

Here are nine courses similar to C++ Object Basics: Functions, Recursion, and Objects.
C++ Programming: Basic Skills
Most relevant
C++ Programming: Intermediate Concepts
Most relevant
C++ Programming: Object-Oriented Design
Most relevant
C++ Basic Structures: Vectors, Pointers, Strings, and...
Most relevant
C++ Basics: Selection and Iteration
Most relevant
Object-Oriented C++: Inheritance and Encapsulation
Most relevant
Java Basics: Selection and Iteration
Most relevant
Python Basics: Selection and Iteration
Most relevant
Python Programming: Basic Skills
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