Building on the fundamentals, this course explores more complex C++ features including arrays, strings, input/output operations, and functions. Learners will develop modular programming skills and learn to structure their code for reusability and maintainability. The course introduces GenAI tools for code generation to enhance productivity and provides practical experience with file handling and external libraries.

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


Intermediate C++ Programming Techniques
This course is part of Microsoft Introduction to C++ Programming Professional Certificate

Instructor: Microsoft
Included with 
Recommended experience
What you'll learn
1. Write, debug, and compile C++ programs that solve real problems.
2. Apply modular and object-oriented programming principles.
Skills you'll gain
Details to know

Add to your LinkedIn profile
November 2025
See how employees at top companies are mastering in-demand skills

Build your Algorithms expertise
- 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.
Why people choose Coursera for their career





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
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.

