Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Indian Institute of Technology, Kharagpur

Programming in Modern C++

Indian Institute of Technology, Kharagpur and NPTEL via Swayam

Overview

There has been a continual debate on which programming language/s to learn, to use. As the latest TIOBE Programming Community Index for August 2021 indicates – C (13%), Python (12%), C++ (7%), Java (10%), and C#(5%) together control nearly half the programming activities worldwide. Further, C Programming Language Family (C, C++, C#, Objective C etc.) dominate more than 25% of activities. Hence, learning C++ is important as one learns about the entire family, about Object-Oriented Programming and gets a solid foundation to also migrate to Java and Python as needed. C++ is the mother of most general purpose of languages. It is multi-paradigm encompassing procedural, object-oriented, generic, and even functional programming. C++ has primarily been the systems language till C++03 which punches efficiency of the code with the efficacy of OOP. Then, why should I learn it if my primary focus is on applications? This is where the recent updates of C++, namely, C++11 and several later offer excellent depths and flexibility for C++ that no language can match. These extensions attempt to alleviate some of the long-standing shortcomings for C++ including porous resource management, error-prone pointer handling, expression semantics, and better readability. The present course builds up on the knowledge of C programming and basic data structure (array, list, stack, queue etc.) to create a strong familiarity with C++98 / C++03. Besides the constructs, syntax and semantics of C++ (over C), we also focus on various idioms of C++ and attempt to go to depth with every C++ feature justifying and illustrating them with several examples and assignment problems. On the way, we illustrate various OOP concepts. The course also covers important advances in C++11 and later released features.PRE-REQUISITE: Programming & Data Structure (mandatory), Programming in C (optional). Design and Analysis of Algorithms (optional).INDUSRTY SUPPORT: Programming in C++ is so fundamental that all companies dealing with systems as well as application development (including web, IoT, embedded systems) have a need for the same. These include – Microsoft, Samsung, Xerox, Yahoo, Oracle, Google, IBM, TCS, Infosys, Amazon, Flipkart, etc. This course would help industry developers to be up-to-date with the advances in C++ so that they can remain at the state-of-the-art.INTENDED AUDIENCE: None.

Syllabus

Week1: Programming in C++ is Fun.Week2: C++ as Better C.Week3: OOP in C++.Week4: OOP in C++.Week5: Inheritance.Week6: Polymorphism.Week7: Type Casting.Week8: Exceptions and Templates.Week9: Streams and STL.Week10: Modern C++.Week11: Lambda and Concurrency.Week12: Move, Rvalue and STL Containers.

Taught by

Prof. Partha Pratim Das

Tags

Reviews

5.0 rating, based on 1 Class Central review

Start your review of Programming in Modern C++

  • Anonymous
    This is one of the best courses in C++. With over a decade of experience as a quant, I thought I knew C++ but I learnt in every lesson within this course.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.