COL106: Data Structures and Algorithms
I semester: 2018-19
Amitabha Bagchi
Class Details
Lecture
Timings: Tue Thu Fri, 11AM-11:55AM.
Room: LH 325.
End sem schedule
- 5PM, Sun 25/11: Major grades published. Regrade window opens. Email queries re major scores will be ignored, file regrade if required. Negative marking rule for frivolous regrade request applies.
- 5PM, Mon 26/11: Regrade window closes
- 5PM, Tue 27/11: Graders finish regrading
- 8PM, Tue 27/11: Final scores updated on the spreadsheet queries invited for incorrect/incomplete entry. This will include normalized reminor scores as well. All score-related queries sent before this will be ignored. All score queries to be emailed to Shubhankar with cc to Bagchi.
- 12PM, Wed 28/11: Query window for score correction closes.
- Evening, Thu 29/11: Grades revealed to students via the institute portal, after moderation. Emails regarding grades will be ignored unless you are failing the class.
Labs
Click here to see your TA assignment and Lab timing and venue.
Important: How to write an email to your TA or to your Professor.
Query form for this class.
Course calendar
Supplementary Material
- Notes. Tablet scratch from lectures held between Minor 2 and the Major exam. Posted 16th November 2018.
- Problem set 4. More trees, some sorting. Posted 28th October 2018, updated 4th November 2018.
- Lecture notes. A complete analysis of randomized quick sort (requires some understanding of Treaps.) Author: Amitabha Bagchi. Dated 13 Oct 2016. Posted on 28th October 2018.
- Problem set 3. Hashing, Skip lists, AVL trees. Posted 28th September 2018.
- Notes. Tablet scratch from lectures held between Minor 1 and Minor 2 as printed on 28th September 2018. Posted 28th September 2018.
- Problem set 2. Hashing, heaps, binary search. Posted 15th September 2018.
- Notes. Tablet scratch from lectures up to Minor 1 as printed on 21st August 2018. Posted 21st August 2018.
- Video. Growable stacks or How to work around the stack full problem without losing much (in an amortised sense). Video dated 18th August 2016. Posted 9th August 2018.
- Problem set. Asymptotic analysis. Posted 8th August 2018.
- Lecture notes. Abstract Data Types: Definitions and Examples. Posted 6th August 2018.
- Video. Using asymptotic analysis to determine if one algorithm is more efficient than the other. Video dated 31st August 2016. Posted 6th August 2018.
- Data Structures and Algorithms in Java by Goodrich and Tamassia. You do not need to buy the book. We will roughly follow an older edition.
Java Lab
Below are the links to the "teach yourself Java" module and the supporting code. You are required to solve all the exercises in the module. The 2016 version has been removed and the version linked here is now the current one.
Programming Assignments
All assignment submission is through moodle only. Emailed assignments will be deleted immediately.
- Assignments 1 and 2. Download common assignment statement, supporting files, faq.
- Assignment 1 due by 11:55PM, Saturday 8th September 2018.
- Assignment 2 due by 11:55PM, Saturday 22nd September 2018.
- Assignments 3 and 4. Download common assignment statement, supporting files for assignment 3, supporting files for assignment 4.
- Assignment 3 due by 11:55PM, Saturday 13th October 2018.
- Assignment 4 due by 11:55PM, Saturday 27th October 2018.
- Assignment 5. Due by 11:55PM, Saturday 11th November 2018. Download assignment statement, supporting files.
Some clarifications regarding the assignments
- For any assignment if you do not appear for the viva you get 0/100. No exceptions. If you are late for the viva you will incur a penalty on the entire assignment (not just the viva part) of at least 50%. You may not be allowed a late viva depending on your TA.
- Only those students who have submitted code within the deadline on moodle will be allowed to appear for the viva. No code on moodle = no viva. No exceptions.
- If you cannot satisfy the TA that you understand your code then you will get low marks, overall you cannot get more than 20/100 in the entire assignment. Even if you have received 50/50 because your program works correctly on the test cases.
- In assignment 1 the TAs have given 50/50 on the test cases to some students who couldn't satisfy them that they understood the code. In such cases a student who doesn't know the code could end up getting 60-70/100. In all such cases I have asked the TAs to reduce your marks.
- From Assignment 2 onward there will be no late submission. If you can't submit by the deadline your assignment will not be accepted. Emailed assignments will be deleted without looking. Also see point #2 above: you will not be allowed to appear for the viva. Please do your work on time. Since Assignment 1 was the first assignment we allowed a late submission but no more.
Evaluation
Lab tests: 6%
Programming assignments (Best 4): 24%
Minor 1: 20%
Minor 2: 20%
Major: 30%
Last updated: Sat Jul 21 16:37:47 IST 2018.