We may earn an affiliate commission when you visit our partners.
David Silver, Stephen Welch, and Andreas Haja
Learn how to develop, compile, and execute C++ programs as well as syntax, functions, containers, and how to link together multiple files.

What's inside

Syllabus

Meet your instructors, David and Stephen, and hear from the inventor of C++, Bjarne Stroustrup.
In this lesson, you will build on your previous programming experience to learn the basics of the C++ language.
Read more
In this lesson, you will learn about the A* search algorithm. Over a sequence of exercises, you will use your A* search implementation to plan a path through the obstacles in the ASCII board.
In this lesson, you will learn the syntax for C++ language features that you will need for the next steps in the course. This includes an overview of header files, pointers, build tools, and classes.
In this project you will extend the IO2D map display code to use A*, so your program will be able to find a path between two points on the map.
Course Outro

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores C++ programming, which is an essential part of software development
Taught by David Silver, Stephen Welch, and Andreas Haja, who are experts in the field of computer science and AI
Covers topics such as syntax, functions, containers, and how to link together multiple files, which are fundamental concepts in C++ programming
Involves hands-on exercises and projects, which provide learners with practical experience in applying C++ programming concepts
Suitable for beginners who want to learn the basics of C++ programming or experienced programmers who want to enhance their skills
Requires learners to have basic programming experience, which may be a barrier for complete beginners

Save this course

Save C++ Foundations 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++ Foundations with these activities:
Review Intro to C++
Prepare for this course by revisiting topics from your intro to C++ course.
Browse courses on C++
Show steps
  • Read through old notes and assignments.
  • Review online resources and tutorials.
  • Complete practice problems and exercises.
Join a Study Group
Enhance your learning by connecting with other students in a study group.
Browse courses on C++
Show steps
  • Find a study group or start one with peers.
  • Establish regular meeting times.
  • Review course materials together.
  • Work through practice problems and exercises.
  • Discuss course concepts and share insights.
Follow C++ Tutorials
Expand your knowledge and skills by exploring tutorials on specific C++ topics.
Browse courses on C++
Show steps
  • Identify areas where you need additional support.
  • Search for tutorials on those topics.
  • Follow the tutorials, taking notes and practicing the concepts.
  • Apply what you've learned to your course assignments.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Coding Exercises
Solidify your understanding of C++ by completing practice exercises that reinforce the concepts you're learning in the course.
Browse courses on C++
Show steps
  • Find online coding exercises or practice problems.
  • Solve the exercises, debugging your code as needed.
  • Review your solutions and identify areas for improvement.
  • Repeat steps 1-3 regularly.
Compile a Glossary of C++ Concepts
Create a reference guide that will help you retain and recall key C++ concepts.
Browse courses on C++
Show steps
  • Identify important C++ concepts and terminologies.
  • Create a document or spreadsheet to compile your glossary.
  • Define and explain each concept clearly.
  • Include examples and illustrations to enhance understanding.
Build a Small C++ Project
Deepen your understanding of C++ by applying it to a practical project.
Browse courses on C++
Show steps
  • Choose a small project idea that interests you.
  • Plan and design your project.
  • Implement your project in C++.
  • Test and debug your project.
  • Present your project to others for feedback.
Participate in C++ Coding Competitions
Test your skills and push your limits by participating in C++ coding competitions.
Browse courses on C++
Show steps
  • Identify coding competitions that align with your skill level.
  • Register for the competition.
  • Practice and prepare for the competition.
  • Participate in the competition and give your best effort.
  • Review your performance and identify areas for improvement.

Career center

Learners who complete C++ Foundations will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers build applications, software, and programs to suit a company's or client's needs. This course helps build a foundation for becoming a Software Developer. It will teach you how to develop, compile, and execute C++ programs. These are all useful skills to have when creating new software and programs.
Data Scientist
Data Scientists collect, analyze, and interpret data to help organizations make informed decisions. This course can help someone who wants to be a Data Scientist develop core skills for their profession. It teaches how to develop C++ programs, which may be useful for processing and analyzing large amounts of data.
Information Security Analyst
Information Security Analysts protect an organization's computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course may be useful for someone who wants to become an Information Security Analyst to learn C++ programming. Doing so may help them better understand and protect against cyber threats.
Embedded Systems Engineer
Embedded Systems Engineers design, develop, and maintain embedded systems for organizations. This course may be useful for a person who wants to be an Embedded Systems Engineer. It can teach the basics of C++ programming. This may help them better develop and manage embedded systems for organizations.
Computer Systems Analyst
Computer Systems Analysts help organizations use information technology effectively by analyzing their business processes. This course teaches you how to develop, compile, and execute C++ programs. This may help build a foundation for analyzing systems and figuring out how to improve them.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test software to ensure that it meets quality standards. This course may be useful for someone who wants to become a Software Quality Assurance Analyst by teaching them the basics of C++ programming. This may help them better understand the software development process and how to test software effectively.
DevOps Engineer
DevOps Engineers improve the collaboration between development and operations teams. This course may be useful as part of a path for becoming a DevOps Engineer. It can teach the basics of C++ programming. This may help someone in this role better understand software development and how to bridge the gap between development and operations teams.
Security Engineer
Security Engineers are tasked with safeguarding a company's IT systems and data from unauthorized access or cyber attacks. This course can assist Security Engineers with learning how to develop C++ programs. Doing so helps build a foundation for creating more secure software and systems. It also teaches about functions and containers, each of which may be useful for creating robust security programs.
Network Engineer
Network Engineers design, install, and maintain computer networks for organizations. This course may be useful for a Network Engineer to learn about C++ programming. Doing so may help them better develop and manage networks for organizations.
Mobile Developer
Mobile Developers design and develop mobile applications for smartphones and tablets. This course may be useful for someone who wants to be a Mobile Developer to learn the basics of C++ programming. This may help them develop more robust and efficient mobile applications.
Systems Engineer
Systems Engineers design, install, and maintain computer systems for organizations. This course may be useful for a Systems Engineer to learn about C++ programming. Doing so may help them better develop and manage systems for organizations.
Web Developer
Web Developers design and develop websites. This course may be useful as part of a path to becoming a Web Developer. It teaches the basics of C++ programming. This could be useful for developing more robust and efficient web applications and programs.
Database Administrator
Database Administrators manage and maintain databases for organizations. This course may be useful for someone who wants to be a Database Administrator to learn the basics of C++ programming. This could be useful for better understanding how databases work and how to develop applications for them.
Cloud Architect
Cloud Architects design, deploy, and manage cloud computing solutions for organizations. This course may help someone who wants to be a Cloud Architect learn the basics of C++ programming. This could be useful for better understanding software applications and how to use them within a cloud system.
IT Project Manager
IT Project Managers plan, execute, and oversee IT projects. This course may be useful for someone who wants to become an IT Project Manager by introducing them to the fundamentals of C++ programming. This may be useful for understanding how technology works and how to manage projects that involve IT.

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++ Foundations.
Written by the creator of C++, this authoritative book provides a comprehensive and up-to-date introduction to the language. It is an essential reference for anyone interested in learning or deepening their understanding of C++.
This comprehensive guide provides an in-depth exploration of the C++ programming language, covering essential concepts and advanced techniques. It serves as an excellent reference for both beginners and experienced programmers looking to enhance their understanding of C++.
This updated edition provides a comprehensive and in-depth coverage of C++ templates, including the latest C++11 and C++14 features. It is an essential reference for programmers who want to master this powerful C++ feature.
This comprehensive guide covers the intricacies of C++ templates, providing a deep understanding of their power and limitations. It valuable reference for programmers who want to master this essential C++ feature.
This practical guide provides a collection of best practices and insights for using the Standard Template Library (STL) effectively. It valuable resource for programmers who want to write efficient and reusable C++ code.
This revised edition provides a collection of recipes and examples that demonstrate modern C++ programming techniques. It covers topics such as the STL, templates, and concurrency, and valuable resource for programmers who want to write efficient and reusable C++ code.
This practical guide focuses on concurrency in C++, covering topics such as multithreading, synchronization, and parallelism. It valuable resource for programmers looking to develop concurrent and scalable C++ applications.
This comprehensive textbook covers data structures and algorithms in C++, providing a solid foundation for programmers who want to develop efficient and scalable software solutions.
Provides a comprehensive overview of design patterns and best practices in C++, helping programmers to write reusable, extensible, and maintainable code.
Focuses on performance optimization techniques for C++ programs, covering topics such as memory management, cache optimization, and parallel programming. It valuable resource for programmers who want to develop high-performance C++ applications.
Provides a set of coding standards and best practices for C++ development, helping programmers to write consistent, maintainable, and efficient code. It valuable resource for teams and organizations that want to improve their C++ coding 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++ Foundations.
Interview with Asim Hussain, Green Computing Advocate,...
Less relevant
Digital Platforms in Performance
Less relevant
Visualizing Data via Snowflake
Less relevant
Finding your voice as a playwright
Less relevant
IT Professional Fundamentals: Hardware
Less relevant
Stepping Up: Preparing Yourself for Leadership
Less relevant
Microsoft 365 Administration: Managing Compliance Using...
Less relevant
Getting Started with .NET Document Databases Using Marten...
Less relevant
Introduction to Dates and Times in SQL Server
Less 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