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

Online Course

Programming in C++

Indian Institute of Technology, Kharagpur and NPTEL via Swayam

136
Found in Programming, C++

Taken this course? Share your experience with other students. Write review

Overview

There has been a continual debate on which programming language/s to learn, to use. As the latest TIOBE Index for May 2019 indicates – Java (16%), C (14%), C++ (8%), Python (8%), and C# (4%) together control nearly half the programming community. Given this, it is still important to learn C and C++ because of the efficiency they offer. While we appreciate that Java is good for applications, for graphics; and we acknowledge that Python is appropriate for portable software, engineering problem solving (especially ML), and graphics; it is worth bearing in mind that the JVM (Java Virtual Machine) and PVM (Python Virtual Machine - Python interpreter) are indeed written in C++, making C++ the father of all languages today.

Well, C++ is the systems language. It is multi-paradigm - procedural, object-oriented, functional, and generic. So, why should I learn it if my primary focus is on applications? The answer lies in the recent updates of C++, namely, C++11, C++14, C++17, and upcoming C++20 that offer excellent depths and flexibility for C++ that no language can match. These extensions attempt to alleviate many of the long-standing shortcomings of 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, binary tree etc.) to create a strong familiarity with C++98 and 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 OOAD (Object-Oriented Analysis and Design) and OOP (Object-Oriented Programming) concepts.

While this course can be understood independently (after a course in C programming), it would help in developing understanding in OOP. Hence this course is advised in conjunction with OOAD.

End Note: If you wonder how C++ stands against Java, note the relative movement of the languages since 2016 (when these course videos were recorded) till 2019. In 2016, Java stood at 21% and C/C++ combine at 20%. In 2019, Java has slipped to 16% and C/C++ combine has climbed to 22%. And Java is an application programming language while C++ is a systems language!

INTENDED AUDIENCE:BCA, MCA, B.Tech., M.Tech.

PREREQUISITES:
1. Basic Knowledge of Programming & Data Structure
2. C Programming
3. Attending a course on OOP / OOAD with this course will help

INDUSTRY SUPPORT :Programming in C++ is so fundamental that all companies dealing with systems as well as application development (including web, IoT, embedded systems, machine learning) have a need for the same. These include – Microsoft, Samsung, Xerox, Yahoo, Google, IBM, TCS, Infosys, Amazon, Flipkart, etc.


Syllabus

COURSE LAYOUT


WEEK 1:
Programming in C++ is Fun : Build and execute a C program in C++, Write equivalent programs in C++

WEEK 2:C++ as Better C : Procedural Extensions of C

WEEK 3:Overview of OOP in C++ : Classes and basic Object-Oriented features (encapsulation)

WEEK4:Overview of OOP in C++ : More OO features, overloading, namespace and using struct and union

WEEK5:Inheritance : Generalization / Specialization of Object Modeling in C++

WEEK6:Polymorphism : Static and Dynamic Binding

WEEK7:Type Casting & Exceptions : C++ cast operators; C++ Exceptions & standard exception classes

WEEK8:Templates & STL – Function and Class templates and using STL like containers, algorithms

Taught by

Partha Pratim Das

Reviews for Swayam's Programming in C++ Based on 0 reviews

  • 5 star 0%
  • 4 star 0%
  • 3 star 0%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review

Class Central

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

Sign up for free

Never stop learning Never Stop Learning!

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

Sign up for free