Microsoft
Intermediate C++ Programming Techniques

Saving $160 on access to 10,000+ programs is a holiday treat. Save now.

Microsoft

Intermediate C++ Programming Techniques

 Microsoft

Instructor: Microsoft

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

4 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

4 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • 1. Write, debug, and compile C++ programs that solve real problems.

    2. Apply modular and object-oriented programming principles.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

November 2025

Assessments

17 assignments¹

AI Graded see disclaimer
Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

Build your Algorithms expertise

This course is part of the Microsoft Introduction to C++ Programming Professional Certificate
When you enroll in this course, you'll also be enrolled in this Professional Certificate.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate from Microsoft

There are 5 modules in this course

Arrays and String Manipulation enhances your C++ capabilities by teaching you to work with collections of data and process text through both legacy and modern approaches, emphasizing safety, performance, and best practices. You'll learn to declare and manipulate single and multi-dimensional arrays using both C-style arrays and modern std::array containers, implement common operations like sorting and searching algorithms, handle matrix-based computations for mathematical applications, and process text efficiently using std::string methods while understanding the security vulnerabilities and limitations of C-style strings. Through hands-on activities progressing from basic array operations to building comprehensive text analyzers and matrix manipulation programs, you'll develop skills in memory layout optimization, bounds checking, Unicode handling for international applications, and selecting appropriate data structures based on safety and performance trade-offs. These intermediate skills are essential for real-world development across diverse domains—from database management and scientific computing that rely on efficient array-based data processing, to game development requiring multi-dimensional coordinate systems and collision detection, to web applications and natural language processing tools that demand secure, efficient text manipulation—where your ability to handle collections of data safely, process text securely, and optimize memory usage directly impacts application performance, security, and reliability in professional software environments.

What's included

6 videos5 readings4 assignments6 ungraded labs4 plugins

Input/Output Operations expands your C++ expertise by teaching you to handle data flow between applications and external sources through console interfaces, file systems, and modern I/O techniques, transforming basic programs into production-ready systems. You'll learn to create professional console applications with advanced stream manipulators for formatting precision and alignment, implement robust input validation with comprehensive error handling, manage file operations for reading and writing both text and binary data using C++17's filesystem API, and leverage modern C++20/C++23 features including std::format and std::print for type-safe, simplified output operations. Through hands-on activities progressing from formatted report generators to data logger applications and comprehensive input validation systems, you'll develop skills in stream state management, error recovery strategies, complex data format parsing, and user interface design that balances functionality with accessibility. These I/O capabilities are fundamental for real-world applications across all domains—from system administration tools and backup systems that require reliable file handling, to data processing pipelines and business reporting applications demanding professional formatting and validation, to production systems processing structured data formats like CSV and JSON—where your ability to safely read external data, gracefully handle errors, persist information reliably, and present output professionally determines application robustness, data integrity, and user experience quality.

What's included

6 videos4 readings4 assignments6 ungraded labs4 plugins

Functions and Modular Programming transforms your approach to software development by teaching you to create reusable, maintainable code through function design, advanced function techniques, and systematic code organization strategies that enable scalable application architecture. You'll learn to design functions with optimal parameter passing methods for performance and clarity, implement function overloading to create versatile interfaces, apply recursion to solve algorithmic problems while comparing recursive and iterative approaches, and organize code using namespaces and modern C++20 modules to prevent naming conflicts and improve project structure. Through hands-on activities progressing from basic function creation to refactoring monolithic programs into modular architectures and implementing recursive algorithms with performance analysis, you'll develop skills in code reusability, interface design, stack frame analysis, separation of concerns, and architectural decision-making. These modular programming principles are essential for professional software development across all industries—from game development and web applications requiring team collaboration on shared codebases, to large enterprise systems demanding clear organizational hierarchies and conflict prevention, to API design where intuitive function interfaces determine developer experience—where your ability to eliminate code duplication, create maintainable function-based architectures, and organize complex projects systematically directly impacts development efficiency, team productivity, code quality, and long-term software maintainability in collaborative professional environments.

What's included

6 videos4 readings4 assignments6 ungraded labs4 plugins

External Libraries and GenAI for Code Generation elevates your development capabilities by teaching you to extend application functionality through third-party libraries and leverage modern AI coding assistants to accelerate development while maintaining professional quality standards. You'll learn to discover, evaluate, and integrate external C++ libraries using modern build systems, including CMake, vcpkg, and Conan for dependency management, understand static versus dynamic linking and proper header file organization, and effectively use AI tools like GitHub Copilot, ChatGPT, and Claude to generate code snippets, functions, and program components while critically evaluating their output. Through hands-on activities that progress from library integration projects to AI-assisted development workflows, you'll develop skills in building system configuration, dependency resolution, quality assurance for AI-generated code, code adaptation and refactoring, and establishing collaborative development practices that balance AI assistance with human expertise. These modern development capabilities are transformative for professional software engineering—from integrating powerful libraries for JSON parsing, HTTP communication, or graphics rendering that would take months to build independently, to using AI tools that accelerate routine coding tasks and reduce boilerplate while you maintain critical oversight for correctness and style—where your ability to leverage existing solutions, manage complex dependencies, critically evaluate AI assistance, and integrate modern tools into workflows directly impacts development velocity, project scope possibilities, code quality maintenance, and your competitiveness in contemporary software development environments that increasingly expect proficiency with both external libraries and AI-assisted coding practices.

What's included

6 videos4 readings4 assignments6 ungraded labs4 plugins

The Hands On Course Project synthesizes your intermediate C++ expertise through a comprehensive capstone experience where you design and build a sophisticated data processing application that integrates arrays and string manipulation, file I/O operations, modular function architecture, external library integration, and AI-assisted development workflows into a cohesive, professional-quality solution. You'll progress through industry-standard development phases—systematic design and planning with detailed architecture specifications and library selection, implementation, applying all intermediate concepts with modern AI assistance for code generation and optimization, and comprehensive testing, including unit tests, integration tests, and performance analysis with AI-powered code review. This capstone experience simulates real-world intermediate-level development scenarios found in business applications, scientific computing systems, and data analysis platforms where multiple technical skills must work together seamlessly to solve complex problems. The project culminates in professional deliverables including complete source code, technical documentation, testing reports, user guides, and an AI integration analysis that collectively demonstrate your readiness for advanced C++ programming challenges and intermediate-level professional software development roles, while providing portfolio-worthy evidence of your ability to independently design, implement, test, document, and optimize complete applications using modern development practices that balance human expertise with AI assistance for maximum productivity and code quality.

What's included

1 video3 readings1 assignment1 ungraded lab1 plugin

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

 Microsoft
242 Courses2,025,528 learners

Offered by

Microsoft

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions

¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.