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
- (5 Jan). Lecture 1 slides on Introduction to
programming, Prutor,
and Course Plan.
- (7-8 Jan). Lecture 2 slides: How Computers Work (1).
- (12 Jan). Lecture 3 slides: How Computers Work (2).
- (14-15 Jan). Revised Slides for lecture 4:
Variables, data types and expressions.
(These slides are expected to be revised). - (19 Jan). Slides for lecture 4: Expressions, assignments, and program design.
- (21-22 Jan). Conditional execution.
- (28-29 Jan). General Loops
- (2 Feb). Loop Invariants.
- (4-5 Feb). Common Mathematical Functions
- (9 Feb). Functions
- (11-12,16 Feb).
Recursion (will be revised shortly because the same lecture will continue on Tue 16 Feb).Revised slides on Recursion. The programs considered in the class to show the side effect of reference parameters: factorial_call_by_value.cpp, factorial_call_by_reference.cpp, fibonacci_call_by_value.cpp, and fibonacci_call_by_reference.cpp. Please try the variations that we considered in the class. - (1,3-4,8 Mar). Arrays.
These slides will be revised because the next lecture will continue with arrays. - (10-11, 15 Mar). Structure and
Objects.
These slides will be revised because the next lecture will continue with arrays. - (22 Mar). Object Oriented Programming and Classes
- (29,30-31 Mar). Standard Library.
(Revised)
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.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.
- You have some doubt about the concepts covered in the lecture so far.
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