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

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 pointers, strings, functions, files, and recursion. Completion of C++ Basics Skills before taking this course is 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 pointers, strings, functions, files, and recursion. Completion of C++ Basics Skills before taking this course is 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.

What's inside

Learning objectives

  • Reference and dereferece variables with pointer operators
  • Compare and manipulate strings of text
  • Define and use custom functions to improve code readability
  • Read and write to text and csv files
  • When and how to use recursion instead of iteration

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores a strong foundational understanding of not just C++, but core Computer Science topics that can be transferred to other languages
Builds a strong foundation for beginners
Taught by Anh Le highly experienced course instructors
Teaches the C++ programming language using runnable code examples with suggested edits, promoting active and hands-on learning

Save this course

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

Reviews summary

Hands-on intermediate c++ development

According to learners, 'C++ Programming: Intermediate Concepts' is a highly effective course for bridging the gap from basic C++ to intermediate concepts. Students consistently highlight its hands-on, interactive learning experience, driven by runnable code examples, instant feedback, and practical coding exercises. This unique approach is particularly lauded for clarifying complex topics like pointers and recursion. While many appreciate the self-paced, video-free format, a notable minority found the lack of video lectures challenging, emphasizing that success requires strong self-discipline and a preference for text-based learning.
Course is video-free, favoring self-paced reading and coding.
"It's truly self-paced and the lack of videos wasn't an issue at all; the written content and runnable examples are excellent."
"if you like video lectures, be aware this is all text and code."
"I struggled a bit without video explanations. While the examples are runnable, sometimes I wished for an instructor's voice."
"The content itself is fine, but the format is a hurdle. No videos makes it feel like an online textbook with exercises."
Covers essential intermediate topics effectively, including file I/O.
"The content on file I/O was particularly useful for my personal projects."
"Solid course for intermediate C++. The focus on hands-on practice is great."
"The course covers important intermediate topics..."
"Good self-paced course covering essential C++ concepts. The file I/O section was very practical."
Builds on foundational C++ knowledge; not for absolute beginners.
"This course was exactly what I needed to bridge the gap from C++ basics to more advanced topics."
"Make sure you have a basic grasp of C++ before starting."
"It truly is an intermediate course, so having the basics down is crucial."
"Good continuation from the C++ Basics course."
Complex concepts like pointers are explained with remarkable clarity.
"I particularly appreciated the detailed explanations on pointers and recursion."
"Pointers and functions were explained with remarkable clarity."
"The way pointers were broken down made them finally click for me."
"The clear explanations for complex topics like pointers are top-notch."
Practical coding and instant feedback are highly effective.
"The exercises are incredibly well-designed, providing instant feedback and really solidifying the concepts."
"The interactive coding environment with immediate feedback is a game changer."
"The hands-on approach with runnable examples is incredibly effective. The quizzes and coding challenges are perfectly scaled."
"I found the hands-on coding and projects the strongest part of the course for me; it truly made the concepts click."
Self-paced, text-heavy format requires high learner commitment.
"It's decent, but requires a lot of self-discipline."
"Not ideal for my learning style... I ended up supplementing with external resources."
"I learn better visually and found the text explanations not always sufficient to grasp complex concepts."
"Requires commitment to read and practice."

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++ Programming: Intermediate Concepts with these activities:
Read 'The C++ Programming Language'
Gain a comprehensive understanding of C++ fundamentals and advanced concepts by reading the authoritative book.
View Programming on Amazon
Show steps
  • Obtain a copy of 'The C++ Programming Language'.
  • Read and comprehend the foundational chapters.
  • Study advanced topics and their applications.
Organize Course Materials
Improve learning efficiency by organizing course notes, assignments, and resources in a structured manner.
Browse courses on Organization
Show steps
  • Create a dedicated folder for course materials.
  • Categorize and label materials using a logical system.
  • Back up materials regularly to prevent loss.
Review Pointers, Strings, Arrays, Functions
Review the basics of C++ before taking the course to improve understanding of core concepts.
Browse courses on Pointers
Show steps
  • Review online tutorials on pointers and arrays.
  • Practice writing simple C++ functions.
  • Complete coding exercises on string manipulation.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow C++ Best Practices Tutorials
Explore tutorials and guidelines to improve C++ coding style and adherence to industry standards.
Browse courses on C++
Show steps
  • Find reputable sources for C++ best practices.
  • Review and understand coding conventions.
  • Apply best practices in personal coding projects.
Create a C++ Code Snippet Library
Build a personal collection of reusable C++ code snippets to enhance coding efficiency.
Browse courses on C++
Show steps
  • Identify frequently used code patterns.
  • Create well-documented code snippets.
  • Organize snippets into a structured library.
Solve C++ Coding Challenges
Engage in practice drills by solving C++ coding challenges to enhance problem-solving skills.
Browse courses on C++
Show steps
  • Identify online platforms for C++ coding challenges.
  • Select challenges of varying difficulty levels.
  • Attempt to solve challenges independently.
  • Review solutions and analyze approaches.
Build a C++ Calculator
Apply C++ skills by creating a functional calculator project to enhance practical understanding.
Browse courses on C++
Show steps
  • Design the calculator's functionality and interface.
  • Implement basic arithmetic operations.
  • Add advanced features such as trigonometric functions.
  • Test and refine the calculator's performance.
Participate in C++ Coding Competitions
Challenge coding skills and enhance problem-solving abilities through participation in online or offline C++ coding competitions.
Browse courses on C++
Show steps
  • Attempt to solve problems within the time limit.
  • Analyze solutions and learn from mistakes.
  • Identify reputable C++ coding competition platforms.
  • Register for competitions and study problem statements.

Career center

Learners who complete C++ Programming: Intermediate Concepts will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers work with software developers to translate software specifications into computer code. This course can help someone become a computer programmer by building a solid foundation in programming fundamentals.
Computer Systems Analyst
Computer Systems Analysts study an organization's current computer systems and procedures, and design ways to improve them. This course can help students learn the basics of computer science, which can be helpful for a career as a computer systems analyst.
Data Analyst
Data Analysts collect, clean, and analyze data to help organizations make informed decisions. This course can help students build a foundation in data analysis, which can be helpful for a career as a data analyst.
Database Administrator
Database Administrators maintain and manage databases, which store and organize data for organizations. This course can help students learn the basics of database management, which can be helpful for a career as a database administrator.
Information Security Analyst
Information Security Analysts protect an organization's computer systems and networks from cyberattacks and other threats. This course can help students learn the basics of computer security, which can be helpful for a career as an information security analyst.
Software Developer
Software Developers design, develop, and maintain software applications. This course can help students learn the basics of programming, which can be helpful for a career as a software developer.
Software Engineer
Software Engineers apply engineering principles to the design, development, and maintenance of software systems. This course can help students learn the basics of software engineering, which can be helpful for a career as a software engineer.
Systems Administrator
Systems Administrators maintain and manage computer systems and networks for organizations. This course can help students learn the basics of systems administration, which can be helpful for a career as a systems administrator.
Web Developer
Web Developers design, develop, and maintain websites and web applications. This course can help students learn the basics of web development, which can be helpful for a career as a web developer.
Computer and Information Research Scientist
Computer and Information Research Scientists conduct research on new and innovative ways to use computers and information technology. This course can help students learn the basics of computer science, which can be helpful for a career as a computer and information research scientist.
Computer Hardware Engineer
Computer Hardware Engineers research, design, develop, and test computer hardware and components. This course can help students learn the basics of computer engineering, which can be helpful for a career as a computer hardware engineer.
Computer Network Architect
Computer Network Architects design, build, and maintain computer networks for organizations. This course can help students learn the basics of computer networking, which can be helpful for a career as a computer network architect.
Information Technology Project Manager
Information Technology Project Managers plan, execute, and manage information technology projects for organizations. This course can help students learn the basics of project management, which can be helpful for a career as an information technology project manager.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software to ensure that it meets quality standards. This course can help students learn the basics of software testing, which can be helpful for a career as a software quality assurance analyst.
Technical Writer
Technical Writers create documentation for software, hardware, and other technical products. This course can help students learn the basics of technical writing, which can be helpful for a career as a technical writer.

Reading list

We've selected ten 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++ Programming: Intermediate Concepts.
Classic text on C++ and provides a comprehensive introduction to the language. It is useful as a reference and for additional reading.
Is written by the creator of C++ and provides a concise overview of the language. It is useful for getting started with C++ and for additional reading.
Provides a comprehensive introduction to data structures and algorithms in C++. It is useful as a reference and for additional reading.
Provides a comprehensive introduction to templates in C++. It is useful as a reference and for additional reading.
Provides a comprehensive introduction to exception handling in C++. It is useful as a reference and for additional reading.
Provides a comprehensive introduction to advanced C++ programming techniques. It is useful for additional reading.

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