Mythili Vutukuru
IIT Bombay
CS101: Computer Programming and Utilization, Spring 2023
Language taught: C/C++ (mostly C, with basics of C++)
No background knowledge in programming assumed
Team:
Instructor: Mythili Vutukuru (mythili@cse.iitb.ac.in)
Course managers:
Firuza Karmali (firuza@cse.iitb.ac.in)
Nagesh Karmali (nags@cse.iitb.ac.in)
TAs (UG and PG students)
Introduction to C programming
Variables and Operators
Structured Programming (if-else, while, for, switch, ..)
Functions
Arrays
Pointers and strings
Structures (time permitting)
Basics of C++ and classes (time permitting)
Lectures:
Section D1: Wed/Fri 11:05-12:30, LA 202
Section D2: Tue/Fri 2:00-3:25, LA 202
Labs:
Section D1: Thu 8:30-10:30pm, SL1, SL2, SL3, Basement lab (New CSE Bldg)
Section D2: Tue 8:30-10:30pm, SL1, SL2, SL3, Basement lab (New CSE Bldg)
Minor changes in a couple of lab slots due to public holidays (see detailed schedule)
Help sessions:
Help session by TAs: Wednesdays 5:30-7:30 pm, SL3
Help session by Firuza and Nagesh: Wed 5:30-6:30pm, CC 215 (New CSE Bldg)
Instructor office hours: Wed 6:30-7:30 pm, SIA-310 (Kresit 3rd floor, A block)
Exams:
Quizzes on Saturdays or during midsem/endsem week
Lab quizzes Mon/Tue/Thu/Fri 8:30-10:30 pm during lab quiz week
Weekly Labs: 10%
Many practice problems released every week, solve and submit any 2 programs
Marks assigned based on attendance and light-weight grading based on self-certification
Mainly for programming practice with TA help
Can work on your own laptops or the lab machines
3 lab quizzes (one every 4 weeks): 30%
Proctored programming tests on the lab machines (no network connectivity)
Grading based on demo and viva with TA
4 pen-and-paper quizzes (one every 3 weeks): 60%
2nd quiz during midsem week, 4th quiz during endsem week
All exams are cumulative (covers all concepts taught up to that point)
One makeup exam at the end of semester for theory and lab, only for valid reasons
All study material related to the course will be on Moodle
Lecture slides and sample code discussed in class
Practice problems for weekly labs and exams
All logistics and related information will be on Moodle
Student to TA mapping, lab seating arrangement
Seating plans and other instructions for all exams
All course grading will be done via Moodle
Code in lab quizzes to be uploaded on Moodle
All marks and feedback for all exams via Moodle
Announcements: all course announcements will come via Moodle
Discussion forum: ask doubts on discussion forum, respond to others doubts
No individual emails to instructor or TAs for doubts about course content
For confidential matters, please email instructor
“C How to Program: With an introduction to C++”
by Deitel and Deitel
Course will follow textbook very closely
Lectures, code examples discussed in class
All practice programming questions for weekly labs
All code from the book is here (also on Moodle)
https://github.com/pdeitel/CHowToProgram8e/a
rchive/master.zip
One PG TA assigned for every 14 students, one UG TA for every 28 students
Some TAs as backup to cover for TAs on leave
Weekly lab sessions (one per week)
Help students with practicing programming questions
Clear any other doubts in the course content
Update attendance-based grade on Moodle for weekly labs
Grading lab quizzes
Conduct demo and viva after lab quizzes (during subsequent regular lab hours)
Upload marks and feedback on Moodle
Informal help session to clear doubts from lectures every week (3-4 TAs per week)
Invigilation and grading of pen-and-paper quizzes, handling “cribs”
Lectures: main point of contact with instructor
Please ask questions during/after class
Weekly labs:
TA is main point of contact, but instructor will be available briefly
All exams: instructor is available, but avoid asking for clarifications
Moodle discussion forum: available to clear doubts online
Office hours: come by for one-on-one discussions
Email: only for personal/confidential/emergency/serious issues
Please do not hesitate to reach out to instructor any time
CS101 Course Managers: Firuza and Nagesh
TA management
Main point of contact for all TAs in the course
Maintain TA-student mapping, seating arrangement for labs
Tracking TA attendance and availability
Handling all logistics of the course
Ensuring smooth conduct of all lectures, labs and exams
Helping instructor with course content, exams, grading
Helping students with course content via office hours, Moodle discussion forum
Attend all lectures and follow along, ask questions, be proactive
Attend your weekly lab session
Ask TA for help if you are facing difficulties
Help others in your group/lab, especially if you have prior programming experience
Discussions encouraged during weekly labs
Attend help sessions and office hours as required
No copying code or any other unfair means during exams
Cheating will be dealt with strictly
Exams should be easy to attempt if you follow lectures and labs sincerely
Group with best aggregate performance will get a surprise gift at the end
Please help your peers learn!
Students and TAs to always ensure marks on Moodle are correct and consistent
All quizzes will be for 2 * W marks, where W is weightage of quiz in final grade
Lab quizzes will be for 20 marks each
Pen-and-paper quizzes will be for 30 marks each
Please ensure that marks updated on Moodle immediately after any changes/cribs
Your final course total is simply (total marks on Moodle / 2)
Each weekly lab will be for 2 marks each
Students can attempt the lab questions beforehand, but mandatory to attend lab session once a week
Upload code on Moodle for at least 2 programs per week, and self-certify to TA that lab is complete
before you leave (you can leave early if you are done)
TA will assign grade of 0, 1 or 2 for lab submissions based on checking student code at high level
If absent due to unavoidable reasons, contact TA over email and show progress later (before next week)
Total weekly lab marks on Moodle = 2 marks for each of 9 weekly labs + 2 marks bonus for those with
full lab attendance = 20 marks = 10% weightage in final grade
DETAILED
SCHEDULE D1 lecture: 11:05-12:30
D2 lecture: 2-3:25pm
All lectures in LA202
Semester Starts D1 Lec All labs 8:30-10:30pm
Holi D1 Lec D2 Lec Labs in new CSE Bldg
D1 Lab
D2 Lab
D2 Lec D1 Lec D1 Lec
D2 Lab D1 Lab D2 Lec
D2 Lec Gudi D1 Lec
Padwa D1 Lab QUIZ 1
D2 Lab D2 Lec
D2 Lec D1 Lec D1 Lec
D2 Lec
LAB QUIZ 1 (MON, TUE, THU, FRI)
Mahavir D1 Lec Good
Jayanti D2 Lab Friday
D1 Lab
D2 Lec D1 Lec
D1 Lec D1 Lab
D2 Lab D2 Lec
D2 Lec Id-ul-Fitr
Midsem
(Tue) QUIZ 2 (in midsem week)
Start
D1 Lec
Midsem
End D2 Lec
D2 Lec D1 Lec
Buddha
D2 Lab D1 Lab
Purnima
D1 Lec
D2 Lec D1 Lec D2 Lec
LAB QUIZ 2 (MON, TUE, THU, FRI)
D2 Lec D1 Lec D1 Lec
QUIZ 3
D2 Lab D1 Lab D2 Lec
D2 Lec D1 Lec D1 Lec
D2 Lab D1 Lab D2 Lec
D2 Lec D1 Lec
D2 Lab
D1 Lab D1 Lec
D2 Lec
D1 Lec D1 Lec
D2 Lec D1 Lec (Fri)
D2 Lec
D2 Lec
LAB QUIZ 3 (MON, TUE, THU, FRI)
Endsem
Start QUIZ 4 (in endsem week)
Endsem
End Makeup quiz (theory, lab)
Grading
Deadline