A brand new series from NPTEL is available from April 13, 2020 onward

Dear learner,

Hope all are at home, safe and well.

Want to learn about cutting edge technology?
Career choices?
Research areas?  


A brand new series from NPTEL is available from April 13, 2020 onward.
Don't miss our Live sessions by the experts in the fields! 

Link: bit.ly/NPTELLIVE - Special Lecture Series

We hope that you join and make use of this opportunity.
And do tell your friends.


Happy Learning!
NPTEL TEAM


Would like to have detailed feedback from you

I would like to know the following from you

  • Starting from the beginning, which was the first topic you were unable to understand?  Can you explain in detail, i.e. state how much you understood and which part of the lecture, give lecture timings if possible, where you got lost?
  • Which topic did you think was hardest but you did understand?
  • Which topic did you think was most boring?
Please reply to me at ranadeag@gmail.com  This will help me improve my teaching in future.
Thank you.
Abhiram Ranade


An Introduction to Programming through C++ : Thank you for learning with NPTEL!

Dear Learner,

Thank you for taking the course with NPTEL!!
Hope you enjoyed the journey with us.
The results for this course have been published and we are closing this course now. 
You will still have access to the contents and assignments of this course, if you click on the course name from the "Mycourses" tab on swayam.gov.in.
The discussion forum is being closed though and you cannot ask questions here.

For any further queries please write to support@nptel.iitm.ac.in.

We are happy to announce that our next set of courses to be offered in Jan 2020 -which is open now for enrollment.
Please check the Tentative course list for Jan 2020 in the below link: http://bit.ly/JAN2020-NPTEL
-NPTEL Team


An Introduction to Programming through C++ : Results for Nov 17 exams have been published

Dear Learner, 

The results for Nov 17,2019 exams have been published. 
You will be informed via mail and SMS about the release of exam results and e-certificates. 

How to find out if results have been published? 
To check the publishing status of exam scores and e-certificates, click on this link: https://docs.google.com/spreadsheets/d/e/2PACX-1vQ81rBXI69SXTHpf7900CWJRb8mMdort4RmTjYC_XTu1nNZAPBSL22yIBynMlOd3BqXO1ldUFdOXUqT/pubhtml?urp=gmail_link

How to check exam results & e-certificates: 
If you have taken the exam, your score and e-certificate is now available at https://nptel.ac.in/noc/

Login with the course enrolled e-mail id. 
Clicking on the course name will redirect to the score board. 
Click on Exam Scores - Both the Assignment scores and Exam score will be displayed. 
Final score is the certification score. 
Calculation Logic for each course is provided in the same page. 

Reporting of errors 
For each course, reporting of issues comes with its own deadline (date and time) 
So check the exam score/e-certificate as soon as you receive our notification. 
For any queries, please use this FAQ http://bit.ly/NOV16-17FAQ

If you are unable to see the scores/e-certificates, please write to noc@nptel.iitm.ac.in

 - NPTEL TEAM


Feedback for An Introduction to Programming through C++

Dear student, 
 
We are glad that you have attended the NPTEL online certification course. 

We hope you found the NPTEL Online course useful and have started using NPTEL extensively. 

In this regard, we would like to have feedback from you regarding our course and whether there are any improvements, you would like to suggest. 

We are enclosing an online feedback form and would request you to spare some of your valuable time to input your observations. Your esteemed input will help us in serving you better. 

The link to give your feedback is: https://docs.google.com/forms/d/1F5Gh6cJiqxuowDYTfBAhvl1wXzfU-eFR5vSYivM_z_8/viewform

We thank you for your valuable time and feedback. 

Thanks & Regards, 

-NPTEL Team


An Introduction to Programming through C++ : Date for result declaration

Dear Students,

The result is going to be declared earlier next month.
You will receive e-certificates only,.

Good luck,
NPTEL Team


Final examination format

1. There will not be any negative marking.
2.  There will be about 50 questions, most worth 2 marks and some worth 1.
3.  See www.cse.iitb.ac.in/~ranade/instructions.txt for more details.

Wish you all the very best!
Abhiram Ranade


An Introduction to Programming through C++ : Best of luck for your Exam !

Dear All,

Thank you all for your enthusiastic interactions and showing interest in the course. Kindly see the video lectures carefully, solve all the assessment problems. Prepare well and do good in the exams.



NPTEL - 17th November 2019 Hall ticket Released !

Dear Candidate


Your hall ticket / admit card for NPTEL Exam to be held on 17th November 2019 has been released.

Links to download the hall ticket / admit card:

Click here to download your hall ticket - https://results.nptel.ac.in/sep/

OR

https://cdn3.digialm.com:443//EForms/configuredHtml/885/62747/login.html

Please Note:

  1. The Admit Card must be presented for verification along with one original govt issued photo identification (not photocopy or scanned copy).
  2. Acceptable photo identification documents are College ID, Employee ID, Driving License, Passport, PAN card, Voter ID, Aadhaar-ID.
  3. Printed copy of hall ticket and original photo ID card should be brought to the exam centre.
  4. Hall ticket and ID card copies on the phone will not be permitted.
  5. Please read the instructions that are given on the hall ticket before coming to the exam.
  6. Click Here to view the candidate instructions and code of conduct

On-Screen Calculator Demo Link:

Kindly use the below link to get an idea of how the On-screen calculator will work during the exam.


https://tcsion.com/OnlineAssessment/ScientificCalculator/Calculator.html

IMPORTANT:

Change of shift, course, exam center, exam city will not be done. What's mentioned in your Hall-ticket is final.

NPTEL Team wishes you the very best for the certification exam!

Warm Regards,
NPTEL Team


About the final exam

Please see the information at www.cse.iitb.ac.in/~ranade/instructions.txt
I will update this as I get questions from you.  So please look at this once every few days.


An Introduction to Programming through C++ : Final Grading Scheme

Dear Students,

This is to notify you regarding the final bifurcation of marks for grading and certificate, which is given as follows.

We will not consider the marks of Programming Assignment 4 (4-1, 4-2, 4-3) for final scoring as intimated earlier.
 
CRITERIA TO GET A CERTIFICATE
  • Quizzes: 25% of the average of best 8 assignments out of the total 12 assignments given in the course. 
  • Programming assignments: 25% of average of best 7 assignments out of the total 10 assignments given in the course.
  • Exam score = 50% of the proctored certification exam score out of 100
  • Final score = Average assignment score(Quiz+Programming Assignment) + Exam score
 
YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE = QUIZ: >=10/25, PROGRAMMING ASSIGNMENT: >=10/25 AND EXAM SCORE >= 20/50
  • If one of the 3 criteria is not met, you will not get the certificate even if the Final score >= 40/100
with best of luck,
NPTEL Team


An Introduction to Programming through C++ : Solution to Assignment 12

Dear Learners,

Solution of Assignment 12 is uploaded in the following link.


                          Assignment 12 Solution

Kindly write if you need explanation of answers of any particular question.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Assignment 12 Re-evaluated

Dear Students,

Assignment 12 has been re-evaluated. Particularly, additional answers are awarded for Q5,Q6, and Q8.

Kindly check your marks and grades under Progress menu, and intimate issues if any.

regards,
Dillip Rout


Simplecpp animation of fireworks

Simplecpp animation of fireworks

www.cse.iitb.ac.in/~ranade/diwali.mov

Hope you will celebrate an eco-friendly Diwali!


An Introduction to Programming through C++ : Command line arguments and reading inputs from a file in Codeblocks

Dear Students,

One of the questions asked during the live session is how to read input from a file instead of typing in Codeblocks. For example, suppose our program name is sum.cpp and it takes two arguments and prints the sum. Then, in the command line we use to type: sum.cpp < input.txt where the inputs are stored inside input.txt. Well, we can achieve the same inside Codeblocks as follows.

Before going into the details of reading inputs from file, let us first learn how to read command line arguments in Codeblocks, and then we will see how to read from input file with < operator.

A) Steps for reading command line arguments:

  1. Create a project in Codeblocks by clicking on:  File -> New - > Project 
  2. It will prompt you to choose a project type, then choose consolde application (if you are unaware of any project type)
  3. It will ask you for a name and a location to create the project.
  4. Finally, a project will be created in a folder you have chosen. Inside the project folder, under the source, you will find main.cpp by default.
  5. You need to modify this main.cpp according to your need.
  6. Next, how to set the command line arguments in Codeblocks. Go to: Project -> Set Program's Arguments you can fill the arguments you like to have in command line, each argument should be separated by a space.
  7. Then, you can compile/build and run the project, where the main.cpp will be executed.
B) Steps for reading inputs from a file in Codeblocks:
  1. Create a file which contains the inputs, say input.txt remember its full path.
  2. Now, follow the same as given under A, i.e., use Project -> Set Program's Arguments to achieve it.
  3. However, instead of typing the arguments in the dialog textbox, you need to write the input file name with full path name. For example: </home/dillip/input.txt should be written in the dialog textbox for argument. Note that < operator acts as re-direction exactly like it does in command promt or terminal. Then, the program reads from the given file name, in this case, input.txt which is stored under /home/dillip/ directory.
  4. Then, execute your project by compile/build, you will find that your program is taking inputs from the file.
In order to realize both command line arguments and reading inputs from file, the following example may help you.
#include <iostream>
using namespace std;

int main(int argc, char* argv[]){
    //read the command line arguments
    for(int i=0; i < argc; ++i){
cout<<argv[i] <<endl;
}
cout<<endl;

//read the inputs from a file and find the sum
int x,y;
cin>>x;
cin>>y;
cout<< "Summation: "<<x+y <<endl;

    return 0;
}

You may try more options and explore more possibilities. For instance, you may also read from a file using Tool and adding a tool to do it.

Hopefully, it helps.

with warm regards,
NPTEL Team


an Introduction to Programming through C++ : Explanation for Q9 of Assignment 12

Dear Students,

As many of you face issues in understanding the concept of map and its elements, the solution of Q9 of Assignment is explained below.

9.  Suppose you see a reference P[10]["abc"][20] in a program.  Which of the following could be the type of P?
  (a) map<int, map<string, int> >    (b) Array of map<string, map<int,double> >  (c) vector<map<string,map<int,double> > > 
  (d) vector<map<string,vector<string> > >
Solution: b,c,d

Note that this question contains mainly two types of data structure from Standard Template Library (STL), namely, vector and map.  Hence, let us have a quick understanding of these data structures briefly before explaining the actual answer. We will use T on behalf of the (primitive) data types like int, float, double, etc., for generalization. Also, below we will describe some idioms which will be used later as arguments.

1. Vector<T> P; declaring (defining) such variable means we are generating an array which length can be expanded or shrinked internally to adjust the size. Then, one of the ways to access the elements of P is through indices just like an array, e.g., P[0] refers to the first element, P[1] refers to the second element, and so on. 
2. map< <T>, <T> > P; declaring a map variable P where the first T refers to the type of key and second one refers to the type of value. Mention that in a map, an element has two attributes, namely, key and value; commonly known as (key,value) pair. Now, one of the ways to access the element is to write P[key] which will maps the given key to a value. Here, key can be any type, if we assume that key is int then P[10] refers to an element in map variable P where the key is 10. Similary, if key is of string type then we can write P["India"] which means that the key is "India" and it maps to its corresponding value.
3. Note the difference in vector and map for accessing the element. For example, let us assume that both vector and string deal with int data type only. Then, for a vector P[10] means the element at 11th position, whereas for a map P[10] means the element having the key as 10.

Based on the above idioms, let us analyze each of the options given in Q9.

Option (a) map<int, map<string, int> > P; which has key of int type and value of map type in the first level map. Again, in the second level the map, the key is string type and value as int type. Now, when we derefence P[10]["abc"][20] then 10 refers to the key for first level map, "abc" refers to the key of second level map. However, 20 does not fit into key or value type since it is written as if a key but there are no more level of map or other data types like vector, it suppose to be a value if we write P[10]["abc"] = 20 which is not the case. Hence, this option is discarded.

Option (b) Array of map<string, map<int,double> > which can be written as map<string, map<int,double> > P[100]; where 100 is the size of the array of maps. Note that here we have three levels, first level is an array, second level is a map having string type as key and value as map type which is the third level, again, in the third level the map has key as int type and value as double type. Now, let us deference P[10]["abc"][20] and see whether it is valid or not. At first level, 10 is the index of array of maps, then at the second level "abc" is the key of map type. Next, at the third level 20 is the key of inner map which is of int type. Here all dereferencing fits the declariont. Moreover, one particular assignment could be P[10]["abc"][20] = 5.5; which is correct. Thus, this option is correct.

Option (c)  vector<map<string,map<int,double> > > P; declaration says that P is a vector of maps (first level) where each map has string as key and map as value (second level), and lastly, each of the inner map has int type as key and double type as values. So, it has got three levels and now let us dereference P[10]["abc"][20]. At the first level, 10 is the index of 11th element; at the second level "abc" is the key of map (outer), and at the third level 20 is the key of map (inner). Again, all the dereferencing is successful here and we can have a particular assignment like P[10]["abc"][20] = 5.5. Thus, this option is also correct in terms of refering the variable as P[10]["abc"][20].

Option (d) vector<map<string,vector<string> > > P; it infers that P is a vector of maps (first level) where each map (second level) has a key of string type and value as vector type (third level), so, it has three levels. Now, let us match our types by dereferencing the variable P[10]["abc"][20]. Now, 10 refers to the index of vector at the first level, "abc" refers to the key of map at second level, and lastly, the trickiest one, 20 refers to the index of vector which is of string type. Here, the number of levels of derefencing and the respective types are matching. Further, we can have an assignment statement like P[10]["abc"][20] = "Delhi"; which is correct, Hence, this option of refering the variable of this type is correct.

Please read the declaration and traversal of elements of maps, vectors, sets, etc. Hopefully, you will understand the above arguments.

withsing you happy Diwali,
NPTEL Team. 


An Introduction to Programming through C++: Exam Type and Certificate Format

Dear Candidate,

Type of exam: Computer based exam 

You will have to appear at the allotted exam center and produce your Hall ticket and Government Photo Identification Card (Example: Driving License, Passport, PAN card, Voter ID, Aadhaar-ID with your Name, date of birth, photograph and signature) for verification and take the exam in person. You can find the final allotted exam center details in the hall ticket.

The questions will be on the computer and the answers will have to be entered on the computer; type of questions may include multiple choice questions, fill in the blanks, essay-type answers, etc.

The hall ticket will be available for download tentatively around Nov 5 - 14, 2019. We will notify the same through email and SMS.

On-Screen Calculator Demo Link:

Kindly use the below link to get an idea of how the On-screen calculator will work during the exam.

NOTE: Physical calculators are not allowed inside the exam hall.

 FINAL CERTIFICATE:

The final score = 25% assignment score + 75% final certification exam score.

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75.

If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

The final score will determine if you will/will not receive a certificate.

1. Final score < 40%: NO certificate.

2. Final score between 40% -59%: Certificate of type "Successfully completing the course".

3. Final score between 60% -74%: Certificate with tag "Elite" printed at the top.

4. Final score between 75% -89%: Certificate with tag "Elite" tag and "Silver medal" printed at the top.

5. Final score of 90% and above: Certificate with "Elite" tag and the "gold medal" printed on it.

-NPTEL Admin


An Introduction to Programming through C++ : Solution of Assignment 11 Uploaded

Dear Learners,

Solution of Assignment 11 is uploaded in the following link.


                          Assignment 11 Solution

Kindly write if you need explanation of answers of any particular question.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Online Resources

Dear Learners,

As per the queries during Live session, the following are some of the reliable online resources.

1. Documentation:

The following sites contain documentation of built-in functions, libraries, classes, header files, etc. Some of the examples are also given with explaination.

LINK-1                 LINK-2

2. Programming Examples/Learning:

These contain essential examples and some of the well known programming examples with explaination.

LINK-1        LINK-2       LINK-3

3. Competition/Certification/Projects

These sites contain competitions, quizes, and certifications and provide a huge range of questionaire.

LINK-1          LINK-2        LINK-3

There are hundreds of resources beyond the given ones above, it is highly recommended to explore those too. Hope it helps.

regards,
Dillip Rout



An Introduction to Programming through C++ : Assignment 11 Re-evaluated

Dear Students,

Assignment 11 has been re-evaluated for Q1, Q7, and Q10, some of the additional answers are incorporated. Kindly check your marks and grades under Progess tab, and inform issues if any. The solution will be uploaded once all future queries are resolved regarding Assignment 11.

Thank you for participating in discussion forum which helps in improving the course.

with best regards,
NPTEL Team 


An Introduction to Programming through C++ : Deadline for Programming Assignments extended

Dear Students,

This is to inform you that the deadlines for programming assignments of Week 11 and Week 12 have been extended by a week for each one. The new deadline is given as follows.

        Programming Assignment 11 (new) Deadline: Saturday, October 26
        Programming Assignment 12 (new) Deadline: Saturday, November 2

Note- You do not to re-submit if you had submitted the assignments and got full marks.

best of luck,
NPTEL Team


An Introduction to Programming through C++ : Solution to Assignment 10 uploaded

Dear Learners, 

The solution to Assignment 10 (Week 10) is uploaded which can be found in the following link:

Solution to Assignment 10

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ : Grades of Programming Assignments of Week 4

Dear Students,

Some of the queries have been received reciting the marks for Programming Assignment 4.1, 4.2, and 4.3. It was previously announced that Programming Assignments for Week 4 will not be considered for grading due to some technical difficulties.

Note that these programming assignment will be discarded after finishing the evaluation of all the assignments, i.e., after Week 12
. Meanwhile, you will see your grades for Programming Assignments 4.1, 4.2, and 4.3 under Progress tab until end of Week 12. However, please do not panic, these will be finally discarded at least before you receive your final grades. Therefore, you are requested to have patience and ignore the marks for programmning assignments of Week 4. Moreover, no need to worry about these assignments rather focus on the ongoing weeks and examination.

Thank you all for your inputs and cooperation.

with best regards,
NPTEL Team 


An Introduction to Programming through C++ : Assignment 10 re-evaluated

Dear Students, 

As per our discussion, Assignment 10 has been re-evaluated. Particulary, Q2 is scrapped off and Q10 is evaluated with new answers.

Kindly check your marks and overall grading in the progress tab and inform issues if any at earliest.

thanks and regards,
Dillip Rout


LIVE INTERACTIVE SESSION WITH NPTEL COORDINATORS - OCT 23 (WEDNESDAY) 4:30 pm

Dear candidates, 

NPTEL Coordinators would like to address all the candidates about this on-going semester, course run, exams, results, etc. 
This LIVE interactive session is meant to clarify any queries you may have. 
Please do not ask technical questions about the course content, Assignment, etc. as we will not be able to answer these. 

Kindly fill this form with your queries which will be discussed during the LIVE session. 
You may ask queries via the chat window during the session. 

DAY: OCTOBER 23, 2019 (Wednesday) 
TIME: 4:30pm 


Link to submit queries/suggestionshttps://forms.gle/AD5tLgGK2oSJxFi98 
YouTube Link for Live Session: https://youtu.be/1xKn1vfnJFk 

Thank you.

-NPTEL Team.


An Introduction to Programming through C++ : Clarification on Q2 of Assignment 10

Dear Learners,

This is an explaination for memory leak which was asked in Q2 of Assignment 10.

Memory leak may occur when the memory is allocated dynamically, i.e., using new keyword in C++. Memory leak will happen when the dynamically allocated memory is no longer used or necessary but it is not de-allocated explicitly (using delete keyword in C++). Note that the memory allocated using new keyword stays linked to the program even if the associated variable goes out of scope in some way. Furthermore, memory leak also occurs when the pointer of reference to the dynamically allocated memory is overwritten without saving the address to another variable, i.e., the address of the dynamically allocated memory is lost due to lack of backup. Then, we will not be able to use the dynamically allocated memory since the pointer is either pointing to some other address or goes out of scope. In any of the cases, the memory leak lasts until the end of the execution of the program, the operating system recollects such memory leaks including other allocated memory to a program after the end of the program.

int* g(){
  int *pqr = new int;
  return pqr;
}

int main(){
 int *z = g();
}

In the above progam, memory is dynamically in function g(). The calling function, i.e., the main function retains the address of the newly and dynamically allocated memory in a pointer. There are no more statments in main function to be executed and the program ends. Typically at the end of the program all memory will be freed anyway.  However, it is good practice to delete such dynamically at the end.

In this view, for Q2, both the answers option b and d are correct, which are - (b) The program has a memory leak (d) The program does not do anything interesting, but it does not have any specific errors either. The marks will be adjusted accordingly in the process of re-evaluation.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Solutions to Programming Assignments

Dear Learners,

The solutions to programming assignments are available on the Swayam Portal itself. To view the solution to a programming assignment, just navigate to that programming assignment then select the language as C++, the solution will be visible to you.

Please refer the attached picture for details, click here.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Live interaction with Course Instructor

Dear learner's,

You can interact LIVE with the Course Instructor Prof. Abhiram G. Ranade, IIT Bombay of the course – "Introduction to Programming through C++".

Date: October 22, 2019 (Tuesday)      Time: 5p.m. to 6p.m.

Enter your questions you want course instructor to answer at Google Form Link

Link to login to interactive video and (text) chat: YouTube Link
You can also ask your doubts during the session through the chat window.

We would also like to hear from you after the session. Request you to share your thoughts in the forum. Learners are encouraged to visit NPTELLIVE  for updates on the live sessions.

- NPTEL team


An Introduction to Programming through C++ : Week 12 Assignments uploaded

Dear Students,

Assignment 12 for Week-12 is uploaded and can be accessed from the following link: 
Assignment 12

Programming assignments for Week-12 is also uploaded and can be accessed from the following links: Programming Assignment 12

Assignment 12 has to be submitted on or before 
Wednesday, 23-10-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 26-10-2019, 23:59 hours.

best of luck,
NPTEL Team



Quiz 11 problem 7

Sorry, the question is confusing some people.  Let me rephrase it.


Suppose in a file I am given the names of (several) persons and for each person the names of his children in order oldest to youngest.  I am not given the ages.  I want to store this information somehow, i.e. later on, I should be easily able to get the name of the ith child of a person of name N, for any N and i.  You are not asked to give the code which reads in the data, but just the type of the data structure in which the information will be stored.
It is really very similar to something done in a lecture.


An Introduction to Programming through C++ : Week 12 contents uploaded

Dear Students,

The lecture videos for Week-12 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: Week 12 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


As we have done so far, please use the discussion forums if you have any questions on this module. Lastly, please fill the feedback form for week 11.

regards,

NPTEL Team


About the cosmological simulation program

Note that for the purposes of calculation the stars in our program can be in 3 dimensional space, i.e. each position, velocity, acceleration has x, y, z coordinate.  For the purpose of visualization, we are only using the x, y coordinates.

Furthermore, in our input data, we have all z coordinates set to 0, and the z components of the velocities are also 0.  Thus, the stars will always remain confined to z=0 plane.  Thus the visualization will be exact.  However, if the stars were moving in 3 space, then our visualization will not be correct -- what you would see is a projection on the positions on the x,y plane.  There are other ways of visualizing 3 space, e.g. by something called "perspective projection".  But this is outside the scope of the course.


An Introduction to Programming through C++ - Week 11 content and assignments uploaded

Dear Students,

The lecture videos for Week-11 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: Week 11 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


Assignment 11 for Week-11 is also uploaded and can be accessed from the following link: 
Assignment 11

Programming assignments for Week-11 is also uploaded and can be accessed from the following links: Programming Assignment 11

Assignment 11 has to be submitted on or before 
Wednesday, 16-10-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 19-10-2019, 23:59 hours.


As we have done so far, please use the discussion forums if you have any questions on this module. Lastly, please fill the
feedback form for week 10.

NPTEL Team


An Introduction to Programming through C++ : Week 10 deadline Extended

Dear Students,

For week 10, deadlines for assignments submission has been extended by three days due to the late uploading of lecture videos. Please note that the new deadlines are as follows.

  • Assignment 10 deadline is 12/10/2019 Saturday (new).
  • Programming Assignment 10-1 and 10-2 deadline is 15/10/2019 Tuesday (new).
Sorry again for the inconvience due to mismatch of lecture titles. All the best.

regards,
NPTEL Team


An Introduction to Programming through C++ - Solution of Week 9 Uploaded

Invalid HTML tag: attribute name "margin: is not allowed on url /noc19_cs39/announcements?


An Introduction to Programming through C++ - Notes for Lambda Expression and Range-Based Statement

Dear Learners,

We have seen lamda expressions and range-based statement in lecture videos. Particularly, lambda expressions are used for defining unnamed or anonymous functions (for details see https://docs.microsoft.com/en-us/cpp/cpp/lambda-expressions-in-cpp?view=vs-2019). Range-based statement is used in loops, mainly for loops, to iterate over the elements of data types or data structure including user-defined ones (for details see https://docs.microsoft.com/en-us/cpp/cpp/range-based-for-statement-cpp?view=vs-2019).

Note that lambda expression and/or range-based statement  are the features of  C++11. Hence, these may not be compatible with old compilers. Certainly GCC should be fresh enough (>=4.7) to support all these modern C++ 11 standards. The older compilers may not support this format and it needs to pass -std=c++11 flag to compile your program, say program.cpp. Specifically, to use such for loop in your code, apply one of the following instructions according to your settings.

1.CASE-1: without installing simplecpp in command line:

    • use g++ -std=c++0x program.cpp or g++ -std=c++11 program.cpp to compile
    • If these commands do not work then do the following steps and then repeat the above commands.
    • i. Know your compiler version,run: which g++ or g++ --version
    • ii. To switch to g++ 4.7 (assuming that you have installed it in your machine),run: sudo update-alternatives --config gcc() command line : g++ -std=c++0x program.cpp or g++ -std=c++11 program.cpp
2. CASE-2: with installing simplecpp command line: 
    • use s++ program.cpp to compile your file.
3. CASE-3: In CodeBlocks: set this flag by following these sequnece of commands
    • Settings -> Compiler -> Tab "Compiler Flags" -> Option "Have g++ follow the C++11 ISO C++ [-std=c++11]" (check this option)
Kindly note these which are going to be extensively in the forthcoming assignments and examination. Let us know if you need more help on these.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Week 10 - Lecture 23 Completion

Dear Learners,

One of the segments of  Lecture 23, Week 10 was by mistakenly not uploaded. Now, uploading of Lecture 23 is complete and it has 5 parts (previously 4 parts). Particularly, there is a change from Lecture 23 Part 3 to 5.

Please note that for the lecture titles of Lecture 23 refer to names given in Swayam portal (but not inside the video which are wrong).

We are really sorry for the inconvenience caused to you and we are thankful too for informing about the mismatch of lecture titles. Now, go through the lectures and solve the corresponding assignments.

with best regards,
NPTEL Team


An Introduction to Programming through C++ : Assignment 9 Re-evaluated

Dear Students,

Assignment 9 has been re-evaluted based on our conversation in the discussion forum. In particular, Q8 is dropped from grading and Q6 has a new answer which accepts 't' or t. 

Kindly, check your marks. Thank you for your inputs.

regards,
NPTEL Team


An Introduction to Programming through C++ : LAST REMINDER FOR REGISTERING FOR NOV EXAM - LAST 4 DAYS LEFT!

Dear Learner

Exam registration URL is: https://examform.nptel.ac.in/
Login here using the same email id which you had used to enroll in the course in Swayam portal. 

Recommended: Use the Desktop/Laptop with Chrome private browser - incognito window - to access the form. 

EXAM FEES:
Exam fees will be Rs. 1000/- per exam. 
(We are not changing it to Rs 1500/- this time as earlier announced; it will be Rs 1000/- till Oct 7.
LAST DATE FOR REGISTERING FOR NOV 16/17 EXAMS: Oct 7, 2019 - 10:00 AM

FAQ
Request you to kindly check the FAQ that has common issues reported and their solution and follow steps given there to address the issue.
Link: http://bit.ly/faqjuly2019

PAYMENT RECEIPT:
Will be available inside your login after October 10, 2019.

HALL TICKETS:
Will be available between November 6-10: we will send you emails regarding this.

If you still have any queries, please write to support@nptel.iitm.ac.in

Thank you for your support and understanding

- NPTEL team.


Dasara special

Compile and run the program given at

https://www.cse.iitb.ac.in/~ranade/saraswati.cpp

It will produce the animation given at 

https://www.cse.iitb.ac.in/~ranade/saraswati480.mp4

Happy Dasara!


An Introduction to Programming through C++ - Weekly Feedback

Dear Learners,

Kindly fill the feedback form of Week-8 which link is as follows:

https://onlinecourses.nptel.ac.in/noc19_cs39/unit?unit=122&lesson=164

Also, do not forget to give your feedback after end of each week.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Solution of Assignment 8 uploaded

Invalid HTML tag: attribute name "margin: is not allowed on url /noc19_cs39/announcements?



An Introduction to Programming through C++ - Week 10 Contents and Assignments have been released

Dear Students,

The lecture videos for Week-10 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: Week 10 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


Assignment 10 for Week-10 is also uploaded and can be accessed from the following link: 
Assignment 10

Programming assignments for Week-10 are also uploaded and can be accessed from the following links: Programming Assignment 10-Programming Assignment 10-2

Assignment 10 has to be submitted on or before 
Wednesday, 09-10-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 12-10-2019, 23:59 hours.


As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


An Introduction to Programming through C++ - Assignment 8 Re-evaluated

Dear Students,

As per the previous announcement, Assignment 8 has been re-evaluated. Particularly, Q2 is corrected to option d, and Q10-Q12 are scrapped.

Kindly check your marks and assessment score in Progress menu. Let us know if any descrepancies, attach screenshots from computer so that it can be resolved better.

thanks and regards,
NPTEL Team 


REMINDER for Exam Registration : An Introduction to Programming through C++

Dear Learner 

Exam form is open now. 

New Certification exam registration URL is: https://examform.nptel.ac.in/ 

Login here using the same email id which you had used to enroll to the course in Swayam portal. 

 Recommended: Use the Desktop/Laptop with Chrome private browser - incognito window - to access the form. 

 PLEASE NOTE: 
 

  • If you are filling up the form the first time, please fill the first 4 pages with care- ensure ALL fields are entered and correct information is given.
  • Ensure a good quality photo - in passport size taken in studio is uploaded.
  • The signature should be clear and uploaded in horizontal style.

 If you are getting a payment error: 
  •  Go to the Course Details tab.
  •  Delete all courses.
  •  Add the courses again.
  •  Click on View Cart.
  •  Check if details are ok and click on Preview and Checkout.
  •  Fill the captcha, read the conditions and proceed to Pay".

Exam fees: 
 • If you register for the exam and pay before Oct 3, 10:00 AM, Exam fees will be Rs. 1000/- per exam. 
 • If you register for the exam before Oct 3, 10:00 AM and have not paid or if you register between Oct 3, 10:00 AM & Oct 7, 5:00 PM, Exam fees will be Rs. 1500/- per exam. 

 LAST DATE FOR REGISTERING FOR NOV 16/17 EXAMS: Oct 7, 2019

 FDP Certificate: 

 We will publish a separate form for FDP Certificate, please wait for the announcement from us to pay for FDP certificate. 

 IMPORTANT NOTE: 
 1. For the users paid before 5th September 2019. Check if your previously entered details are displayed correctly in the exam form and save your profile. Your photo & sign will not be displayed for the time being 
 2. Payment Receipts will be available in the login once after the registration is closed. (After Oct 10, 2019) 

 In case of queries, please write to support@nptel.iitm.ac.in

 Thank you for your support and understanding 

- NPTEL team.


An Introduction to Programming through C++ - Clarifications on Week 8 Assignment

Dear Students,

This is to clarify some of the doubts and issues regarding assignments of week-8 which are elaborated as follows.

Q2: Option d is correct since cin  is not capable of reading beyond a space during the input (for input "Rajesh Khanna"). Hence, cout << buffer[8] will result in a garbage value. Thus, it is not possible to predict the output as given in option d.

Q5-Q6: These two questions assume that the element is present inside the array, and also, a hidden assumption that the elements are sorted inside the array because we are trying binary search. These questions ask to answer according to the following code.
int Bsearch(int A[], int S, int L, int x){
  if(L == 1) return S; //1st if
  int H = L/2; //reduction of length
  if(x < A[S+H]) return Bsearch(A, S, H, x); //2nd if
  else return Bsearch(A, S+H, L-H, x);
}

   Q5: The value of A[Bsearch(A,0,n,x)] is asked (n is the length of array), not of Bsearch(A,0,n,x). It means that the index is returned by Bsearch(A,0,n,x), and if you access the element using this index, then what is the value. Definitely, x will be the answer since x is the searched element and Bsearch(A,0,n,x) is definitely going to return a valid index where x resides. Precisely, A[Bsearch(A,0,n,x)] is nothing but x, as Bsearch(A,0,n,x) returns a valid index of x.
   Q6: Again, x resides in A as per assumption. The specific indices where x resides are i, i+1, i+2, ...,j where i>=0, i<j<n. Now, let us assume that A={1,2,2,2,3,4,5,6} and , n=8, x=2 (elements to be searched), you can see that i=1 and j=3 (indexing starts with 0). If you make a call Bsearch(A,0,n,x) then the function given above will continue recursion till length (L) become 1 and S is the returned index. In the first call to Bsearch, 1st is false since L=n=8. Then, S=0,H=4 and thus, 2nd if is true (x=2 < A[0+4]=A[4]=3), consequently, Bsearch(A,0,4,x) will be called. In the second call to Bsearch, 1st if is again false, so, S=0,H=2. Hence, x=2 == A[0+2]=A[2]=2 happens, however, 2nd if is false in this case although the element is already explored. In such a case, Bsearch(A,2,2,x) is called because L=4, H=2, S=0. Further, in the third call to Bsearch, S=2, L=2, so, 1st if is false and H=1 after executing next statement. Then, 2nd if becomes false again since x=2 == A[2+1]=A[3]=2 is true. This is leads to call to Bsearch(A, 3, 1, x). In the third call to Bsearch, S=3, L=1, so, 1st if becomes to true due to L==1 true. Hence, the function call returns S which is nothing but 3, the value of j. In general, 2nd if always false in case of equality, and it triggers search in the next segment (right side) of A, i.e., S+H to L-H-1 indices. Therefore, the last (highest) index is always returned by Bsearch if the array contains the searched element at multiple (but contiguous) indices.         
   
Q10-Q12: please be assured that these are going to be discarded in the re-evaluation which will be finished by at most next Tuesday. So, kindly do not bother about your score for Assignment-8 for now, wait for the announcement of re-evaluation.

Thank you all for your inputs in the discussion forum.

with best regards,
NPTEL Team


Some practice problems for week 8 (not to be submitted)

We scrapped problems 10-12 because of some typos.  However, these problems are interesting and I am writing down the correct description here for you to practice.
-------

A two dimensional array is useful for storing image.  If we have a black and white image with m rows each having n pixels, this is easily represented using a bool array A[m][n], where true indicates black colour and false indicates white.  The following code counts the number of vertical lines in a picture.  A vertical line is a

contiguous sequence of black pixels, one below the other, of any positive length, terminated on either end by a white pixel or by the end of the picture.


  
int found=0;

  for(int i=0; i<m; i++)

    for(int j=0; j<n; j++)

      //beginning of inner iteration                    

      if(A[i][j]){

        found++;

        for(int k=i; k<m; k++){

          if(A[k][j]) A[k][j] = false;

          else break;

        }

      }

  cout << found << endl;

Suppose that originally the image A contained 3 vertical lines.

Consider the point in time when control reaches the beginning of the

inner iteration, and i=25, j=16, and found = 2.


1.  Which of the following is true?


(a) A[10][40] must be false.

(b) A[10][40] must be true.

(c) A[10][40] may be true or false, we do not know which based on what is given.

2.  Which of the following is true?


(a) A[25][40] must be false.

(b) A[25][40] must be true.

(c) A[25][40] may be true or false, we do not know which based on what is given.

3.  How many vertical lines will be present in the image at this point?


An Introduction to Programming through C++ - Assignment 8: Q10 to Q12 are dropped

Dear Students,

Kindly note that Q10 to Q12 of Assignment 8 are not going to be considered for grading.

Actually, there is a mistake in the question itself, i.e., the code which leads to several confusions. Hence, please do not attempt Q10 to Q12 of Assignment 8, those questions will be discarded while evaluating the assignment and will not affect the grading.

Sorry for the inconvience, kindly cooperate and ignore Q10 to Q12 of Assignment 8 while submitting the assignment.

with best regards,
NPTEL Team


An Introduction to Programming through C++ - Week 9 Contents and Assignments have been released

Dear Students,

The lecture videos for Week-9 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: Week 9 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


Assignment 9 for Week-9 is also uploaded and can be accessed from the following link: 
Assignment 9

Programming assignments for Week-9 are also uploaded and can be accessed from the following links: Programming Assignment 9-Programming Assignment 9-2

Assignment 9 has to be submitted on or before 
Wednesday, 02-10-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 05-10-2019, 23:59 hours.


As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


Quiz for week 8: clarification for problems 10-12

The context to this question is from a very early lecture where we talked about how to represent images.  This is chapter 2 of the book, and week 1 second lecture.  There we had said that images can be represented in a long sequence (which is similar to a 1 dimensional array).  But as you will observe, an image is much better stored in a two dimensional array: value of pixel in row i column j is stored in element [i][j].  The code is supposed to be checking whether the picture contains a single vertical line -- though the code does a bit more.  How to check for a vertical line was discussed in chapter 2 also, here you need to adapt the check to the context of 2 dimensional arrays.  Furthermore, in this code we want to really know whether there is anything besides the line (or several lines, which is what the code checks for).  So the code is erasing vertical lines as soon as it finds them, i.e. making the pixel white.  If you want more clarification, I suggest you try running the code.  You can try it on your own computer or on some online compiler (since we do not need simplecpp features any longer) such ashttps://www.onlinegdb.com/online_c++_compiler -- there are others too, just do a search.


Quiz for week 8: small correction

The code before 1) contains the line "cout buff".  Please ignore this line.


Programming Assignment 7-3

I will discuss this in some detail.  Let us consider the input given in the assignment

2

10 1 2 3 4 5 6 7 8 9 10
9 11 2 3 4 5 6 7 8 9

This means there are 2 days.  On the first day 10 letters arrive.  These go into the pile, and the order of letters, bottom to top is

1 2 3 4 5 6 7 8 9 10

Of these, the bureaucrat processes the top 8 on the first day.  So at the end of the day, the pile, from bottom to top has the following letters.

1 2

The next day, 9 letters arrive, these are labelled 11, 2, 3, 4, 5, 6, 7, 8. 9.  These go on top of the pile.  So the pile now has the following letters, bottom to top.

1 2 11 2 3 4 5 6 7 8 9

On the second day, the bureaucrat processes 8 letters, again those at the top.  So what remains is:

1 2 11

Which is what you were expected to print, one number per line.

The key to solving this problem is to understand how to use an array to store the letters in the pile.  You need to figure out at what index to place the letter at the bottom of the pile, where to place the letter that arrives next, and so on.  The general ideas should be similar to taxi dispatch, in which we also had to keep the index of where the next driver will be placed etc.



An Introduction to Programming through C++ - Solution of Assignment 7 uploaded

Invalid HTML tag: attribute name "margin: is not allowed on url /noc19_cs39/announcements?



An Introduction to Programming through C++ - Assignment 7 Re-evaluated

Dear Students,

Based on the discussions, it was found that Q4. option (d) is also correct and hence it is included in the answer set. In addition, for Q12, a couple of students have answered as A[n-1] instead of A[0]. Note that if there is only one element in the array (n==1) you do not have to write an expression n-1 to get a zero, rather you should write a simplified anaswer (i.e., A[0] ) which is clearly mentioned in the question. This time it is awarded marks but please do not continue such practice which will not be graded in forthcoming assignments. 

Kindly, check your marks for Q4 and Q12.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Examination and Registration

Dear Students,

This is to inform you that examination for this course will be held in 2nd week of November, 2019. Also, the particular date of examination and related information will be intimated well in advance.

The registration site for the examination will be re-opened soon, and you will given at least two weeks time to register for the examination. Hence, please be assured that you will be given a chance to appear for the examination if you wish.

For the time being, please concentrate on the course and attempt the assignments at your best. The particulars of examination and registration will be announced separately once the site is ready.

with best regards,
NPTEL Team

 


An Introduction to Programming through C++ : EXAM FORM IS UP - REGISTER TODAY!

Dear Learner 

Exam form is open now. 

New Certification exam registration URL is: https://examform.nptel.ac.in/ 

Login here using the same email id which you had used to enroll to the course in Swayam portal. 

Exam fees: 

• If you register for the exam and pay before Oct 3, 10:00 AM, Exam fees will be Rs. 1000/- per exam. 
• If you register for the exam before Oct 3, 10:00 AM and have not paid or if you register between Oct 3, 10:00 AM & Oct 7, 5:00 PM, Exam fees will be Rs. 1500/- per exam. 

Registration deadlines are being extended until Oct 7, 2019. 

FDP Certificate: 

We will publish a separate form for FDP Certificate, please wait for that to hear from us. 

IMPORTANT NOTE: 

1. For the users registered/paid before 5th September 2019. We have your registration completed with all details captured. We will enable you to check/make payment in a few days, maximum before Sep 24, 2019. So do not worry. 

2. Always use chrome browser to log in and register for the exam. 

3. Payment Receipts will be available in the login once after the registration is closed. (After Oct 8, 2019) 

4. Pay via SPOC is not currently enabled, hence fill the form and submit and contact your college coordinator 

5. Old Exam Registration URL  will not work. 

In case of queries, please write to 
support@nptel.iitm.ac.in

Thank you for your support and understanding. 

- NPTEL team.


An Introduction to Programming through C++ - Correction for Assignment-8

Dear Learners, (re-correction)

The description for Q1 and Q2 are corrected as follows.

Instruction for Q1 and Q2: Consider the following code fragment of a program. Assume the user types "Rajesh Khanna" without the quotes as the input.

char buffer[80];
cin >> buffer;

All other parts of these questions are correct. Thanks to Mr. Mudit and DVP for pointing out.

Good luck,
NPTEL Team


An Introduction to Programming through C++ - Contents and Assignments of Week 8 have been uploaded

Dear Students,

The lecture videos for Week-8 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: Week 8 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


Assignment 8 for Week-8 is also uploaded and can be accessed from the following link: 
Assignment 8

Programming assignments for Week-8 are also uploaded and can be accessed from the following links: Programming Assignment 8-Programming Assignment 8-2 Programming Assignment 8-3
Programming Assignment 8-4

Assignment 8 has to be submitted on or before 
Wednesday, 25-09-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 28-09-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team



An Introduction to Programming through C++ - Solution to Assignment 6 is uploaded

Dear Students,

The solution to assignment is uploaded for week-6 in the following link.
 
                 Assignment Solutions

Kindly go through each of those. In case an explanation is needed, please state the assignment and question number.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Clarification on Q7 Assignment 7

Dear Students,

Q7 has a minor mistake in the question description especially in the second loop, thanks to Mr. Vipul who pointed it out. Hence, the modified question is as follows.

 Suppose I am given arrays x[0..9], y[0..9] such that x[i], y[i] are x,y coordinates of the ith point. I wish to decide if any 3 of these are on the same straight line using the following code fragment:

bool collinear = false;

for(int i=9; i>=0; i--)

for(int j=j1; j>=0; j--)

for(int k=k1; k>=0; k--){

if(collinear3(x,y,i,j,k))

collinear = true; // function collinear3 returns true if ith, jth, kth points are collinear

}


Which of the following values of j1, k1 should I use to test each combination for collinearity? 


Some clarifications and hints for quiz for week 6

Hint for problem 1: If I just had red blocks and blue blocks, then the situation would have been exactly like poetic meters.  The number of different towers using these blocks would be the same as the number of poetic meters using short and long syllables.  In fact you could take a poetic meter, change s to a red block and L to a blue block, and you would get a tower.  The problem given is a generalization -- but you can approach it exactly the way Virahanka did.

Clarification for problems 8-9:   It appears that codeblocks is not allowing lambda expressions. I will look into this.  I hope the quiz questions are simple enough that you can answer without this.  Alternatively, you can use the online C++ compilers such as

https://www.onlinegdb.com/online_c++_compiler
These will not have graphics, or repeat, or the keyword main_program, but everything else, including lambda expressions will work fine. There are other online compilers also.

Clarification for problem 10: Please write exactly what the program prints.  In this case the program will not print commas but will print spaces, so use spaces.


An Introduction to Programming through C++ - Solutions to Assignments are uploaded

Dear Students,

The solutions to assignments are uploaded for week-1 to 5 in the following link.
 
                 Assignment Solutions

Kindly go through each of those. In case an explanation is needed, please state the assignment and question number.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Week 7 Contents and Assignments have been released

Dear Students,

The lecture videos for Week-7 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: 
Week 7 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).


Assignment 7 for Week-7 is also uploaded and can be accessed from the following link: 
Assignment 7

Programming assignments for Week-7 are also uploaded and can be accessed from the following links: Programming Assignment 7-Programming Assignment 7-2 Programming Assignment 7-3

Assignment 7 has to be submitted on or before 
Wednesday, 18-09-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Saturday, 21-09-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team



An Introduction to Programming using C++ - Assignment 5 Re-evaluated

Dear Students,

We are really sorry for the inconvinience caused to you due to wrong answers set for Q2-4. Now, the answers are re-configured including Q5. The re-evaluation has been done for Assignment 5.

Kindly, check your marks and assessment score.

with best regards,
NPTEL Team


An Introduction to Programming through C++: Programming Assignment for week 5 and 6 are extended!!

Dear Learners,


Week 5 programming assignment due date extended till  07-09-2019, 23:59 IST (Saturday).

https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=71
https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=83
https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=84

Week 6 programming assignment due date extended till  14-09-2019, 23:59 IST (Saturday).

https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=99
https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=100
https://onlinecourses.nptel.ac.in/noc19_cs39/progassignment?name=101

-NPTEL Team


An Introduction to Programming through C++ - Programming Assignment Deadline on September 5

Dear Students,

Kindly note that the deadline for programming assignments is  extended up to mignight of Thursday, September 5.

Sorry for the delayed intimatation, hope it will help you.

regards,
NPTEL Team


An Introduction to Progrmaming through C++ - Assignment 4 Re-evaluated

Dear Students,

Assignment 4 was re-evaluated today. Q10 was scapped, so, you will not receive any mark for it it irrespective of your answer. Some of the answers are re-configured based on the discussion forum.

Kindly, check your new marks and assessment score (under Progress menu) on computer to know exact grading. Mobile view may mislead the marks and grading.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Programming Assignment 4

Dear Learners,

Programming Assignment 4-1, 4-2, 4-3 are not graded and will not be considered for final gradation.
However, in case you may find marks for those when your check for assessment score, kindly ignore those. Please be assured that finally these marks will be discarded while computing the total. 

with best regards,
NPTEL Team


An Introduction to Programming through C++ - Week 6 Contents and Assignments have been uploaded

Dear Students,

The lecture videos for Week-6 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: 
Week 6 Video lectures


The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).

Assignment 6 has to be submitted on or before Wednesday, 11-09-2019, 23:59 hours.
Programming Assignments have to be submitted on or before Thursday, 12-09-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


An Introduction to Programming through C++ - Assignment 5 - format for Question 2,3,4

Dear Learners,
Here is the format for answering Q2,3,4 of Assignment 5.

Apply comma between multiple elements without any spaces, please read the instructions given above. For these questions, a character input is required in the function call. Hence, input it as you pass a character constant. For example, we have two variables for the function call of this question, one is character and other one is an integer. Consequently, there are two blanks for a function call. Let us say the character is 'x' and the number is 100 then, you should  write your answer as follows.
                                           'x',100
Now, if you have to answer for four blanks then write in the following format.
                                           'x',100,'y',200 

If you have not answered in the same way as discussed above, then change your answer to the format above and resubmit.

Good luck
NPTEL Team


An Introduction to Programming through C++ - Assignment5-Q6 Clarification

Dear Students,

It is observed that description of Q6 and the given code are bit confusing. Hence, the question should be read as follows.

The function below is expected to compute the square of a given number. 

void square(double *x){
   blankK
   return;
}

Notice that the number can be passed in a format as needed in the signature of the above function. You need to choose the correct option which computes the square as per the parameter, which will be substituted in the place of blankK.

thanks and regards,
NPTEL Team 


An Introduction to Programming through C++ - Live interaction with Course Instructor

Dear learners,

 

You can interact LIVE with the Course Instructor Prof. Abhiram G. Ranade, IIT Bombay of the course – "An Introduction to Programming through C++".

 

Date: Friday 6 September

 

Time: 4-5 pm

 

Link to login to YouTube in the following link: https://www.youtube.com/watch?v=B8NANNsawz0

 

Enter your questions you want Prof. to answer in the following link (you may enter the questions in advance)Google Form Link  

 

You can also ask your doubts during the session through the chat window of the video on YouTube.

 

We would also like to hear from you after the session. Request you to share your thoughts in the forum. 

 

- NPTEL team


An Introduction to Programming through C++ - Programming Assignment 3-1 & 3-2 Re-evaluated

Dear Students,

It was noticed that a set of students got "run-time error" due to last minute submission and server overloading . Hence, Programming Assignment 3-1 and 3-2 are re-evaluated. Kindly, check your marks and overall progress.

However, please note that it may not be feasible to apply such re-evaluation frequently. Therefore, it is recommended that you need to submit Programming Assignments well in advance in order avoid any such errors or losses in marks.

Please cooperate and submit your assignment at earliest.

thanks,
NPTEL Team   


An Introduction to Programming through C++ - Marks and Assessment Scores (Progress)

Dear Students,

Recently, the assignments were re-evaluated. Subsequently, and many of you raised complaints regarding the assessment scores (progress). However, there is no enough evidence from you guys about the exact issues. Hence, if you need us look into the matter then please reply to this email in the following format (use a computer only to perform these tasks, no mobile outputs).

  1. Write your registered email address in your email.
  2. Take the screenshot of the assignment marks, and make it a pdf file, You may also print it directly from your web-browser.
  3. Make a summary of your correct and incorrect answers of the respective assignment and make a pdf or write directly into the pdf generated in 2.
  4. Take a screenshot of your assessment score given under Progress menu.
  5. Merge 2,3,4 into a single pdf (pdf mergers are available online for free).
Please note that your query will be definitely processed only if your replying to this announcement and you are writing the email in the format given above. Otherwise, your query may remain unanswered.

The deadline to report the above discrepancy is Thursday, August 29, 23:59 Hours.

with best regards,
NPTEL Team.


An Introduction to Programming through C++ - Week 4 Programming Assignments Not to be Graded

Dear Learners,

This is to inform you that Programming Assignment for Week-4 (4-1,4-2,4-3) are decided to be ungraded. These questions are basically about writing codes for common mathematical functions, which results in approximate answers. However, at present there is not sufficient facility to verify the answers of these questions since a set of answers are acceptable. Therefore, the weights of these programming assignment are set 0 and it will not affect your grades irrespective of submission.

However, students can pursue these assignment as good means for practice and try to write the codes. In fact, some of the students have already submitted these assignments, which is definitely useful for understanding the programming mechanism. Hence, rest of the students are highly encouraged to attempt to code these programs. Note that there may be a programming test for the final certificate examination.

Coding is essential to test your programming skills and to implement your ideas. Learn these techniques and gain confidence through these programming assignments.

best of luck,
NPTEL Team.


An Introduction to Programming through C++ - Assignment-2 Re-evaluated again, Score Card

Dear Learners,

Assignment 2 is re-evaluated again. Kindly, check your answers and marks now.

ln addition, recheck your progress report and verify your total score you are obtained for respective assignments. Some of the students had complained that the total score is not updated correctly. If you feel that there is some issues in total score then please write to 
noc19-cs39@nptel.iitm.ac.in by exclusively mentioning your email address, screenshots of assignment, and screenshots of progress report.

Kindly be responsive with appropriate evidence to resolve your queries better.

thanks and regards,
NPTEL Team


An Introduction to Programming through C++ - Re-evaluation of Assignment-2 and Assignment-3

Dear Students,

In the discussion forum, recently we encountered several issues regarding grading of Assignment-2 and Assignment-3. These happened due to wrong answer set up, formatting issues, or alternative acceptable answers. 

In order to compensate for it, both Assignment-2 and Assignment-3 are graded again after re-configuring the answers. Some of the answers are relaxed due to lack of strict instructions of formats. Otherwise, a few of the unacceptable formats could not be configured due to the limitations on answer format types, kindly cooperate.

Kindly, revisit and review your scores for the re-evaluated assignments. Thank you for your participation in the forum which has helped us in bringing correctness and changes.

with warm regards,
NPTEL Team.




An Introduction to Programming through C++ - Re-evaluation of Assignment-1

Dear Learners,

As issues raised by few of the students for Q9 which involves a multiplication operation, we have re-evaluated Assignment-1 once again. Kindly check your updated scores.

thanks and regards,
NPTEL Team 


An Introduction to Programming through C++ - Notes for Assignment-4 and Re-submission

Dear Students,

This is to clarify the format for writing minimum or maximum of given numbers as certain questions in this assignment requires such answers. 

Let us assume that the answer is minimum of X and Y. Then, kindly write it in the text-box in the following format.
                               minimum(X,Y) 
Note that in the above format, there are no spaces in between the word minimum, operator brackets, or variables. The same kind of format is applicable for maximum.

Any deviation from it will not be given marks, or no further queries will be accepted. In case you have already submitted your assignment then please revisit, and if required re-submit it in the prescribed format for such kind of answers.

Good luck,
NPTEL Team


An Introduction to Programming through C++ - Week 5 content and Assignments have been released

Dear Students,

The lecture videos for Week-5 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: 
Week 5 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).

Assignment 5 for Week-5 is also uploaded and can be accessed from the following link: Assignment 5 . 

Programming assignments for Week-5 are also uploaded and can be accessed from the following links: Programming Assignment 5-1 Programming Assignment 5-2 Programming Assignment 5-3

Assignment have to be submitted on or before Wednesday, 04-09-2019, 23:59 hours.

Programming Assignments have to be submitted on or before Wednesday, 04-09-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


An Introduction to Programming through C++ - Submission of Programming Assignments

Dear Students,
It was noted that a few of the students encountered run-time error while submitting the programming assignments. According to our team, the main cause of such run-time error is that  the last minute submission of assignment.

Kindly note that programming assignments have certain weightage in the final grading. Hence, if you really concerned about the marks then please follow the following conventions regarding programming assignment submission.

  1. Always submit your programming assignment well ahead of the deadline, avoid rush in the last minute.
  2. Compile and run your program in Swayam interface.
  3. Verify correctness of the answers for public test cases. Proceed only if all of those are correct.
  4. You need to submit your programming assignments apart from writing the code and compilation. Some of the students are forgetting to submit the assignment.
  5. Always report issues if any well in advance in the forum, preferably in the specific thread created by NPTEL team, or at least write an appropriate subject (heading) in your query to distinguish it from Quiz.
 Hopefully, you guys will submit the programming assignments at earliest.

Good luck,
NPTEL Team


Quiz 2 Problem 11

This is the problem in which you were given a plan, and you were to give code which fits the plan.
The solution is d.  You will see that if we assume that the values are as given in the plan at the beginning of iteration t, and if we execute the code of option d, then the values in iteration t+1 will indeed be as given in the plan.

It is true that option b will also produce the final answer.  However, this does not do what was asked: give code which follows the plan.  If you assume that at beginning of iteration t the value of i was t-1 and the value of term was 1/t!, then the first step of option b would  cause term to become 1/t!/t which is not 1/(t+1)! as needed at the beginning of iteration t+1.

So option b is incorrect.


An Introduction to Programming through C++ - Assignment-1 Evaluated Again

Dear Learners,
Based on your feedback, Assignment-1 (week-1) has been re-evaluated once again. Particularly, the answers were re-configured for Q2,Q9,Q10. Further, Q3 has been scraped from the assignment, although it is visible on the assignment page yet has 0 weights (see its right). 

You should check your score again. If issues persists then report it by Sunday, August 25. For best replies to such queries, kindly place your questions under a particular thread generated by the instructor.

thanks & regards,
NPTEL Team


An Introduction to Programming through C++ - 2nd Re-evaluation of Assignment-1

Dear Students,

We had received several complaints regarding Assignment-1 scores, even after re-evaluations. Some of the queries and suggested answers seem to be correct if the formatting constraint is waived. 

Hence, we are considering to evaluate Assignment-1 once again with changed answers. The re-evaluation will be completed by late evening. Afterwards, kindly check each of your questions, answers, and overall score, preferably on a computer. If the issues persist then please report to us with valid screenshots taken on a computer.

Please cooperate and give us proper feedback on this re-evaluation of Assignment-1 latest by Sunday (August 23) evening. 

with warm regards,
NPTEL Team


Correction in code given for questions 4-6 of quiz : assignment 3

Currently the code is 

int aCount=0;
while(true){
  char c; cin >> c;
  if(blankD) blankE = blankF;
}
cout << aCount << endl;

It should be

int aCount=0;
while(true){
  char c; cin >> c;
  if(blankD) blankE = blankF;
  if(c =='.') break;  // line added
}
cout << aCount << endl;
Thanks to Mudit Khetan for pointing out this correction.

One more point: please do not put blanks in your answers unless you need them specifically.


An Introduction to Programming through C++ - Prerequisites for re-evaluation of Assignment

Dear Students,
Last week, we have recorded a numerous requests for re-evaluation of various questions and programming assignment. Please remember that re-evaluation needs sufficient evidence. Here are some of the notes which are absolutely mandatory to incur re-evaluation.

  1. Take screenshots only in desktop.
  2. Justify your answer with valid arguments and proofs if necessary. 
  3. Take suitable assumptions which are trivial and not affecting the answer.
  4. For Quiz answers where multiple elements are present in a single answer, kindly segregate those with comma or space or as instructed in the question.
  5. For Programming Assignment, it is necessary to submit the assignment apart from compile and run. Always take screenshots which show that (1) your code has passed compilation and (2) you have submitted the program. So, there will be at least two screenshots for Programming Assignments.
  6. If a dedicated announcement is given in the discussion forum regarding re-evaluation then please place your queries only to that thread with your answers as specified in that announcement.
If you fail to follow the above regulations then your query may not be considered or missed for re-evaluation.

with best regards,
NPTEL Team


An Introduction to Programming through C++ - Solution to Assignment 1

Dear Students,

The solution of Assignment-1 has been uploaded for the course "An Introduction to Programming through C++".

The solution of Assignment-1 can be accessed using the following link: 
Solution to Assignment-1

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


An Introduction to Programming through C++: Week-3 Feedback

Dear learner,

Thank you for enrolling to this NPTEL course and we hope you have gone through the contents for week-3 and also attempted the assignment. We value your feedback and wish to know how you found the videos and the questions asked - whether they were easy, difficult, as per your expectations, etc. We shall use this to make the course better and we can also know from the feedback which concepts need more explanation, etc.

Please do spare some time to give your feedback - comprises just 5 questions - should not take more than a minute, but makes a lot of difference for us as we know what the learners feel.


Thank you.
-NPTEL Team


An Introduction to Programming through C++ - Re-evaluation of Assignment-1

Dear Students,

Based on your queries, Assignment-1 (week-1) has been re-evaluated for the course "An Introduction to Programming through C++". The answers were re-configured after validating the requests for Q3 and Q10. 

You may check your score again. Hopefully, it leads to satisfaction of majority of the students. If something is unresolved kindly let us know through feedback system.

NPTEL Team


An Introduction to Programming through C++ - Week 4 content and Assignments have been released

Dear Students,

The lecture videos for Week-4 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: 
Week 4 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).

Assignment 4 for Week-4 is also uploaded and can be accessed from the following link: Assignment 4 . Note- if a question has multiple answers then please separate those with comma without having space (e.g- m,n,s). Also, there is no space between the operator and variables (e.g.- m+n or m*n). Lastly, remember that a programming statement is an single entity, so, you need to write it as a statement with or without spaces as applicable (e.g.- int x; or x=x+1;). However, if there are multiple statements to answered in a single text-box then use comma in between those statements (e.g.- punUp();,forward(90);,penDown();,forward(-90);).

Programming Assignment 4 for Week-4 is also uploaded and can be accessed from the following links: Programming Assignment 4-1 Programming Assignment 4-2 Programming Assignment 4-3

Assignment have to be submitted on or before Wednesday, 28-08-2019, 23:59 hours.

Programming Assignments have to be submitted on or before Thursday, 29-08-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


Issues with evaluation and display of Assignment 1 scores

Dear Students,


Many of you are complaining regarding wrong evaluation of Assignment 1. Also, there are some alternative answers given for Q3 and Q10 which are under consideration, so, correct answers will be given marks. However, the major complain was regarding Q4 and Q7. In this regard, NPTEL Office has said that it is an issue of the mobile view and students need to check their marks on desktop and also verify the total score. The details are given as follows, please read carefully, and if the issues still persist then please share the problems by attaching screenshots.

----

What is the Problem?
We have noticed problems with display of marks on some mobile clients. For some mobile users, even when they have given the correct answer, the score for the individual question is shown as 0 in the assignment page.

This is a problem only with display of scores on their mobile version. The assignments are evaluated correctly, their scores displayed on "Progress" tab are also correct, and the desktop version also displays the scores correctly. This error is specific to a few combinations of mobile OS and browser display, which the team is trying to debug.

How can students see the correct results?
If you see such queries on the forum:
* Please ask student to check their "Progress" tab for the correct scores
* If they wish to know scores for each question, please ask them to use a desktop
* If they wish to view scores on the mobile, ask them to switch to desktop view.

How to switch to desktop view?
If they wish to see marks on their mobiles, they could switch to desktop view on their mobile browser by opening the browser menu (three lines or vertical dots next to the URL bar) and choosing the option to switch to "Desktop View". They will be taken to full desktop site, where the display is correct.

Help us identify the error
Since most mobiles they tested did not show the error, following details from the users will help us identify the issue:
1. Mobile model.
2. Android version.
3. Browser user.
4. Browser version.
The above details will help us to debug the issue faster. We will try to fix this asap.

With warm regards
NPTEL Team


An Introduction to Programming through C++ : Due date for Assignment 2 Extended!

Dear Learners

Based on requests received, we are extending the deadline of the assignment 2.

Deadline for Assignment 2 has been extended till August 21, 2019 - 23:59 IST

Deadline for Programming Assignments 2-1 and 2-2 has been extended till August 22, 2019 - 23:59 IST

Assignment 1 will close on 14 August 2019 - 23:59 IST, as per the original deadline. 

- NPTEL Team


Clarification about problems 12-14 of Quiz: Assignment 2

1.  Please assume that the input given to the program, n, will always

be > 0.  Further, assume that n is the total number of terms to be

added, including the first term.  In other words the program computes

the sum 1 + 1/1! + 1/2! + ... 1/(n-1)!  This is slightly different from

what the program in the lecture did.


2.  In question 13, you are asked to give the number of divisions needed

for n=10.  So this the number of divisions needed to calculate 1 + 1/1!

+ ... 1/9!.


3.  In question 14, you are asked to give the number of divisions needed

for n=10 by the program from the lecture.  So this the number of

divisions needed to calculate 1 + 1/1! + ... 1/10!



An Introduction to Programming through C++ - Week 3 content and Assignments have been released

Dear Students,

The lecture videos for Week-3 have been uploaded for the course "An Introduction to Programming through C++".
The lectures can be accessed using the following link: Week 3 Video lectures
The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).
Assignment for Week-3 is also uploaded and can be accessed from the following link: Assignment 3
Programming Assignment for Week-3 is also uploaded which has two parts. The first part can be accessed from the following link: Programming Assignment 3-1 and the second part can be accessed using link Programming Assignment 3-2
Assignment and Programming Assignment for Week 3 has to be submitted on or before 
Wednesday, 21-08-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


If your programming assignment works on your computer but not when submitted on-lline

Sometimes the difference might be very minor, e.g. you are printing an endl while the answer does not contain that endl.  Or you may be printing a prompt "Please enter n:" while in general we dont expect you to print any prompt.

If you carefully see the "actual output" and the "expected output", you should be able to spot the difference.  That should tell you what you can do to change your code so that it produces what we expect.

We realize that we may be forcing you to change your program even though in some sense your program was already correct.  Please note that a computer is grading your program, and so your output must exactly match what we have given as the answer.  Please bear with this; it should be easy to make the minor change because the expected and actual outputs are being shown.


Mistake corrected in Assignment 1-2

There was a mistake which has now been corrected.  Please submit the solution now.


Regarding codeblocks problems

Many students have installed codeblocks from the codeblocks site.  This will not work.

You need to install codeblocks from www.cse.iitb.ac.in/~ranade/simplecpp -- pick the correct (novice) version for windows or linux as you need.  These versions have simplecpp already configured inside them.

For windows: If you installed another codeblocks earlier, then you need to uninstall it first.  It appears that the uninstallation does not work nicely, and so you might in addition need to rename the folder C:\mingw to something else, say c:\oldmingw.

Sorry this is a bit complicated.


Programming assignment and demo to show submission

Three programming assignments have been released.  Two of them are for you to submit, the third is a demo.  To submit, you have to first select the language.  You can select only C++.  Once you do that, a textbox will appear in which you have to type in the program.  In the program, you dont need to type in "#include <simplecpp>", this is already there.  You just have to type in the main program as usual.  After you finish typing, press the compile and run button.  This will compile the program and show if there are textual mistakes in your program.  You should correct these and then again press compile and run.  If the compilation is successful, your program will be run.  The input values to the program are already stored by us in "test cases".  These values will be used.  What your program produces and what is expected will also be shown.

The "Demo Assignment" is not for you to do, but is given so that you can see an example of how the process works.  When you open it you will see the statement and the test cases and the expected output and actual output for the test cases we have already stored.  If you again press on "select language" and choose C++, you will also see the code as you would be expected to type in the text box.  Do not worry about the messages "due date exceeded"; as said above this only to show you the process.


An Introduction to Programming through C++ - Week 2 content and Assignment 2 have been released

Dear Students,

The lecture videos for Week-2 have been uploaded for the course "An Introduction to Programming through C++".

The lectures can be accessed using the following link: 
week 2 Video lectures

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).

Assignment 2 for Week-2 is also uploaded and can be accessed from the following link: Assignment 2

Assignment 2 has to be submitted on or before Wednesday, 14-08-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team



An Introduction to Programming through C++ : Steps to access the assignment through Mobile App

Dear Learners 

Assignments have been released for all courses for week 1. If you are using the mobile app, please ensure you see the assignment link. If you don't, please do the following steps: 

Step 1: Go to setting on your android phone 
Step 2: Go to the “Apps” in the settings 
Step 3: You will get a list of apps. Click on Swayam app 
Step 4: You will see app info. Go to the storage in the app info 
Step 5: Click on clear data and clear cache button. 
Step 6: Login again to the SWAYAM app using the credentials used to enroll in the course. 


Please note that if the OS version in your Android phone is 6, the content may not show up properly. Kindly refer to the web version to ensure you see all the contents of the week and then proceed to use the app. 

 -NPTEL Team


Regarding using simplecpp for graphics

We realize that several people have had difficulty in installing simplecpp.  We will work with everyone to see that this gets done.  But this might take some time.

However, even now you will be able to do some programming -- specifically you will be able to solve the programming assignments that we will give without having installed simplecpp.  This is because the programming assignments have to be done on-line, and the on-line system has simplecpp to the extent required for the assignment.

So in summary, we will help you install simplecpp.  However, you should do the programming assignments that we will release soon even if you are unable to install simplecpp.

Abhiram Ranade


An Introduction to Programming through C++ - Week 1 content and Assignment 1 has been released

Dear Students,

The lecture videos for Week-1 have been uploaded for the course "An Introduction to Programming through C++". 

The lectures can be accessed using the following link: 

The other lectures in this week are accessible from the navigation bar to the left. Please remember to login into the website to view contents (if you aren't logged in already).

Assignment 1 for Week-1 is also uploaded and can be accessed from the following link:

Assignment 1 has to be submitted on or before Wednesday, 14-08-2019, 23:59 hours.

As we have done so far, please use the discussion forums if you have any questions on this module.

NPTEL Team


Submit Assignment 0

Assignment 0 has been uploaded in the portal. This is a non-graded assignment but you need to submit so that you will be acquainted with the submission process of assignments. In fact, you may submit your answers multiple times until the deadline.

The assignment contains 12 questions on basic mathematics of intermediate science degree which are referred in the lectures of this course. Each question carries one mark, so, you will get one mark for each correct answer. There is no negative marking. Conventionally, it desirable that you should score 8 or more, which will imply that you can comfortably understand this course.


REMINDER 2 : An Introduction to Programming through C++ : REGISTER TODAY - CERTIFICATION EXAM FORM IS NOW OPEN!

Dear Learner,


Here is the much-awaited announcement on registering for the Nov 2019 NPTEL online certification exam.
 
1.    The registration for the certification exam is open only to those learners who have enrolled in the course.

2.    If you want to register for the exam for this course, login here using the same email id which you had used to enroll to the course in Swayam portal

3.    Till the start date of the course, every Monday and Thursday at 5:00 PMwe will sync the enrollment data on the exam form. If you enroll in between, please wait till the nearest Tuesday/Friday 10:00 AM to register for the exam. Once the enrollment is closed, the enrollment data will be completely loaded and you can register any time.

4.    Date of exam: Nov 17, 2019  
•         Certification exam registration URL is: http://nptelonlinecourses.iitm.ac.in/
•         Choose an exam session: Forenoon: 9.00 AM -12.00 PM; Afternoon: 2.00PM - 5.00 PM
•         Choose from the Cities where exam will be conducted:  list of exam cities
5.    Exam fees:
•         If you register for exam and pay before Sep 23, 10:00 AM, Exam fees will be Rs. 1000/- per exam.
•         If you register for exam before Sep 23, 10:00 AM and have not paid or if you have registered between Sep 23, 10:00 & Sep 30, 5:00 PM, Exam fees will be Rs. 1500/- per exam
 
6.    50% fee waiver for following categories:
•         Students belonging to the SC/ST category: please select Yes for the SC/ST option and upload the correct Community certificate
•         Students belonging to the PwD category with more than 40% disability: please select Yes for the option and upload the relevant Disability certificate.
 
7.    Last date for exam registration:  Sep 30, 2019 5:00 PM (Monday).
 
8.    Mode of payment:  Online payment - debit card/credit card/net banking or via SPOC of college (refer to guidelines for “Pay via SPOC” instructions)
 
9.    HALL TICKET: The hall ticket will be available for download tentatively by 2 weeks prior to exam date. We will confirm the same through an announcement once it is published.
 
10. Final score on certificate: 25% of assignment score + 75% of certification exam score.
Award of certificate:  No hard copy of certificate will be printed. The soft copy of certificate will be awarded only to those candidates who register for the exam, attend the certification examination and whose AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100. Please check the Announcements section of your course for further details on this. 
 
11. FOR CANDIDATES WHO WOULD LIKE TO WRITE MORE THAN 1 COURSE EXAM:- you can add or delete courses and pay separately – till the date when the exam form closes. Same day of exam – you can write exams for 2 courses in the 2 sessions. Same exam center will be allocated for both the sessions.
 
12. Data changes
 
Following are the data that can be changed once the exam form is submitted (Last date for data changes: 30 Sep 2019, 5:00 PM):
•        Data that can be changed in form by candidates themselves: Name, DOB, Address, College name, Photo, Signature, Exam city
•        Data that can be changed by Email request to us : Course selected, exam shift. For changes in these parameters, you may send email to support@nptel.iitm.ac.in giving your Application number, email id and name. 
•        No changes will be entertained in any details after 30 Sep 2019, 5:00 PM.
 
13. LAST DATE FOR CANCELLING EXAMS and getting a refund: 30 Sep 2019, 5:00 PM

14. Click here to view Timeline and Guideline : Guideline

Thanks & Regards,

NPTEL TEAM


Welcome to SWAYAM-NPTEL Online Courses and Certification! - An Introduction To Programming Through C++

Dear student

Welcome to SWAYAM-NPTEL Online Courses and Certification!

Thank you for signing up for our online course "An Introduction To Programming Through C++". We wish you an enjoyable and informative learning experience.

Details regarding the course: 
Name of the course:  An Introduction To Programming Through C++
Course duration :12  weeks
 
 The course will begin on 29th July 2019. When content is released on the portal, you will get an email alerting you.

CONTENT AND ASSIGNMENTS

  • Every week, about 2.5 to 4 hours of videos containing content by the Course instructor will be released along with an assignment based on this.  Please watch the lectures, follow the course regularly and submit all assessments and assignments before the due date. Your regular participation is vital for learning and doing well in the course. This will be done week on week through the duration of the course.
  • Please do the assignments yourself and even if you take help, kindly try to learn from it. These assignment will help you prepare for the final exams. Plagiarism and violating the Honor code will be taken very seriously if detected during the submission of assignments. 


ANNOUNCEMENT AND DISCUSSION GROUPS TO CLEAR DOUBTS:

  • The announcement group - will only have messages from course instructors and teaching assistants - regarding the lessons, assignments, exam registration, hall tickets etc.    
  • The discussion forum (Ask a question tab on the portal) - is for everyone to ask questions and interact.Anyone who knows the answers can reply to anyone's post and the course instructor/TA will also respond to your queries. Please make maximum use of this feature as this will help you learn much better.
  • If you have any questions regarding the exam, registration, hall tickets, results, queries related to the technical content in the lectures, any doubts in the assignments, etc can be posted in the forum section

TO GET A CERTIFICATE - PROCESS AND CRITERIA:
  • The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
  • The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
  • Date and Time of Exams: 17th November 2019 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
  • Registration url: Announcements will be made when the registration form is open for registrations.
  • The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
  • Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 8 assignments out of the total 12 assignments given in the course. 
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Bombay.It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies are being discontinued from July 2019 semester and will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning. 

- NPTEL team