Sorry, this page is no longer available
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!

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.

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

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

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

Traffic lights

Read about what's good
what should give you pause
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

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

Reviews summary

Foundational c++ objects & recursion

According to learners, this course offers a strong hands-on approach to C++ fundamentals, covering functions, recursion, and objects. Many appreciate the video-free format, stating it encourages direct code engagement. Students consistently highlight the instant feedback on coding exercises and the convenience of a zero-setup integrated coding environment. While largely positive, some learners, especially visual learners, find the absence of video lectures challenging for more abstract concepts. The recursion module is often cited as particularly difficult, sometimes requiring external resources.
A polarizing feature, beneficial for some, a hindrance for others.
"The fact that it's video-free actually helped me focus. The runnable examples made it manageable."
"While the self-paced format is convenient, I struggled with the absence of video lectures for some complex ideas."
"I found this course difficult to follow without video explanations. The text alone wasn't enough for me to grasp some of the more abstract C++ concepts."
Goes beyond syntax to teach transferable computer science concepts.
"I also appreciate that it covers core CS principles, making the knowledge transferable. This course is all about doing."
"It effectively covers foundational C++ and CS topics, making it valuable for building a strong base for future learning."
"This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics."
Effectively teaches foundational C++ concepts like objects and mutability.
"A solid follow-up to the previous courses. The explanations for objects and mutability were clear. I really liked the interactive labs."
"Good foundational course. It clearly explains core C++ concepts, and the mutability section was particularly well-done."
"Absolutely brilliant for understanding C++ object basics. The explanations are concise and to the point."
Highly appreciated for its integrated, no-setup coding practice.
"The integrated coding environment is a game-changer – no setup hassle! The small, approachable exercises kept me engaged."
"Absolutely brilliant for understanding C++ object basics... the online coding environment makes it incredibly convenient to practice without any setup."
"I didn't need to install anything, which was a huge plus for getting started quickly and engaging with the code directly."
Highly praised for its practical approach with instant feedback.
"This course was a revelation! The hands-on approach is fantastic... The instant feedback on coding exercises is a huge plus, really speeds up learning."
"Perfect for bridging the gap from other languages to C++. The hands-on coding and immediate feedback are invaluable."
"The self-paced, hands-on structure works very well. The exercises are relevant and the instant feedback helps reinforce learning quickly."
Frequently noted as a challenging section, sometimes requiring external support.
"Recursion was tough, but the runnable examples made it manageable. Highly recommended for beginners."
"My only minor gripe is that sometimes I craved a different perspective on tricky concepts like recursion beyond just text, perhaps more visualization aids."
"The course is decent, but the recursion module felt rushed and was challenging. I had to look up external resources frequently."

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

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