Course Name: Programming in C++

Course abstract

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!


Course Instructor

Media Object

Prof. Partha Pratim Das

Dr. Partha Pratim Das received his BTech, MTech and PhD degrees in 1984, 1985 and 1988 respectively from IIT Kharagpur. He served as a faculty in Department of Computer Science and Engineering, IIT Kharagpur from 1988 to 1998. In 1998, he joined Alumnus Software Ltd as a Business Development Manager. From 2001 to 2011, he worked for Interra Systems, Inc as a Senior Director and headed its Kolkata Center. In 2011, he joined back to Department of Computer Science and Engineering, IIT Kharagpur as Professor. Dr. Das has also served as a Visiting Professor with Institute of Radio Physics and Electronics, Calcutta University from 2003 to 2013.Dr. Das is currently the Head of Rajendra Mishra School of Engineering Entrepreneurship and the coordinator for the upcoming Technology Park of IIT Kharagpur at Rajarhat, Kolkata. He is also the Joint Principal Investigator of National Digital Library project of MHRD and leads the initiative to integrate the Institutional Digital Repositories of various institutions across India.Dr. Das has taught several courses in Computer Science. In the past 5 years he has been teaching Software Engineering, Object-Oriented Systems, Programming and Data Structure, and Compiler Design. Jointly with 2 others, he has also offered a course on Introduction to Design of Algorithms under the T10KT program of NME-ICT, MHRD (https://www.facebook.com/t10kt.algorithms/) to nearly 7000 teachers.Dr. Das has published over 40 technical papers in international journals in areas of Digital Geometry, Image Processing, Parallel Computing and Knowledge-based Systems. In 2013 he has co-authored a research monograph titled Digital Geometry in Image Processing (CRC Press). His current interests include Image Processing and Computer Vision (human activity tracking using Kinect), Object-Oriented Systems Analysis and Design (UML, Design Patterns and C++11), Software Engineering (automated program analysis using static and dynamic instrumentation), Compiler Technology (multi-threaded debugging), Digital Geometry, and Embedded Systems.Dr. Das is a member of Association of Computing Machinery (ACM), The Institute of Electrical and Electronics Engineers (IEEE), Indian Unit for Pattern Recognition and Artificial Intelligence (IUPRAI) and VLSI Society of India (VSI).
More info

Teaching Assistant(s)

Arup Kumar Chattopadhyay

Assistant Professor, Institute of Engineering & Management

Himadri Bhusan Girija Sankar Bhuyan

P.hD

Arup Kumar Chattopadhyay

Assistant Professor, Institute of Engineering & Management, Kolkata

SWAGATAM BASU

Assistant Professor in Institute Of Engineering and Management,Kolkata

 Course Duration : Jul-Sep 2019

  View Course

 Enrollment : 15-May-2019 to 05-Aug-2019

 Exam registration : 01-Jun-2019 to 26-Aug-2019

 Exam Date : 29-Sep-2019

Enrolled

22150

Registered

2082

Certificate Eligible

415

Certified Category Count

Gold

5

Silver

101

Elite

225

Successfully completed

84

Participation

1265

Success

Elite

Silver

Gold





Legend

AVERAGE ASSIGNMENT SCORE >=10/25 AND NON PROCTORED EXAM SCORE >=10/25 AND EXAM SCORE >= 20/50 AND FINAL SCORE >=40
BASED ON THE FINAL SCORE, Certificate criteria will be as below:
>=90 - Elite + Gold
75-89 -Elite + Silver
>=60 - Elite
40-59 - Successfully Completed

Final Score Calculation Logic

  • Assignment Score = Average of best 6 out of 8 assignments.
  • Final Score(Score on Certificate)= 75% of Exam Score + 25% of Assignment Score
  • Note: We have taken the average of assignments in a particular week.
  • Week 1 - (A1+A2+A3+A4),
  • Week 2 - (A5+A6+A7+A8+A9),
  • Week 3 - (A10+A11+A12+A13),
  • Week 4 - (A14+A15+A16+A17),
  • Week 5 - (A18+A19+A20+A21),
  • Week 6 - (A22+A23+A24+A25+A26),
  • Week 7 - (A27+A28+A29+A30+A31),
  • Week 8 - (A32+A33+A34+A35+A36)
Programming in C++ - Toppers list
Top 1 % of Certified Candidates

ADITYA SINGH 93%

LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL

PULKIT SHARMA 92%

MALAVIYA NATIONAL INSTITUTE OF TECHNOLOGY

SHRAVAN SHARMA 90%

INSTITUTE OF ENGINEERING AND TECHNOLOGY, DAVV

RAVIKUMAR BHAGAVANBHAI VASANI 90%

CHAROTAR UNIVERSITY OF SCIENCE AND TECHNOLOGY

SHEKHAWAT PRADEEP 90%

B K BIRLA INSTITUTE OF ENGINEERING AND TECHNOLOGY, PILANI


Top 2 % of Certified Candidates

I S SHABBEER AHMED 88%

SREE RAMA ENGINEERING COLLEGE

SHAHBAZ FAROOQUE KHAN 88%

IIT KANPUR

BRAMESH S M 87%

P.E.S. COLLEGE OF ENGINEERING

JYOTHI A 87%

SHRI SHANKARLAL SUNDARBAI SHASUN JAIN COLLEGE FOR WOMEN

LUIS CHERIAN KONDEKERIL 87%

PIMPRI CHINCHWAD COLLEGE OF ENGINEERING

AVINASH KUMAR 87%

LAKSHMI NARAIN COLLEGE OF TECHNOLOGY, BHOPAL


Top 5 % of Certified Candidates

SHAURAV SINGH 86%

SCHOOL OF ENGINEERING

ADARSH SIDDABATTULA 86%

DHANEKULA INSTITUTE OF ENGINEERING & TECHNOLOGY

DARSHAN HIREKURUBAR 86%

INDORE INSTITUTE OF SCIENCE AND TECHNOLOGY

PRANAV KRISHNA YENNI 86%

GITAM INSTITUTE OF TECHNOLOGY

PEREPOGU BENNY JOSEPH 86%

VASAVI COLLEGE OF ENGINEERING

GUMMADI VENKATA PRASANTH KUMAR 85%

VELAGAPUDI RAMAKRISHNA SIDDHARTHA ENGINEERING COLLEGE

MANOJKUMAR BHARATLAL PATEL 85%

L.D. COLLEGE OF ENGINEERING

BHUPENDRA DEVADA 85%

INDORE INSTITUTE OF SCIENCE AND TECHNOLOGY

UJJWAL BISORE 85%

INSTITUTE OF ENGINEERING AND TECHNOLOGY, DAVV

KOTNAKAL RISHAB DESAI 85%

CVR COLLEGE OF ENGINEERING

RAAJITA BHAMIDIPATY 85%

MUFFAKHAM JAH COLLEGE OF ENGINEERING AND TECHNOLOGY

Enrollment Statistics

Total Enrollment: -1

Data Not Found..!
Data Not Found..!

Registration Statistics

Total Registration : 2082

Assignment Statistics




Assignment

Exam score

Final score

Score Distribution Graph - Legend

Assignment Score: Distribution of average scores garnered by students per assignment.
Exam Score : Distribution of the final exam score of students.
Final Score : Distribution of the combined score of assignments and final exam, based on the score logic.