Programming in Modern C++ Course | Learn C++11/14/17 with IIT Kharagpur
Course Details
| Exam Registration | 4491 |
|---|---|
| Course Status | Ongoing |
| Course Type | Core |
| Language | English |
| Duration | 12 weeks |
| Categories | Computer Science and Engineering, Programming |
| Credit Points | 3 |
| Level | Undergraduate/Postgraduate |
| Start Date | 19 Jan 2026 |
| End Date | 10 Apr 2026 |
| Enrollment Ends | 02 Feb 2026 |
| Exam Registration Ends | 20 Feb 2026 |
| Exam Date | 25 Apr 2026 IST |
| NCrF Level | 4.5 — 8.0 |
Why Learn C++ in the Modern Programming Landscape?
In the ever-evolving world of software development, the question of which programming language to master is perennial. According to the TIOBE Index, the C programming language family—encompassing C, C++, C#, and Objective-C—commands over 25% of all programming activities worldwide. Within this influential family, C++ stands as a cornerstone, often called the "mother of most general-purpose languages." Learning C++ provides a profound understanding of system-level programming, Object-Oriented Principles (OOP), and a robust foundation that makes transitioning to languages like Java or Python significantly smoother.
About the Course: Programming in Modern C++
This detailed 12-week course, offered through NPTEL and taught by Prof. Partha Pratim Das of IIT Kharagpur, is designed to take you from the fundamentals of C++ to its most modern advancements. It's not just about learning syntax; it's about understanding the philosophy and idioms of the language, from the established C++98/03 standards to the revolutionary features introduced in C++11, C++14, and beyond.
The course is structured for undergraduate and postgraduate students, as well as industry professionals looking to update their skills. It moves beyond C++ as merely a "better C" to explore its multi-paradigm nature, including procedural, object-oriented, generic, and functional programming.
Meet Your Instructor: Prof. Partha Pratim Das
Learning from an expert with both deep academic and extensive industry experience is invaluable. Prof. Das brings exactly that:
- Academic Excellence: A PhD from IIT Kharagpur and a faculty member in its Department of Computer Science and Engineering.
- Industry Veteran: Over a decade of leadership experience in the software industry with companies like Interra Systems Inc.
- Proven Educator: Has taught thousands of students through NPTEL courses on C++ and OOP, and a massive MOOC for teachers under the MHRD's T10KT program.
- Research Authority: Published over 40 papers and co-authored a research monograph. His current interests span Human-Computer Interaction, Software Engineering, and Technology-Enabled Learning.
- Leadership Roles: Currently heads the Rajendra Mishra School of Engineering Entrepreneurship and is a key figure in the National Digital Library of India project.
Detailed 12-Week Course Layout
The course is meticulously planned to ensure a comprehensive learning journey:
| Week | Topic | Key Focus Areas |
|---|---|---|
| 1 | Programming in C++ is Fun | Introduction, setting up the environment, first programs. |
| 2 | C++ as Better C | Enhancements over C: references, namespaces, bool type. |
| 3-4 | OOP in C++ | Classes, objects, encapsulation, abstraction, constructors/destructors. |
| 5 | Inheritance | Base and derived classes, access specifiers, types of inheritance. |
| 6 | Polymorphism | Virtual functions, function overriding, abstract classes. |
| 7 | Type Casting | static_cast, dynamic_cast, const_cast, reinterpret_cast. |
| 8 | Exceptions and Templates | Error handling, function templates, class templates. |
| 9 | Streams and STL | I/O streams, Standard Template Library (containers, iterators, algorithms). |
| 10 | Modern C++ | Introduction to C++11/14 features: auto, range-based for, smart pointers. |
| 11 | Lambda and Concurrency | Lambda expressions, basics of multithreading in C++. |
| 12 | Move, Rvalue and STL Containers | Move semantics, rvalue references, efficient use of modern STL. |
Who Should Enroll and Prerequisites
This course is ideal for students and developers aiming to build high-performance systems, game engines, embedded software, or simply to gain a deep, foundational understanding of a powerful language.
Prerequisites:
- Mandatory: Knowledge of Programming & Data Structures (arrays, lists, stacks, queues).
- Optional but helpful: Prior experience in C programming and basic algorithm design.
Industry Relevance and Career Prospects
C++ remains fundamental to the core technology stacks of leading companies worldwide. Proficiency in modern C++ is highly sought after in domains requiring efficiency and control:
- Systems Software: Operating systems, device drivers, compilers.
- Game Development: Game engines and performance-critical components.
- Embedded Systems: IoT devices, automotive software, robotics.
- High-Frequency Trading: Where microsecond latency matters.
- Major Employers: Microsoft, Google, Amazon, Oracle, IBM, Samsung, NVIDIA, TCS, Infosys, and countless others actively seek skilled C++ developers.
This course bridges the gap between traditional C++03 and modern practices, ensuring you are state-of-the-art and industry-ready.
Recommended Learning Resources
Complement the course lectures with these excellent resources:
Online References
- cppreference.com (the definitive wiki for C++ standards)
- ISO C++ Foundation website
- Course presentations and materials provided by NPTEL.
Essential Books for Modern C++
- For C++11/14: Effective Modern C++ by Scott Meyers
- For Move Semantics: C++ Move Semantics - The Complete Guide by Nicolai M. Josuttis
- For Concurrency: C++ Concurrency in Action by Anthony Williams
- For C++17: C++17 - The Complete Guide by Nicolai M. Josuttis
- For Comprehensive Learning: Professional C++ by Marc Gregoire
- For Functional Techniques: Functional Programming in C++ by Ivan Čukić
Conclusion: Your Gateway to Mastering a Powerful Language
The "Programming in Modern C++" course is more than just a class; it's a structured path to mastering one of the most powerful and enduring programming languages. Guided by the expertise of Prof. Partha Pratim Das, you will not only learn the language's syntax but also the rationale behind its features and how to use them effectively. Whether you aim to excel in academia, crack top-tier tech interviews, or build cutting-edge software, this course provides the solid, modern foundation you need. Enroll today and embark on a journey to unlock the full potential of C++.
Enroll Now →