Announcements

  • (01 May). End sem answer papers have been evaluated. You can find your marks here. Some of you suggested alternative answers to some questions. You can see the updated answers here. If you have a crib about send sem marks or Quiz 2 marks (announced earlier on 26 Apr), please come for the crib session tomorrow. You can find more details of the crib session in the announcements made on 26 Apr below. No other cribs will be entertained tomorrow.
  • (01 May). Graded lab 7 has been evaluated. You can see your marks in Prutor. If you have any crib, please fill up the details in this form. The rules of the game are usual: A spurious crib will mean negative marks. Please fill up your cribs latest by 12:00 noon on Tuesday 3rd May.
  • (26 Apr). Your marks for all labs can be seen here. GL7 has not be evaluated yet. All cribs for the lab (except 12 specif cribs) have been handled and it would not be possible for us to entertain any communication about them.
  • (26 Apr). Your marks for quiz1, mid sem and quiz2 can be seen here. End sem and make up quiz have not be evaluated yet. The cribs of quiz1 and mid sem have been handled and it would not be possible for us to entertain any communication about them. The marks have been displayed only to ensure that your marks have been entered correctly. If there is a discrepancy between the entered marks and marks on your paper (and we have not deducted the marks because of a superfluous crib), please send an email to cs101@cse. You will need to show me the paper during the crib session on 2nd May. A superfluous intimation in this regard will fetch further negative marks.
  • (26 Apr). We have received some suggestions for alternative answers for end sem exam. We will consider them during the correction process. If possible, I will upload the details of which suggestions we have accepted and which not, before the crib session.
  • (26 Apr). As announced before, we will have a crib session for quiz 2 and end sem answer sheets on Monday 2 May. The timing is  from 12:00 to 12:30. The rules of the game are:
    • We will follow the same seating arrangement for the crib session as we followed for the end sem exam. You are required to report to the same class room and same block. The answer sheets are divided by the class room and block so reaching somewhere else would not help.
    • You are required to go through the model answers and grading scheme before you come to the session. We will not have the time to explain answers or correction to you.  If you are not satisfied with the correction, the TAs will note down your crib. These cribs will be processed the next day.
    • You are not allowed to take away your answer sheet.
    • If you are unable to come, you can request your friend to see your answer sheet. However, your friend will have to visit your class room and block. It is not possible for us to move the answer sheets from one room/block to  another. All this will have to be managed within the time limit of 30 minutes. It is not possible for us to extend the time because the class rooms are not available.
    • We receive many superfluous cribs which students make in the hope that their marks could increase and there is nothing to lose. In order to avoid this, we will follow a simple policy. We will require suggest your expected increase in the marks. If your claim is justified, your marks will be increased by appropriate amount. If your claim is found to be superfluous, your marks will be decreased by a quantum that could exceed the increase in the marks you claimed. The minimum decrease would be equal to your claim. Note that we have given negative marks after the last crib session.
    • No cribs will be entertained for answers written in pencil (including the drawings in pencil).
  • (21 Apr). As announced on 29 March, we will have a crib session for End Sem and Quiz 2 on Mon 2 May (most probably afternoon, I am awaiting confirmation of lecture hall booking).
  • (21 Apr). Solutions of end semester examination. Please let us know if you find any problems with the solutions.
  • (19 Apr). Solutions of Make up Lab held on Saturday 15 Apr.
  • (19 Apr). Solutions of Make up Quiz held on Saturday 15 Apr.
  • (19 Apr). Solutions of graded lab 7 (11 Apr to 14 Apr).
  • (12 Apr). We have the form for cribs for graded labs 5 and 4. Please fill up the form latest by Saturday 16 Apr. Please make sure that you select your lab number, lab day, and question correctly and enter your correct roll number.
    If you make a spurious crib, you will be awarded negative marks. You pay for increasing our work frivolously.
  • (10 Apr). Solutions of ungraded lab 6 (4 Apr to 7 Apr).
  • (06 Apr). Solutions of graded lab 6 (28 Mar to 31 Mar).
  • (31 Mar). We have finally got all TAs to finish the remaining re-evaluation of graded labs 1 to 4.  Please note the following:
    •  Your marks have been adjusted  to 15 for each lab with five marks for subjective evaluation based on the logic and 10 marks are for hidden test cases.
    • If you have not submitted a program, you have got zero marks for it. You need to submit the program for it to be evaluated. Many students told me earlier that their programs were not evaluated and we discovered that in most cases, the programs were not submitted.
    • You can submit your crib in the following form. Please make sure that you select your lab number, lab day, and question correctly and enter your correct roll number.
    • If you make a spurious crib, you will be awarded negative marks. There have been many such cases in the quiz1 and mid sem cribs. You pay for increasing our work frivolously.
  • (31 Mar). Please fill up this form for attending the help session tomorrow (Fri 1 April).
  • (30 Mar). Many of you are trying to ask me difficulties by sending me images of the programs you have typed in Prutor. I would to bring your attention to the following:
    • As the number of such requests increases it virtually becomes impossible for me to try out the program and respond individually. You are expected to be seeking the help your GTA (TA for your lab group) for such doubts. Here is a list of GTAs for each group. Please send an email to your GTA with a copy to cs101@cse.iitb.ac.in.
    • When you contact anyone with such a doubt, please do not email an image of Prutor page. Please save the program in a file and attach the program file. Use your favorite text editor such as notepad (no doc/docx/html/pdf files please).
    • Please give your TA some time, please don't expect a response in an hour or so, please do not leave your doubts to the last day before your graded lab/exam.
    • If your TA is unable to resolve your doubt please feel free to get back to me. Please send an email to cs101@cse and not to my cse or ldap email address (my emails to you from ASC come from my ldap email).
  • (29 Mar). Some of you could not attend the crib session for quiz1 and mid sem and I am getting many requests from students to see their answer sheets. I am thinking of arranging another crib session for those students who missed the earlier crib session.. Please note the following:
    • This is only for Quiz1 and Mid Sem. A separate crib session for Quiz2 and End Sem will be scheduled on Mon 2 May. If you miss it, there is no further possibility of showing you your Quiz2 and End Sem answer sheets.
    • Quiz1 and Mid Sem answer sheets will not be shown on Mon 2 May.
    • Arranging for another crib session for Quiz1 and Mid Sem is possible only if the number of students is small. Hence please fill up this form only if you have missed the first crib session and are keen on seeing your Quiz1 and MidSem answer sheets.
    • You will need to fill in your exam class room and block number in the form. You can find the seating arrangement of Quiz1 and Mid Sem.
    • The exact date and venue of the crib session will be decided based on the number of responses. If you are unable to attend this for any reason, sorry, bad luck.
  • (29 Mar). Answers of ungraded lab 5 questions.
  • (28 Mar). Some of you asked for an online programming tool for use when Prutor is not available. Our TA Siddhartha Datta has suggested this link. Of course, you would not be able to use simplecpp features with it.
  • (27 Mar). Graded lab 6 beginning tomorrow will have questions on structures and arrays similar to the questions in the ungraded lab in the previous week.
  • (23 Mar). Model solutions of Quiz 2. If you find any errors or alternative answers, please send an email to cs101@cse.iitb.ac.in.
  • (22 Mar). Practice Questions of ungraded lab 5 made available for quiz tomorrow.
  • (21 Mar). Solutions of Graded Lab 5.
  • (19 Mar). Quiz 2 (Wed 23 March) will be based on arrays and structures (concepts covered upto the lecture in the week ending on Fri 18 March). 
  • (17 Mar). We will not have a help session tomorrow because Thu 24 Mar ungraded lab will be engaged tomorrow (Thu 24 is a holiday on account of Holi).
  • (11 Mar). Next week's graded lab (graded lab 5) will be on arrays.
  • (11 Mar). Solutions of the Ungraded Lab 4.
  • (11 Mar). Solutions of the Graded Lab 4.
  • (10 Mar). Please fill up this form for attending the help session tomorrow (Fri 11 March).
  • (07 Mar). I have received feedback from many students that the last part of the arrays (particularly multi-dimensional arrays) was not very clear and hence it was difficult to understand some of the slides which I could not cover because if paucity if time. Hence the lectures on Tuesday 08 Mar will essentially be revision lectures in which I will explain multi-dimensional arrays and left out slides. The attendance in these lectures is optional. Please do attend the lecture if you want to understand the last few details of arrays.
  • (07 Mar). I am receiving many requests for showing the quiz and mid sem answer sheets. Had the number been rather small, I could have shown the answer sheets again, but the number of this requests is large and it is not possible for me to coordinate another schedule to cater to this request. Although you cannot see your answer papers, you can see your quiz marks and mid sem marks (note that your cribs have not been handled yet). Please get back to me (with your answer sheet) if you find a discrepancy between the marks on your answer sheet and the marks entered for you.
  • (04 Mar). As announced before, we will have a crib session for quiz 1 and mid sem answer sheets on Sunday 6 March from 3:30 to 4:00. The rules of the game are:
    • We will follow the same seating arrangement for the crib session as we followed for the mid sem exam. You are required to report to the same class room and same block. The answer sheets are divided by the class room and block so reaching somewhere else would not help.
    • You are required to go through the model answers and grading scheme before you come to the session. We will not have the time to explain answers or correction to you. If you are satisfied with the correction, you are free to take the answer sheet away after signing on a document with the TAs. If you are not satisfied, the TAs will note down your crib and will collect the answer sheet from you. These cribs will be processed later.
    • We receive many superfluous cribs which students make in the hope that their marks could increase and there is nothing to lose. In order to avoid this, we will follow a simple policy. We will require suggest your expected increase in the marks. If your claim is justified, your marks will be increased by appropriate amount. If your claim is found to be superfluous, your marks will be decreased by a quantum that could exceed the increase in the marks you claimed. The minimum decrease would be equal to your claim.
    • Once the answer papers are taken out of the class room, no cribs will be entertained.
    • No cribs will be entertained for answers written in pencil (including the drawings in pencil).
    • Cribs for labs will be handled separately by asking you to fill up an online form.
  • (03 Mar). Please fill up this form for attending the help session tomorrow (Fri 4 March).
  • (29 Feb). Some students gave me the feedback that the questions on recursive functions in the graded lab 3 (Mon 15 Feb to Thu 18 Feb) turned out to be difficult in the absence of practice questions and an ungraded lab before that. I have created a form for collecting feedback related to graded lab 3 on moodle. Please log in and provide the requested feedback.
Henceforth, all graded labs would have an ungraded lab before them. This weeks graded lab do not have any new questions and we have had one lab and one mid sem before the lab.
  • (28 Feb). The grade lab from Mon 29 Feb is based on functions and recursion (similar to those that appeared in the previous graded lab).
  • (24 Feb). The solutions of the mid-sem examination are available. Please let me know if you find any problems with them.
  • (20 Feb). Prutor access now has been enabled during the night too.
  • (20 Feb). Two students (Vamsi and Manasi) have provided interesting alternatives for a program to draw triangles inside triangles recursively. I have uploaded their programs in the  document giving the solutions of the questions for this week's lab. I also have included some explanation about the tax calculation program (last question on Thursday).
  • (18 Feb). The solutions of the questions for this week's lab are available. Please let me know if you find any problems with them.
  • (18 Feb). Please fill up this form for attending the help session tomorrow (Fri 19 Feb).
  • (16 Feb). The next lecture (Thursday 18 Feb for D2 and Fri 19 Feb for D4) before the mid sem examination will be engaged as help session. I will not over anything new in the sessions and attendance is optional. The mid sem exam will cover everything that we have covered until today's lecture. Further, you can walk into any of these sessions (and if the need be, in both of them), regardless of the division you belong to.
  • (16 Feb). Since there are issues with the biometric attendance system, I will take random attendance post mid sem.
  • (16 Feb). There is a small change in the grading policy. We will now count best five labs instead of six labs out of seven. The revised weightages are as shown below

    Assessment
    Weightage
    Quizzes (2)
    2 x 10 = 20
    Mid Sem
    20
    End Sem
    30
    Graded Labs (5 out of 7)
    5 x 5 = 25
    Post mid sem attendance
    5
    Total
    100

  • (14 Feb). Quiz 1 solutions (including grading instructions). Your answer sheets will be shown to you on Sunday 6 March along with the graded mid sem answer sheets. The exact time and place will be announced in due course of time.
  • (12 Feb). We will have a graded lab next week involving functions (including recursive functions). We have not covered pointers and there will be no questions on pointers.
  • (12 Feb). Here are the answers for the graded labs along with the grading scheme. Your marks for the graded lab are yet to be finalized. Please do not report your cribs until I announce the marks as final and I ask for the reports. And before you report anything please check the answers, the grading scheme, and ask yourself whether you have followed all the instructions given in the class.
  • (11 Feb). Please fill up this form for attending the help session tomorrow (Fri 12 Feb).
  • (04 Feb). Please fill up this form for attending the help session tomorrow.
  • (01 Feb). The current weightages for grade are as follows. I may change this slightly to include some marks (<= 5%) for attendance. This will be decided later.  This has been changed. Please see the announcement made on 16 Feb above.

    Assessment
    Weightage
    Quizzes (2)
    2 x 10 = 20
    Mid Sem
    20
    End Sem
    30
    Graded Labs (6 out of 7)
    6 x 5 = 30
    Total
    100
  • (31 Jan). Here are some sample questions for graded lab 2.
  • (30 Jan). We will have graded labs in the next week. You can see the complete lab schedule.
  • (24 Jan). The solutions of ungraded lab can be seen in Prutor.
  • (24 Jan). Some students asked me about the availability laptops for cs101. They are being made available by the FOSSEE project. Please fill up this form if you are interested in this arrangement.
  • (24 Jan). Our TAs have made some useful observations in the labs and have given some useful tips.
  • (21 Jan). Some practice questions for graded labs are available.
  • (21 Jan). We plan to hold a help session on Friday 22 Jan from 20:30 to 22:30 in OSL. Please check the rules of help session and fill up this form if you wish to attend the help session. Please fill up the form latest by 14:00 on Friday 22 Jan.
  • (20 Jan). Some clarifications about graded labs which are treated like examinations:
    • You are not allowed to bring in any material in the lab other than a pen/pencil box and your I-card (and possibly a bottle of water.
    • If you do not carry your I-card, you will be disallowed from taking the lab exam.
    • You will be required to keep your bags outside the lab. Please keep your cell phone in a switched off mode in your bag.
    • You will be given a 4-page answer sheet for rough work. You can do your rough work in it in terms of trying your ideas but you are not allowed to write program fragments in it. You will need to write your roll number and name in it.
    • You will need to submit your rough work sheet at the end of the lab. You also have to (obviously) submit your programs in Prutor.
    • Any attempt of peeping into your neighbours' terminals will result in you being debarred from the lab.
  • (19 Jan). This week's labs are ungraded. We will have graded labs in the week beginning Mon 25 Jan. You need to report to the lab on the day of your lab group as usual. Since Tuesday 26 Jan is a holiday, the Tuesday lab will be help on Fri 29 Jan. The programming questions will be based on what is covered up to this week (please see the description in the item below about the quiz on 27 Jan).
  • (19 Jan). We will have a quiz on Wed 27 Jan from 8:15 to 9:25 in the morning. The seating arrangement for this would be announced by the academic office. Some clarifications about the quiz are:
    • This will be a written (paper and pen) quiz.
    •  The questions will be based on the part covered from the first lecture until the lectures in this week (Thu 21 Jan lecture for D2, and Fri 22 Jan lecture for D4). This includes turtle graphics programs, variables, types, expressions, assignments, loops using repeat statements, and conditional execution.
    • There will be no questions on how computers work. You will not be asked to define terms or explain what various parts of a computer are. Similarly, there would no questions on Prutor.
    • The questions will be about writing simplecpp programs. If you look at the program fragments in the blue in our slides, these are the kind of things I will expect you to write. You may also be given a turtle graphics program and may be asked to draw the output.
  • (18 Jan). The final lab details are available. There is no change in the lab groups announced before, only new students have been included.
  • (17 Jan). We are in the process of assigning groups to the students whose names we have received late. Please keep checking your emails frequently. We expect to announce the groups by Monday afternoon and your batch may be on the same day in the night.
  • (17 Jan). The next week (Mon Jan 18 to Thu Jan 21) will have ungraded labs. on Fri 22 Jan, we will have a help session. As usual, you will need to pre-register for it. A form will be made available on Thu 21 Jan.
  • (17 Jan). The expected programs for the ungraded lab of the first week are available. Please observe the use of the repeat statement to avoid copying similar program text at many places.
  • (14 Jan). We plan to hold a help session on Friday 15 Jan from 20:30 to 22:30 in OSL. Please check the rules of help session and fill up this form if you wish to attend the help session. Please fill up the form latest by 14:00 on Friday 15 Jan.
  • (11 Jan). All Prutor login related issues have been sorted out. The solution was to replace your roll number by your IITB LDAP id. If you still have problems, the reason could be:
    • You are using the complete email address as the user. If your gpo email address is dumbledore@iitb.ac.in, you should use dumbledore as your user name for logging into Prutor and not dumbledore@iitb.ac.in.
    • Your name still does not appear in the lab groups. Please see the announcement below.
If the above reasons do not apply to you, we will fix the problems when you report for the lab as per schedule.
  • (11 Jan). If your name is not in the lab groups it means that your name did not exist in the cs101 registration list in ASC by Sunday morning. This could be because you have registered manually. We have been told by the academic office that we will get the list of such students by Thursday morning. If we do, we expect to accommodate you in the lab on Thursday. If not, we will try to accommodate you in help session lab on Fri. We cannot assign a lab group to any student until we can confirm the presence of name in the registration list on ASC.
  • (11 Jan). During the lab time, Prutor access will be disabled from outside. It will remain accessible only from within the lab.
  • (9 Jan). We are analyzing the problems with Prutor. At the moment we are not sure if it is a load related issue or whether it is an issue with LDAP authentication. From the emails received, it appears that the problem is faced by the students who have changed LDAP id. We were told that roll numbers always work as LDAP id (an evidence is that the emails sent to your roll numbers are reaching you even if your LDAP id is different.) We would like to collect exhaustive feedback about your experience so that we can fix the problem. Please provide your feedback in this form ASAP.
  • (8 Jan). Student accounts on Prutor have been enabled.  You have to login with your roll number (your LDAP id may be different and would not work). Use your LDAP password (the password that you use for accessing gpo.iitb.ac.in). If you face any difficulty, please send an email to cs101@cse.iitb.ac.in. We may need some time to fix the problems so do not expect instant reply.
  • (8 Jan). Your lab details are available. OSL refers to the Old Software Lab on the ground floor of Maths Department building. NSL Annexe refers to the Annexe of New Software Lab on the  ground floor of the old CSE building (situated next to the Maths building).
  • (5 Jan). All students are requested to fill up this questionnaire as soon as possible.
  • (5 Jan). Prutor does not know the names of the students at the moment and hence would not allow you to login. We will enter the names in a day or two and you should be able to login.


Lecture Slides

The Tuesdays (beginning 5 Jan) have lectures for both D2 and D4 divisions. The Thursday (beginning 7 Jan) have lectures for D2 whereas Fridays (beginning 8 Jan) have the same lecture repeated for D4.


Lab Schedule




Week
Nature of the lab
Remarks
1
Mon 11 Jan to Thu 14 Jan
Ungraded Lab 1

2
Mon 18 Jan to Thu 21 Jan Ungraded Lab 2
3
Mon 25 Jan to Thu 28 Jan Graded Lab 1
Tue 26 Jan is a holiday and hence the lab will be held on Fri 29 Jan
4
Mon 01 Feb to Thu 04 Feb
Graded Lab 2
5
Mon 07 Feb to Thu 11 Feb Ungraded Lab 3
6
Mon 15 Feb to Thu 18 Feb Graded Lab 3
Mid Semester Examination
7
Mon 29 Feb to Thu 03 Mar Graded Lab 4
8
Mon 07 Mar to Thu 10 Mar Ungraded Lab 4
9
Mon 14 Mar to Thu 17 Mar Graded Lab 5
10
Mon 21 Mar to Thu 24 Mar Ungraded Lab 5 Thu 24 Mar is a holiday and hence the lab will be held on Fri 18 Mar
11
Mon 28 Mar to Thu 31 Mar Graded Lab 6
12
Mon 04 Apr to Thu 07 Apr
Ungraded Lab 6

13
Mon 11 Apr to Thu 14 Apr Graded Lab 7
Since we are counting best 6 out of 7 graded labs, this lab is optional
End Semester Examination

The remaining Fridays in the week will be engaged as help sessions.



Help Sessions


We plan to hold help session in OSL on Fridays. For each help session, we will float a form which you need to fill up to attend the help session. You are the best judge to decide whether you need to attend a help session or not but some of the reasons why you may want to attend the help session are:
  • You want to do more practice of programming with our help. Note that this should be restricted to the programs we have given you for this week.
  • You are not so comfortable with your programming experience this week. The numbers given below may change from week to week.
By way of example, for the first week, we have given 8 questions. If you have been able to 6 or more questions and have checked that you are getting the correct images, you are doing well and perhaps do not need to attend the help session. If you have done only 3 or less than 3 questions then I strongly encourage you to come for help session. Note that the weeks questions will show up in your practice questions page on Prutor on Friday morning by 11:00 am and you may be able to do the questions without coming to the help session also.
  • You have some doubt about the concepts covered in the lecture so far.
Our experience of help session shows that many students fill up the form casually but do not come for the help session. Since we need to schedule human resource in the form of TAs, this wastes the time of the TAs. Hence if you fill up the form, you MUST ATTEND the help session. If you fill the form but do not attend the help session, there will be some kind of penalty (say marking you absent for the week in the lab etc.) If we find too many instances of such a behaviour the quantum of the penalty will be suitably enhanced.


Informal Course View


This course provides students with an entry-level foundation in computer programming. The goals of the course are to develop the programming ability in students, and to improve their proficiency in applying the computing fundamentals to their field of study. Topics include overview of high-level languages, introduction to C/C++ Library, basic data types, function definitions and declarations, conditional and iteration statement, array and string manipulation, recursive programming, introduction to searching and sorting and introduction to structures and pointers. In summary, the basic aim is to teach the student to program in C/C++ at a level where they are able to eventually write programs to help solve their everyday engineering, science and technology related problems.

Formal Course View

This course provides an introduction to problem solving with computers using a modern language such as Java or C/C++. Topics covered will include :
  • Utilization : Developer fundamentals such as editor, integrated programming environment, Unix shell, modules, libraries.
  • Programming features :Ability to translate from the informal description of an algorithm learned in the mathematics classroom into the constructs provided by the programming language.
  • Applications : Sample problems in engineering, science, text processing, and numerical methods.

Textbooks

  • An Introduction to Programming through C++, McGraw Hill Education, 2014, by Abhiram Ranade