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 no 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 printing, operators, iteration (i.e., loops), and selection (i.e., conditionals).

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

Basic Skills - Writing your first program!
Welcome to Week 1 of the C++ Basics: Selection and Iteration course. These assignments cover the concepts of printing, variables, and comments. The module ends with a lab and graded coding exercises.
Read more
Operators
Welcome to Week 2 of the C++ Basics: Selection and Iteration course. These assignments cover the concepts of arithmetic operators (+, -, *, /, and %) and boolean operators (and, or, not) to manipulate data stored in variables. The module ends with a lab and graded coding exercises.
Conditionals
Welcome to Week 3 of the C++ Basics: Selection and Iteration course. These assignments cover the concepts of making decisions using conditionals so your script can produce different output based on data. The module ends with a lab and graded coding exercises.
Loops
Welcome to Week 4 of the C++ Basics: Selection and Iteration course. These assignments covers the different types of loops to repeat sections of your program without copying-and-pasting the same lines over-and-over again. The module ends with a lab and graded coding exercises.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners who want to master C++ programming
Provides a hands-on, self-paced learning experience through runnable code examples with suggested edits
Covers the core concepts of C++ programming, including printing, operators, iteration, and selection
Avoids the use of videos, which can be a distraction for some learners
Provides instant feedback through a variety of assessment items, such as multiple choice, fill in the blank, and coding exercises

Save this course

Save C++ Basics: Selection and Iteration to your list so you can find it easily later:
Save

Reviews summary

C++ hands-on: selection & iteration

Learners say this course is largely positive and rate it engaging and well-paced. Students like that this course uses a hands-on approach and interactive assignments to teach the basics of C++ selection and iteration. It is designed primarily for beginners and provides plenty of opportunity to practice the concepts learned. Some students note that the difficulty of the exams can sometimes be greater than the learning materials would suggest, making it important to pay close attention to the details and requirements.
Emphasizes hands-on practice with exercises rather than videos.
"I learned a lot the course is designed in a way so that without any video content a beginner can learn easily."
"Thank you so much."
"interactive and easy to understand."
"It has an in-depth knowledge of everything being taught."
"Ever topic covered has a clear explanation and sample code, with lots of exercises for you to develop confidence with your skills."
Geared toward those new to C++.
"Great course for beginners!"
"I really love how the course is setup for hands-on practice rather than to follow some specific videos."
"An excellent course for a beginner to start C++ with!"
Students report mixed experiences with the Codio platform used for exercises.
"integration with Codio doesn't work"
"Codio platform is rigid"
"will penalise you for even the tiniest mistake (and non mistake)."
Some learners encountered frustrations with some of the exercise challenges.
"The exercise is too punishing."
"Not allowing to improve before submit."
"Without video, this course is just like Code Academy."

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++ Basics: Selection and Iteration with these activities:
Review course notes and materials
This activity will help you reinforce your understanding of the course material and identify areas where you need additional support.
Show steps
  • Gather all of your course notes, assignments, quizzes, and exams.
  • Review the materials and identify any areas where you need additional support.
  • Create a study plan to address your areas of need.
  • Use the course materials to practice and reinforce your skills.
Review Algorithms by Robert Sedgewick and Kevin Wayne
This book has been the go-to reference for many years and will help you deepen your knowledge of C++ fundamentals.
Show steps
  • Read the preface and introduction to get an overview of the book.
  • Pick a chapter that covers a topic you find interesting or have difficulty with.
  • Read the chapter carefully and take notes.
  • Work through the examples in the chapter.
  • Take the practice quiz at the end of the chapter.
Follow C++ tutorials on YouTube
This activity will help you learn new C++ concepts and techniques.
Browse courses on C++ Programming
Show steps
  • Find a YouTube channel that offers C++ tutorials.
  • Choose a tutorial that covers a topic that you are interested in.
  • Watch the tutorial and take notes.
  • Try out the code examples from the tutorial.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve C++ coding challenges
This activity will help you improve your C++ coding skills and prepare for the course's coding projects.
Browse courses on C++ Programming
Show steps
  • Find a website or online platform that offers C++ coding challenges.
  • Choose a challenge that is appropriate for your skill level.
  • Solve the challenge and write the C++ code.
  • Test and debug your code.
  • Review your solution and identify areas for improvement.
Build a simple C++ program
This project will help you apply the C++ concepts you learn in the course.
Show steps
  • Choose a simple project idea, such as a calculator or a dice rolling simulator.
  • Design the program's interface and functionality.
  • Write the C++ code for your program.
  • Test and debug your program.
  • Share your program with others.
Write a blog post about a C++ concept
This activity will help you solidify your understanding of a C++ concept and share your knowledge with others.
Browse courses on C++ Programming
Show steps
  • Choose a C++ concept that you want to write about.
  • Research the concept and gather information.
  • Write a blog post that explains the concept clearly and concisely.
  • Publish your blog post and share it with others.
Create a C++ application to solve a real-world problem
This project will challenge you to apply your C++ skills to solve a real-world problem, giving you valuable hands-on experience.
Browse courses on C++ Programming
Show steps
  • Identify a real-world problem that you can solve with C++.
  • Design and implement a C++ application to solve the problem.
  • Test and debug your application.
  • Deploy your application and make it available to others.
Create a C++ library or module
This activity will challenge you to design and implement a reusable C++ library or module, enhancing your software development skills.
Browse courses on C++ Programming
Show steps
  • Identify a need for a reusable C++ library or module.
  • Design and implement the library or module.
  • Test and document the library or module.
  • Publish the library or module and make it available to others.

Career center

Learners who complete C++ Basics: Selection and Iteration will develop knowledge and skills that may be useful to these careers:
Game Developer
Game Developers are responsible for designing and developing video games. They work with a variety of technologies, including C++, Java, and Unreal Engine, to create games that are both fun and engaging. This course can help build a foundation in C++, which is a widely used language for developing video games. By learning the basics of C++, learners can gain a better understanding of how video games are developed and how to write efficient and effective code.
Software Engineer
Software Engineers are responsible for developing and maintaining computer software. They work with a variety of programming languages, frameworks, and tools to build software that meets the needs of users. This course can help build a foundation in C++ programming, which is a widely used language for developing software in a variety of industries. By learning the basics of C++, learners can gain a better understanding of how software is developed and how to write efficient and effective code.
Embedded Software Engineer
Embedded Software Engineers are responsible for designing and developing software for embedded systems. They work with a variety of hardware and software components to create systems that are both reliable and efficient. This course can help build a foundation in C++, which is a widely used language for developing embedded software. By learning the basics of C++, learners can gain a better understanding of how embedded systems are developed and how to write efficient and effective code.
Web Developer
Web Developers are responsible for designing and developing websites and web applications. They work with a variety of technologies, including HTML, CSS, JavaScript, and PHP, to create websites that are both functional and visually appealing. This course can help build a foundation in C++, which can be used to develop web applications. By learning the basics of C++, learners can gain a better understanding of how web applications are developed and how to write efficient and effective code.
Systems Analyst
Systems Analysts are responsible for designing and developing software systems that meet the needs of organizations. They work with a variety of stakeholders to gather requirements, design solutions, and implement systems. This course can help build a foundation in C++, which is a widely used language for developing software systems. By learning the basics of C++, learners can gain a better understanding of how software systems are developed and how to write efficient and effective code.
Systems Engineer
Systems Engineers are responsible for designing and developing complex systems, such as computer networks, telecommunications systems, and defense systems. They work with a variety of stakeholders to gather requirements, design solutions, and implement systems. This course can help build a foundation in C++, which is a widely used language for developing complex systems. By learning the basics of C++, learners can gain a better understanding of how complex systems are developed and how to write efficient and effective code.
Mobile App Developer
Mobile App Developers are responsible for designing and developing mobile applications. They work with a variety of technologies, including C++, Java, and Swift, to create apps that are both functional and visually appealing. This course can help build a foundation in C++, which can be used to develop mobile applications. By learning the basics of C++, learners can gain a better understanding of how mobile apps are developed and how to write efficient and effective code.
Data Scientist
Data Scientists are responsible for collecting, analyzing, and interpreting data to help organizations make informed decisions. They work with a variety of tools and techniques to extract insights from data. This course can help build a foundation in C++, which is a powerful language for data analysis. By learning the basics of C++, learners can gain a better understanding of how data is processed and analyzed, and how to write efficient and effective code for data-intensive tasks.
Data Analyst
Data Analysts are responsible for collecting, analyzing, and interpreting data to help organizations make informed decisions. They work with a variety of tools and techniques to extract insights from data. This course can help build a foundation in C++, which is a powerful language for data analysis. By learning the basics of C++, learners can gain a better understanding of how data is processed and analyzed, and how to write efficient and effective code for data-intensive tasks.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. They work with a variety of database systems, including MySQL, Oracle, and SQL Server, to ensure that data is stored, processed, and retrieved efficiently. This course can help build a foundation in C++, which can be used to develop database applications. By learning the basics of C++, learners can gain a better understanding of how databases are managed and how to write efficient and effective code for database-intensive tasks.
Data Engineer
Data Engineers are responsible for designing and building data pipelines that collect, process, and store data. They work with a variety of data sources and technologies to create data pipelines that are both efficient and reliable. This course can help build a foundation in C++, which is a powerful language for data processing. By learning the basics of C++, learners can gain a better understanding of how data pipelines are built and how to write efficient and effective code for data-intensive tasks.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and evaluating software to ensure that it meets quality standards. They work with a variety of software development tools to identify and fix bugs. This course can help build a foundation in C++, which is a widely used language for developing software. By learning the basics of C++, learners can gain a better understanding of how software is developed and how to test and evaluate it for quality.
Technical Writer
Technical Writers are responsible for creating documentation for software and other technical products. They work with a variety of stakeholders to gather information and write documentation that is both clear and concise. This course can help build a foundation in C++, which is a widely used language for developing software. By learning the basics of C++, learners can gain a better understanding of how software is developed and how to write technical documentation that is both accurate and easy to understand.
Computer Scientist
Computer Scientists are responsible for conducting research in the field of computer science. They work with a variety of theories and techniques to develop new algorithms and technologies. This course can help build a foundation in C++, which is a widely used language for developing software. By learning the basics of C++, learners can gain a better understanding of how computers work and how to develop new technologies.
Actuary
Actuaries are responsible for assessing and managing risk for insurance companies and other financial institutions. They work with a variety of statistical and financial models to evaluate risk and determine insurance premiums. This course may help build a foundation in C++, which can be used to develop actuarial models. By learning the basics of C++, learners can gain a better understanding of how actuarial models are developed and how to write efficient and effective code for actuarial tasks.

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++ Basics: Selection and Iteration.
This comprehensive book provides a deep dive into the intricacies of C++ programming, including detailed explanations of its core concepts and advanced features. It valuable reference for those seeking a thorough understanding of the language.
Provides a comprehensive overview of design patterns and best practices in C++. It covers a wide range of topics, from object-oriented design principles to advanced concurrency techniques, making it a valuable resource for software architects and developers.
This classic textbook provides a solid foundation in data structures and algorithms using C++. It covers a wide range of topics, from basic concepts to advanced techniques, making it a comprehensive resource for both students and practicing programmers.
Written by the creator of C++, this seminal work offers an authoritative guide to the language's design, syntax, and semantics. It provides a strong foundation for understanding the core principles and evolution of C++.
Offers a practical guide to concurrent programming in C++. It covers the fundamental concepts and best practices for writing efficient and scalable multithreaded applications, making it a valuable resource for developers working in this domain.
This practical guide focuses on improving C++ coding skills and avoiding common pitfalls. It offers valuable insights into best practices, design patterns, and optimization techniques, making it a useful resource for honing one's programming abilities.
Offers a practical guide to using the C++ Standard Library effectively. It provides valuable insights into the design and implementation of the library, enabling readers to write more efficient and robust code.
This intermediate-level book delves into advanced C++ topics such as templates, exception handling, and multithreading. It offers a deeper understanding of the language's capabilities and enables readers to write more efficient and robust code.
This comprehensive guide to C++ templates provides an in-depth exploration of their design and implementation. It covers advanced topics such as metaprogramming and variadic templates, making it a valuable resource for those seeking to master this powerful programming technique.
While not directly related to C++, this book provides a valuable introduction to memory management and ownership concepts. Understanding these concepts can enhance one's understanding of C++'s memory model and improve programming practices.

Share

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

Similar courses

Here are nine courses similar to C++ Basics: Selection and Iteration.
C++ Programming: Basic Skills
Most relevant
Java Basics: Selection and Iteration
Most relevant
Python Basics: Selection and Iteration
Most relevant
Python Programming: Basic Skills
Most relevant
Java 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
Object-Oriented C++: Inheritance and Encapsulation
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